Skip to content

VimspectorBalloonEval throws error when evaluating expression with quotes #460

@notpeelz

Description

@notpeelz

Describe the bug

I use Neovim and I mapped <Plug>VimspectorBalloonEval to <Space>de.
In a C# project, when I trigger the mapping over an expression containing quotes, I get this error:
image

Minimal reproduction

  • Does your issue reproduce using vim --clean -Nu /path/to/vimspector/support/minimal_vimrc ? Yes
  • If you are using Neovim, does your issue reproduce using Vim? Yes

List of steps to reproduce

  1. Create a new C# project: dotnet new console --name test
  2. Build the project with dotnet build
  3. Run vim ---clean Nu /path/to/vimspector/support/minimal_vimrc
  4. Replace the Main function with this:
var d = new System.Collections.Generic.Dictionary<string, string> { ["foo"] = "bar" };
Console.WriteLine(d["foo"]);
  1. Type :vmap <Space>de <Plug>VimspectorBalloonEval
  2. Press F5 to start the debugger
  3. Select d["foo"] in visual mode
  4. Press <Space>de

Vimspector config file

{
  "configurations": {
    "launch - netcoredbg": {
      "adapter": "netcoredbg",
      "configuration": {
        "request": "launch",
        "program": "${workspaceRoot}/bin/Debug/net5.0/test.dll",
        "args": [],
        "stopAtEntry": true,
        "cwd": "${workspaceRoot}",
        "env": {}
      }
    }
  }
}

Expected behaviour

I expected a balloon to show up with "bar"

Actual behaviour

Instead I get this error:

Error detected while processing function vimspector#ShowEvalBalloon[10]..provider#python3#Call:
line   18:
Error invoking 'python_eval' on channel 6 (python3-script-host):
error caught in request handler 'python_eval ['_vimspector_session.ShowEvalBalloon( int( vim.eval( "winnr()" ) ), "d["foo"]", 0 )']':
Traceback (most recent call last):

  File "/usr/lib/python3/dist-packages/neovim/plugin/script_host.py", line 166, in python_eval
    return eval(expr, self.module.__dict__)

  File "<string>", line 1

    _vimspector_session.ShowEvalBalloon( int( vim.eval( "winnr()" ) ), "d["foo"]", 0 )

                                                                             ^

