From: Stefan Huber Date: Sun, 26 Dec 2021 00:59:58 +0000 (+0100) Subject: plugins: Add vimspector X-Git-Url: https://git.sthu.org/?p=vimconf.git;a=commitdiff_plain;h=3aa781b69d23148ffd47b6b468f0aeec92dc800e plugins: Add vimspector --- diff --git a/neosnippets/vimspector.json b/neosnippets/vimspector.json new file mode 100644 index 0000000..5517eee --- /dev/null +++ b/neosnippets/vimspector.json @@ -0,0 +1,48 @@ +{ + "configurations": { + "Launch": { + "default": true, + "adapter": "vscode-cpptools", + "filetypes": [ "cpp", "c", "objc", "rust" ], + "configuration": { + "request": "launch", + "MIMode": "gdb", + "program": "${fileBasenameNoExtension}", + "args": [ ], + "environment": [ ], + "externalConsole": true + } + }, + "Attach": { + "adapter": "vscode-cpptools", + "filetypes": [ "cpp", "c", "objc", "rust" ], + "configuration": { + "request": "attach", + "MIMode": "gdb", + "program": "${fileBasenameNoExtension}" + } + }, + "Python: Attach To Vim": { + "adapter": "multi-session", + "filetypes": [ "python" ], + "variables": { + "port": "5678", + "host": "localhost" + }, + "configuration": { + "request": "attach" + } + }, + "Python: Run current script": { + "default": true, + "adapter": "debugpy", + "filetypes": [ "python" ], + "configuration": { + "request": "launch", + "program": "${file}", + "args": [ "*${args:--update-gadget-config}" ], + "justMyCode#json": "${justMyCode:true}" + } + } + } +} diff --git a/plugins-noroot-nolowendbox.vim b/plugins-noroot-nolowendbox.vim index 602724e..f802c9c 100644 --- a/plugins-noroot-nolowendbox.vim +++ b/plugins-noroot-nolowendbox.vim @@ -13,6 +13,7 @@ endif Plug 'artur-shaik/vim-javacomplete2', {'for': 'java'} Plug 'neomake/neomake' +Plug 'puremourning/vimspector' " Prevent slow foling update, e.g., for vimtex Plug 'Konfekt/FastFold' @@ -240,4 +241,35 @@ EOF let g:vimtex_fold_enabled = 1 let g:vimtex_fold_levelmarker = '➜' + au FileType c,cpp,obj,java,python packadd! vimspector + let g:vimspector_install_gadgets = [ 'debugpy', 'vscode-cpptools' ] + "let g:vimspector_enable_mappings = 'VISUAL_STUDIO' + + function VimspectorRestartOrCreateConfig() + if !filereadable('.vimspector.json') + execute 'tabe .vimspector.json' + else + call vimspector#Restart() + endif + endfunction + + nmap dc VimspectorContinue + nmap ds VimspectorStop + nmap dr :call VimspectorRestartOrCreateConfig() + nmap drr :call vimspector#Reset() + nmap dp VimspectorPause + nmap db VimspectorToggleBreakpoint + nmap dcb VimspectorToggleConditionalBreakpoint + nmap dfb VimspectorAddFunctionBreakpoint + nmap dtc VimspectorRunToCursor + nmap do VimspectorStepOver + nmap di VimspectorStepInto + nmap dof VimspectorStepOut + " for normal mode, the word under the cursor + nmap de VimspectorBalloonEval + " for visual mode, the visually selected text + xmap de VimspectorBalloonEval + + au BufNewFile .vimspector.json read ~/.vim/neosnippets/vimspector.json + endfunction