" vimspector - A multi-language debugging system for Vim " Copyright 2018 Ben Jackson " " Licensed under the Apache License, Version 2.0 (the "License"); " you may not use this file except in compliance with the License. " You may obtain a copy of the License at " " http://www.apache.org/licenses/LICENSE-2.0 " " Unless required by applicable law or agreed to in writing, software " distributed under the License is distributed on an "AS IS" BASIS, " WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. " See the License for the specific language governing permissions and " limitations under the License. " Boilerplate {{{ let s:save_cpo = &cpoptions set cpoptions&vim function! s:restore_cpo() let &cpoptions=s:save_cpo unlet s:save_cpo endfunction if exists( 'g:loaded_vimpector' ) call s:restore_cpo() finish endif "}}} " TODO: " - Check Vim version (for jobs) " - Check python support " - Add commands/mappings/menus? let g:loaded_vimpector = 1 let s:mappings = get( g:, 'vimspector_enable_mappings', '' ) nnoremap VimspectorContinue \ :call vimspector#Continue() nnoremap VimspectorStop \ :call vimspector#Stop() nnoremap VimspectorRestart \ :call vimspector#Restart() nnoremap VimspectorPause \ :call vimspector#Pause() nnoremap VimspectorToggleBreakpoint \ :call vimspector#ToggleBreakpoint() nnoremap VimspectorToggleConditionalBreakpoint \ :call vimspector#ToggleBreakpoint( \ { 'condition': input( 'Enter condition expression: ' ), \ 'hitCondition': input( 'Enter hit count expression: ' ) } \ ) nnoremap VimspectorAddFunctionBreakpoint \ :call vimspector#AddFunctionBreakpoint( expand( '' ) ) nnoremap VimspectorStepOver \ :call vimspector#StepOver() nnoremap VimspectorStepInto \ :call vimspector#StepInto() nnoremap VimspectorStepOut \ :call vimspector#StepOut() if s:mappings ==# 'VISUAL_STUDIO' nmap VimspectorContinue nmap VimspectorStop nmap VimspectorRestart nmap VimspectorPause nmap VimspectorToggleBreakpoint nmap VimspectorAddFunctionBreakpoint nmap VimspectorStepOver nmap VimspectorStepInto nmap VimspectorStepOut elseif s:mappings ==# 'HUMAN' nmap VimspectorContinue nmap VimspectorStop nmap VimspectorRestart nmap VimspectorPause nmap VimspectorToggleBreakpoint nmap VimspectorToggleConditionalBreakpoint nmap VimspectorAddFunctionBreakpoint nmap VimspectorStepOver nmap VimspectorStepInto nmap VimspectorStepOut endif command! -bar -nargs=1 -complete=custom,vimspector#CompleteExpr \ VimspectorWatch \ call vimspector#AddWatch( ) command! -bar -nargs=1 -complete=custom,vimspector#CompleteOutput \ VimspectorShowOutput \ call vimspector#ShowOutput( ) command! -bar -nargs=1 -complete=custom,vimspector#CompleteExpr \ VimspectorEval \ call vimspector#Evaluate( ) command! -bar \ VimspectorReset \ call vimspector#Reset() " boilerplate {{{ call s:restore_cpo() " }}}