SyntaxError: invalid syntax
.vimspector.log
2021-09-20 21:17:50,344 - INFO - **** INITIALISING NEW VIMSPECTOR SESSION ****
2021-09-20 21:17:50,344 - INFO - API is: neo
2021-09-20 21:17:50,344 - INFO - VIMSPECTOR_HOME = /home/peelz/.vim/plugged/vimspector
2021-09-20 21:17:50,346 - INFO - gadgetDir = /home/peelz/.vim/plugged/vimspector/gadgets/linux
2021-09-20 21:17:50,347 - INFO - User requested start debug session with {}
2021-09-20 21:17:50,348 - DEBUG - Reading configurations from: None
2021-09-20 21:17:50,348 - DEBUG - Reading configurations from: /home/peelz/test/.vimspector.json
2021-09-20 21:17:50,348 - DEBUG - Reading gadget config: /home/peelz/.vim/plugged/vimspector/gadgets/linux/.gadgets.json
2021-09-20 21:17:50,349 - DEBUG - Reading gadget config: None
2021-09-20 21:17:50,349 - INFO - Configuration: {"adapter": "netcoredbg", "configuration": {"request": "launch", "program": "/home/peelz/test/bin/Debug/net5.0/test.dll", "args": [], "stopAtEntry": true, "cwd": "/home/peelz/test", "env": {}}}
2021-09-20 21:17:50,349 - INFO - Adapter: {"attach": {"pidProperty": "processId", "pidSelect": "ask"}, "command": ["/home/peelz/.vim/plugged/vimspector/gadgets/linux/netcoredbg/netcoredbg", "--interpreter=vscode"], "configuration": {"cwd": "/home/peelz/test"}, "name": "netcoredbg"}
2021-09-20 21:17:50,350 - DEBUG - min_width/height: 149/50, actual: 213/39 - result: horizontal
2021-09-20 21:17:50,370 - DEBUG - LAUNCH!
2021-09-20 21:17:50,370 - INFO - Starting debug adapter with: {"attach": {"pidProperty": "processId", "pidSelect": "ask"}, "command": ["/home/peelz/.vim/plugged/vimspector/gadgets/linux/netcoredbg/netcoredbg", "--interpreter=vscode"], "configuration": {"cwd": "/home/peelz/test"}, "name": "netcoredbg"}
2021-09-20 21:17:50,370 - DEBUG - Connection Type: neojob
2021-09-20 21:17:50,371 - INFO - Debug Adapter Started
2021-09-20 21:17:50,372 - DEBUG - Sending Message: {"command": "initialize", "arguments": {"adapterID": "netcoredbg", "clientID": "vimspector", "clientName": "vimspector", "linesStartAt1": true, "columnsStartAt1": true, "locale": "en_GB", "pathFormat": "path", "supportsVariableType": true, "supportsVariablePaging": false, "supportsRunInTerminalRequest": true}, "seq": 0, "type": "request"}
2021-09-20 21:17:50,375 - DEBUG - Message received: {'seq': 1, 'body': {'capabilities': {'supportTerminateDebuggee': True, 'supportsConditionalBreakpoints': True, 'supportsConfigurationDoneRequest': True, 'supportsExceptionInfoRequest': True, 'supportsFunctionBreakpoints': True, 'supportsSetVariable': True}}, 'event': 'capabilities', 'type': 'event'}
2021-09-20 21:17:50,375 - DEBUG - Message received: {'seq': 2, 'body': {}, 'event': 'initialized', 'type': 'event'}
2021-09-20 21:17:50,375 - DEBUG - Sending Message: {"command": "setExceptionBreakpoints", "arguments": {"filters": []}, "seq": 1, "type": "request"}
2021-09-20 21:17:50,375 - DEBUG - Message received: {'seq': 3, 'body': {'supportTerminateDebuggee': True, 'supportsConditionalBreakpoints': True, 'supportsConfigurationDoneRequest': True, 'supportsExceptionInfoRequest': True, 'supportsFunctionBreakpoints': True, 'supportsSetVariable': True}, 'command': 'initialize', 'request_seq': 0, 'success': True, 'type': 'response'}
2021-09-20 21:17:50,376 - DEBUG - Sending Message: {"command": "launch", "arguments": {"cwd": "/home/peelz/test", "request": "launch", "program": "/home/peelz/test/bin/Debug/net5.0/test.dll", "args": [], "stopAtEntry": true, "env": {}, "name": "test"}, "seq": 2, "type": "request"}
2021-09-20 21:17:50,377 - DEBUG - Message received: {'seq': 4, 'body': {'supportsExceptionOptions': False}, 'command': 'setExceptionBreakpoints', 'request_seq': 1, 'success': True, 'type': 'response'}
2021-09-20 21:17:50,377 - DEBUG - Sending Message: {"command": "configurationDone", "seq": 3, "type": "request"}
2021-09-20 21:17:50,377 - DEBUG - Message received: {'seq': 5, 'body': {}, 'command': 'launch', 'request_seq': 2, 'success': True, 'type': 'response'}
2021-09-20 21:17:50,457 - DEBUG - Message received: {'seq': 6, 'body': {'isLocalProcess': True, 'name': 'dotnet', 'startMethod': 'launch', 'systemProcessId': 16473}, 'event': 'process', 'type': 'event'}
2021-09-20 21:17:50,457 - INFO - User Msg: The debuggee was started: dotnet
2021-09-20 21:17:50,458 - DEBUG - Message received: {'seq': 7, 'body': {}, 'command': 'configurationDone', 'request_seq': 3, 'success': True, 'type': 'response'}
2021-09-20 21:17:50,458 - DEBUG - Sending Message: {"command": "threads", "seq": 4, "type": "request"}
2021-09-20 21:17:50,459 - DEBUG - Message received: {'seq': 8, 'body': {'threads': [{'id': 16473, 'name': '<No name>'}, {'id': 16490, 'name': '<No name>'}]}, 'command': 'threads', 'request_seq': 4, 'success': True, 'type': 'response'}
2021-09-20 21:17:50,502 - DEBUG - Message received: {'seq': 9, 'body': {'module': {'id': 'dee9da8f-6d71-4c89-9937-5532b393e277', 'name': 'System.Private.CoreLib.dll', 'path': '/usr/share/dotnet/shared/Microsoft.NETCore.App/5.0.10/System.Private.CoreLib.dll', 'symbolStatus': 'Symbols not found.'}, 'reason': 'new'}, 'event': 'module', 'type': 'event'}
2021-09-20 21:17:50,505 - DEBUG - Message received: {'seq': 10, 'body': {'reason': 'started', 'threadId': 16473}, 'event': 'thread', 'type': 'event'}
2021-09-20 21:17:50,506 - DEBUG - Sending Message: {"command": "threads", "seq": 5, "type": "request"}
2021-09-20 21:17:50,507 - DEBUG - Message received: {'seq': 11, 'body': {'threads': [{'id': 16491, 'name': '<No name>'}, {'id': 16473, 'name': '<No name>'}, {'id': 16490, 'name': '<No name>'}]}, 'command': 'threads', 'request_seq': 5, 'success': True, 'type': 'response'}
2021-09-20 21:17:50,543 - DEBUG - Message received: {'seq': 12, 'body': {'module': {'id': '95e7ffea-cf3a-4b4d-8e5a-f604e8d0557f', 'name': 'test.dll', 'path': '/home/peelz/test/bin/Debug/net5.0/test.dll', 'symbolStatus': 'Symbols loaded.'}, 'reason': 'new'}, 'event': 'module', 'type': 'event'}
2021-09-20 21:17:50,547 - DEBUG - Message received: {'seq': 13, 'body': {'module': {'id': '2a56f201-74df-4134-a995-75fa2736e743', 'name': 'System.Runtime.dll', 'path': '/usr/share/dotnet/shared/Microsoft.NETCore.App/5.0.10/System.Runtime.dll', 'symbolStatus': 'Symbols not found.'}, 'reason': 'new'}, 'event': 'module', 'type': 'event'}
2021-09-20 21:17:50,556 - DEBUG - Message received: {'seq': 14, 'body': {'module': {'id': '0be4a48c-abea-4244-941c-7c388f18ff5c', 'name': 'System.Collections.dll', 'path': '/usr/share/dotnet/shared/Microsoft.NETCore.App/5.0.10/System.Collections.dll', 'symbolStatus': 'Symbols not found.'}, 'reason': 'new'}, 'event': 'module', 'type': 'event'}
2021-09-20 21:17:50,558 - DEBUG - Message received: {'seq': 15, 'body': {'module': {'id': '24acb732-7e6e-4cfb-b741-8ab947e66fa7', 'name': 'System.Console.dll', 'path': '/usr/share/dotnet/shared/Microsoft.NETCore.App/5.0.10/System.Console.dll', 'symbolStatus': 'Symbols not found.'}, 'reason': 'new'}, 'event': 'module', 'type': 'event'}
2021-09-20 21:17:50,563 - DEBUG - Message received: {'seq': 16, 'body': {'allThreadsStopped': True, 'description': '', 'reason': 'entry', 'text': '', 'threadId': 16473}, 'event': 'stopped', 'type': 'event'}
2021-09-20 21:17:50,563 - WARNING - User Msg: Paused in thread 16473 due to entry
2021-09-20 21:17:50,566 - DEBUG - Sending Message: {"command": "threads", "seq": 6, "type": "request"}
2021-09-20 21:17:50,567 - DEBUG - Message received: {'seq': 17, 'body': {'threads': [{'id': 16491, 'name': '<No name>'}, {'id': 16473, 'name': '<No name>'}, {'id': 16490, 'name': '<No name>'}]}, 'command': 'threads', 'request_seq': 6, 'success': True, 'type': 'response'}
2021-09-20 21:17:50,567 - DEBUG - Sending Message: {"command": "stackTrace", "arguments": {"threadId": 16473}, "seq": 7, "type": "request"}
2021-09-20 21:17:50,569 - DEBUG - Message received: {'seq': 18, 'body': {'stackFrames': [{'column': 9, 'endColumn': 10, 'endLine': 8, 'id': 0, 'line': 8, 'moduleId': '95e7ffea-cf3a-4b4d-8e5a-f604e8d0557f', 'name': 'test.Program.Main()', 'source': {'name': 'Program.cs', 'path': '/home/peelz/test/Program.cs'}}], 'totalFrames': 1}, 'command': 'stackTrace', 'request_seq': 7, 'success': True, 'type': 'response'}
2021-09-20 21:17:50,578 - DEBUG - Sending Message: {"command": "scopes", "arguments": {"frameId": 0}, "seq": 8, "type": "request"}
2021-09-20 21:17:50,582 - DEBUG - Message received: {'seq': 19, 'body': {'scopes': [{'name': 'Locals', 'namedVariables': 2, 'variablesReference': 1}]}, 'command': 'scopes', 'request_seq': 8, 'success': True, 'type': 'response'}
2021-09-20 21:17:50,582 - DEBUG - Sending Message: {"command": "variables", "arguments": {"variablesReference": 1}, "seq": 9, "type": "request"}
2021-09-20 21:17:50,584 - DEBUG - Message received: {'seq': 20, 'body': {'variables': [{'evaluateName': 'args', 'name': 'args', 'type': 'string[]', 'value': '{string[0]}', 'variablesReference': 0}, {'evaluateName': 'd', 'name': 'd', 'type': 'System.Collections.Generic.Dictionary<string, string>', 'value': 'null', 'variablesReference': 0}]}, 'command': 'variables', 'request_seq': 9, 'success': True, 'type': 'response'}
2021-09-20 21:17:52,176 - DEBUG - Sending Message: {"command": "next", "arguments": {"threadId": 16473}, "seq": 10, "type": "request"}
2021-09-20 21:17:52,187 - DEBUG - Message received: {'seq': 21, 'body': {'allThreadsContinued': True, 'threadId': 16473}, 'event': 'continued', 'type': 'event'}
2021-09-20 21:17:52,190 - DEBUG - Message received: {'seq': 22, 'body': {}, 'command': 'next', 'request_seq': 10, 'success': True, 'type': 'response'}
2021-09-20 21:17:52,191 - DEBUG - Message received: {'seq': 23, 'body': {'allThreadsStopped': True, 'description': '', 'reason': 'step', 'text': '', 'threadId': 16473}, 'event': 'stopped', 'type': 'event'}
2021-09-20 21:17:52,191 - WARNING - User Msg: Paused in thread 16473 due to step
2021-09-20 21:17:52,195 - DEBUG - Sending Message: {"command": "threads", "seq": 11, "type": "request"}
2021-09-20 21:17:52,196 - DEBUG - Message received: {'seq': 24, 'body': {'threads': [{'id': 16491, 'name': '<No name>'}, {'id': 16473, 'name': '<No name>'}, {'id': 16490, 'name': '<No name>'}]}, 'command': 'threads', 'request_seq': 11, 'success': True, 'type': 'response'}
2021-09-20 21:17:52,196 - DEBUG - Sending Message: {"command": "stackTrace", "arguments": {"threadId": 16473}, "seq": 12, "type": "request"}
2021-09-20 21:17:52,197 - DEBUG - Message received: {'seq': 25, 'body': {'stackFrames': [{'column': 13, 'endColumn': 99, 'endLine': 9, 'id': 1, 'line': 9, 'moduleId': '95e7ffea-cf3a-4b4d-8e5a-f604e8d0557f', 'name': 'test.Program.Main()', 'source': {'name': 'Program.cs', 'path': '/home/peelz/test/Program.cs'}}], 'totalFrames': 1}, 'command': 'stackTrace', 'request_seq': 12, 'success': True, 'type': 'response'}
2021-09-20 21:17:52,200 - DEBUG - Sending Message: {"command": "scopes", "arguments": {"frameId": 1}, "seq": 13, "type": "request"}
2021-09-20 21:17:52,203 - DEBUG - Message received: {'seq': 26, 'body': {'scopes': [{'name': 'Locals', 'namedVariables': 2, 'variablesReference': 1}]}, 'command': 'scopes', 'request_seq': 13, 'success': True, 'type': 'response'}
2021-09-20 21:17:52,203 - DEBUG - Sending Message: {"command": "variables", "arguments": {"variablesReference": 1}, "seq": 14, "type": "request"}
2021-09-20 21:17:52,205 - DEBUG - Message received: {'seq': 27, 'body': {'variables': [{'evaluateName': 'args', 'name': 'args', 'type': 'string[]', 'value': '{string[0]}', 'variablesReference': 0}, {'evaluateName': 'd', 'name': 'd', 'type': 'System.Collections.Generic.Dictionary<string, string>', 'value': 'null', 'variablesReference': 0}]}, 'command': 'variables', 'request_seq': 14, 'success': True, 'type': 'response'}
2021-09-20 21:17:52,944 - DEBUG - Sending Message: {"command": "next", "arguments": {"threadId": 16473}, "seq": 15, "type": "request"}
2021-09-20 21:17:52,948 - DEBUG - Message received: {'seq': 28, 'body': {'allThreadsContinued': True, 'threadId': 16473}, 'event': 'continued', 'type': 'event'}
2021-09-20 21:17:52,949 - DEBUG - Message received: {'seq': 29, 'body': {}, 'command': 'next', 'request_seq': 15, 'success': True, 'type': 'response'}
2021-09-20 21:17:52,950 - DEBUG - Message received: {'seq': 30, 'body': {'allThreadsStopped': True, 'description': '', 'reason': 'step', 'text': '', 'threadId': 16473}, 'event': 'stopped', 'type': 'event'}
2021-09-20 21:17:52,950 - WARNING - User Msg: Paused in thread 16473 due to step
2021-09-20 21:17:52,953 - DEBUG - Sending Message: {"command": "threads", "seq": 16, "type": "request"}
2021-09-20 21:17:52,954 - DEBUG - Message received: {'seq': 31, 'body': {'threads': [{'id': 16491, 'name': '<No name>'}, {'id': 16473, 'name': '<No name>'}, {'id': 16498, 'name': '<No name>'}, {'id': 16490, 'name': '<No name>'}]}, 'command': 'threads', 'request_seq': 16, 'success': True, 'type': 'response'}
2021-09-20 21:17:52,954 - DEBUG - Sending Message: {"command": "stackTrace", "arguments": {"threadId": 16473}, "seq": 17, "type": "request"}
2021-09-20 21:17:52,955 - DEBUG - Message received: {'seq': 32, 'body': {'stackFrames': [{'column': 13, 'endColumn': 41, 'endLine': 10, 'id': 2, 'line': 10, 'moduleId': '95e7ffea-cf3a-4b4d-8e5a-f604e8d0557f', 'name': 'test.Program.Main()', 'source': {'name': 'Program.cs', 'path': '/home/peelz/test/Program.cs'}}], 'totalFrames': 1}, 'command': 'stackTrace', 'request_seq': 17, 'success': True, 'type': 'response'}
2021-09-20 21:17:52,957 - DEBUG - Sending Message: {"command": "scopes", "arguments": {"frameId": 2}, "seq": 18, "type": "request"}
2021-09-20 21:17:52,959 - DEBUG - Message received: {'seq': 33, 'body': {'scopes': [{'name': 'Locals', 'namedVariables': 2, 'variablesReference': 1}]}, 'command': 'scopes', 'request_seq': 18, 'success': True, 'type': 'response'}
2021-09-20 21:17:52,959 - DEBUG - Sending Message: {"command": "variables", "arguments": {"variablesReference": 1}, "seq": 19, "type": "request"}
2021-09-20 21:17:52,961 - DEBUG - Message received: {'seq': 34, 'body': {'variables': [{'evaluateName': 'args', 'name': 'args', 'type': 'string[]', 'value': '{string[0]}', 'variablesReference': 0}, {'evaluateName': 'd', 'name': 'd', 'namedVariables': 27, 'type': 'System.Collections.Generic.Dictionary<string, string>', 'value': '{System.Collections.Generic.Dictionary<string, string>}', 'variablesReference': 2}]}, 'command': 'variables', 'request_seq': 19, 'success': True, 'type': 'response'}
2021-09-20 21:17:57,381 - DEBUG - Visual selection: ['d["foo"]'] from 9/30 -> 9/37

