From 8e2d352eb8958693ea2021f7f43ae0418dcb083b Mon Sep 17 00:00:00 2001 From: Ben Jackson Date: Mon, 30 Nov 2020 10:19:02 +0000 Subject: [PATCH] Fix local adapter specs Somehow we lost the ability to define adapters in the local .vimspector.json, I think when GetConfigurations was added. Put that feature back. --- autoload/vimspector.vim | 4 ++-- python3/vimspector/debug_session.py | 7 ++++--- support/test/python/simple_python/.vimspector.json | 12 ++++++++++++ 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/autoload/vimspector.vim b/autoload/vimspector.vim index 3886924..35ecd03 100644 --- a/autoload/vimspector.vim +++ b/autoload/vimspector.vim @@ -296,8 +296,8 @@ function! vimspector#GetConfigurations() abort return endif let configurations = py3eval( - \ 'list( _vimspector_session.GetConfigurations()[ 1 ].keys() )' - \ . ' if _vimspector_session else []' ) + \ 'list( _vimspector_session.GetConfigurations( {} )[ 1 ].keys() )' + \ . ' if _vimspector_session else []' ) return configurations endfunction diff --git a/python3/vimspector/debug_session.py b/python3/vimspector/debug_session.py index b5387ee..63cd140 100644 --- a/python3/vimspector/debug_session.py +++ b/python3/vimspector/debug_session.py @@ -79,7 +79,7 @@ class DebugSession( object ): self._server_capabilities = {} self.ClearTemporaryBreakpoints() - def GetConfigurations( self ): + def GetConfigurations( self, adapters ): current_file = utils.GetBufferFilepath( vim.current.buffer ) filetypes = utils.GetBufferFiletypes( vim.current.buffer ) configurations = {} @@ -93,7 +93,8 @@ class DebugSession( object ): with open( launch_config_file, 'r' ) as f: database = json.loads( minify( f.read() ) ) - configurations.update( database.get( 'configurations' or {} ) ) + configurations.update( database.get( 'configurations' ) or {} ) + adapters.update( database.get( 'adapters' ) or {} ) return launch_config_file, configurations @@ -109,8 +110,8 @@ class DebugSession( object ): self._adapter = None current_file = utils.GetBufferFilepath( vim.current.buffer ) - launch_config_file, configurations = self.GetConfigurations() adapters = {} + launch_config_file, configurations = self.GetConfigurations( adapters ) if not configurations: utils.UserMessage( 'Unable to find any debug configurations. ' diff --git a/support/test/python/simple_python/.vimspector.json b/support/test/python/simple_python/.vimspector.json index aba0578..5eadb0c 100644 --- a/support/test/python/simple_python/.vimspector.json +++ b/support/test/python/simple_python/.vimspector.json @@ -1,5 +1,17 @@ { + "$schema": "https://puremourning.github.io/vimspector/schema/vimspector.schema.json", + "adapters": { + "test_custom": { + "command": "This is a test" + } + }, "configurations": { + "Use custom gadget": { + "adapter": "test_custom", + "configuration": { + "request": "launch" + } + }, // This is a comment. "run legacy vscode-python": { "adapter": "vscode-python", /* coment goes here too */