Environment

  • Version of Vimspector: (e.g. output of git rev-parse HEAD if cloned or the
    name of the tarball used to install otherwise)

    689c077

  • Output of :VimspectorDebugInfo

--------------------------------------------------------------------------------
{
  "supportTerminateDebuggee": true,
  "supportsConditionalBreakpoints": true,
  "supportsConfigurationDoneRequest": true,
  "supportsExceptionInfoRequest": true,
  "supportsFunctionBreakpoints": true,
  "supportsSetVariable": true
}
--------------------------------------------------------------------------------
  • Output of nvim --version
NVIM v0.6.0-dev+274-g6188926e0
Build type: RelWithDebInfo
LuaJIT 2.1.0-beta3
Compilation: /usr/bin/gcc-11 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 -DNVIM_TS_HAS_SET_MATCH_LIMIT -O2 -g -Og -g -Wall -Wextra -pedantic -Wno-unused-parameter -Wstrict-prototypes -std=gnu99 -Wshadow -Wconversion -Wmissing-prototypes -Wimplicit-fallthrough -Wvla -fstack-protector-strong -fno-common -fdiagnostics-color=always -DINCLUDE_GENERATED_DECLARATIONS -D_GNU_SOURCE -DNVIM_MSGPACK_HAS_FLOAT32 -DNVIM_UNIBI_HAS_VAR_FROM -DMIN_LOG_LEVEL=3 -I/home/runner/work/neovim/neovim/build/config -I/home/runner/work/neovim/neovim/src -I/home/runner/work/neovim/neovim/.deps/usr/include -I/usr/include -I/home/runner/work/neovim/neovim/build/src/nvim/auto -I/home/runner/work/neovim/neovim/build/include
Compiled by runner@fv-az65-525

Features: +acl +iconv +tui
See ":help feature-compile"

   system vimrc file: "$VIM/sysinit.vim"
  fall-back for $VIM: "
/home/runner/work/neovim/neovim/build/nvim.AppDir/usr/share/nvim"

Run :checkhealth for more info
  • Output of which nvim:
/usr/bin/nvim
  • Output of :py3 print( __import__( 'sys' ).version ):
3.7.3 (default, Jan 22 2021, 20:04:44)
[GCC 8.3.0]
  • Output of :py3 import vim:

    Nothing

  • Output of :py3 import vimspector:

    Nothing

  • For neovim: output of :checkhealth

:checkhealth
health#lsp#check
========================================================================
## Checking language server client configuration
  - INFO: LSP log level : WARN
  - INFO: Log path: /home/peelz/.cache/nvim/lsp.log
  - INFO: Log size: 0 KB

health#nvim#check
========================================================================
## Configuration
  - OK: no issues found

## Performance
  - OK: Build type: RelWithDebInfo

## Remote Plugins
  - OK: Up to date

## terminal
  - INFO: key_backspace (kbs) terminfo entry: key_backspace=\177
  - INFO: key_dc (kdch1) terminfo entry: key_dc=\E[3~
  - INFO: $SSH_TTY='/dev/pts/0'

## tmux
  - OK: escape-time: 0
  - INFO: Checking stuff
  - OK: focus-events: on
  - INFO: $TERM: screen-256color
  - WARNING: Neither Tc nor RGB capability set. True colors are disabled. |'termguicolors'| won't work properly.
    - ADVICE:
      - Put this in your ~/.tmux.conf and replace XXX by your $TERM outside of tmux:
          set-option -sa terminal-overrides ',XXX:RGB'
      - For older tmux versions use this instead:
          set-option -ga terminal-overrides ',XXX:Tc'

health#provider#check
========================================================================
## Clipboard (optional)
  - OK: Clipboard tool found: tmux

## Python 2 provider (optional)
  - INFO: `g:python_host_prog` is not set.  Searching for python2 in the environment.
  - INFO: Multiple python2 executables found.  Set `g:python_host_prog` to avoid surprises.
  - INFO: Executable: /usr/bin/python2
  - INFO: Other python executable: /bin/python2
  - INFO: Python version: 2.7.16
  - INFO: pynvim version: 0.3.0 (outdated; from /usr/lib/python2.7/dist-packages/neovim)
  - WARNING: Latest pynvim is NOT installed: 0.4.3

## Python 3 provider (optional)
  - INFO: `g:python3_host_prog` is not set.  Searching for python3 in the environment.
  - INFO: Multiple python3 executables found.  Set `g:python3_host_prog` to avoid surprises.
  - INFO: Executable: /usr/bin/python3
  - INFO: Other python executable: /bin/python3
  - INFO: Python version: 3.7.3
  - INFO: pynvim version: 0.3.0 (outdated; from /usr/lib/python3/dist-packages/neovim)
  - WARNING: Latest pynvim is NOT installed: 0.4.3

## Python virtualenv
  - OK: no $VIRTUAL_ENV

## Ruby provider (optional)
  - WARNING: `ruby` and `gem` must be in $PATH.
    - ADVICE:
      - Install Ruby and verify that `ruby` and `gem` commands work.

## Node.js provider (optional)
  - WARNING: `node` and `npm` (or `yarn`) must be in $PATH.
    - ADVICE:
      - Install Node.js and verify that `node` and `npm` (or `yarn`) commands work.

## Perl provider (optional)
  - ERROR: perl provider error:
    - ADVICE:
      - "Neovim::Ext" cpan module is not installed

health#treesitter#check
========================================================================
## Checking treesitter configuration
  - INFO: Runtime ABI version : 13
  - OK: Loaded parser for c: ABI version 13
  • Operating system: and version

    linux 4.19.0-17-amd64 (Debian 10)

Declaration

Please complete the following declaration. If this declaration is not completed, your issue may be closed without comment.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Severity 2The plugin or a workflow is inconvenient or occasionally brokenbugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions