From c05655d79d748b6942ee6e7aaed0eb7ff47d9f7f Mon Sep 17 00:00:00 2001 From: Daniel Morris Date: Thu, 5 Jul 2018 10:32:48 -0500 Subject: [PATCH 1/8] Add node support --- README.md | 6 +- autoload/vebugger/ninspect.vim | 134 +++++++++++++++++++++++++++++++++ doc/vebugger.txt | 16 ++++ plugin/vebugger.vim | 1 + 4 files changed, 156 insertions(+), 1 deletion(-) create mode 100644 autoload/vebugger/ninspect.vim diff --git a/README.md b/README.md index 6c3589a..09dd42e 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,9 @@ +NOTE: I forked to add node.js support for node 8 and later +currently the debugger stops at the first line. I'll fix this eventually. and then see if I can get this merged back into the original + + INTRODUCTION ============ - Screencast - https://vimeo.com/95775461 Vebugger is yet another debugger frontend plugin for Vim, created because I @@ -21,6 +24,7 @@ interactive shell debugger, and comes with implementations for: * Mdbg - a .NET debugger(Windows only) * PDB - a Python module for debugging Python scripts * RDebug - a Ruby command line option for debugging Ruby scripts + * NInspect - node inspect for using node.js with the inspect protocal (tested with node.8) Other implementations can be added with ease, and I will accept pull requests that add such implementations as long as they use Vim's |license|. diff --git a/autoload/vebugger/ninspect.vim b/autoload/vebugger/ninspect.vim new file mode 100644 index 0000000..38cc453 --- /dev/null +++ b/autoload/vebugger/ninspect.vim @@ -0,0 +1,134 @@ +function! vebugger#ninspect#start(entryFile,args) + let l:debugger=vebugger#std#startDebugger(shellescape(vebugger#util#getToolFullPath('node',get(a:args,'version'),'node')) + \.' inspect '.a:entryFile.' '.vebugger#util#commandLineArgsForProgram(a:args)) + let l:debugger.state.ninspect={} + let l:debugger.state.std.config.externalFileStop_flowCommand='stepover' "skip external modules + + + call l:debugger.writeLine("$stdout=$stderr") + let l:debugger.pipes.err.annotation = "err&prg\t\t" + if !has('win32') + call vebugger#std#openShellBuffer(l:debugger) + endif + + call l:debugger.addReadHandler(function('vebugger#ninspect#_readProgramOutput')) + call l:debugger.addReadHandler(function('vebugger#ninspect#_readWhere')) + " call l:debugger.addReadHandler(function('vebugger#ninspect#_readEvaluatedExpressions')) + call l:debugger.addReadHandler(function('vebugger#ninspect#_readFinish')) + + call l:debugger.setWriteHandler('std','flow',function('vebugger#ninspect#_writeFlow')) + call l:debugger.setWriteHandler('std','breakpoints',function('vebugger#ninspect#_writeBreakpoints')) + call l:debugger.setWriteHandler('std','evaluateExpressions',function('vebugger#ninspect#_requestEvaluateExpression')) + " call l:debugger.setWriteHandler('std','executeStatements',function('vebugger#ninspect#_executeStatements')) + call l:debugger.setWriteHandler('std','removeAfterDisplayed',function('vebugger#ninspect#_removeAfterDisplayed')) + + call l:debugger.setWriteHandler('std','closeDebugger',function('vebugger#ninspect#_closeDebugger')) + + call l:debugger.generateWriteActionsFromTemplate() + + call l:debugger.std_addAllBreakpointActions(g:vebugger_breakpoints) + + " Don't stop at the beginning + " call l:debugger.writeLine('cont') + + return l:debugger +endfunction + +function! vebugger#ninspect#_readProgramOutput(pipeName,line,readResult,debugger) + if 'err'==a:pipeName + let a:readResult.std.programOutput={'line':a:line} + else + let l:matches=matchlist(a:line,'\v(^........debug\>.............|^........|^)\<\s(.*)$') + if 3.............\<\sWaiting\sfor\sthe\sdebugger\sto\sdisconnect...') + if 1 + call vebugger#ninspect#start('test.js',{'args':['hello','world']}) +< +The supported extra arguments are: +* "args": Command line arguments for the debugged script +* "version": The version of the debugger to run + +NInspect can also be launched with the *VBGstartRDebug* command: +> + VBGstartNInspect script.js hello world +< + USING THE DEBUGGERS *vebugger-usage* *vebugger-commands* diff --git a/plugin/vebugger.vim b/plugin/vebugger.vim index 6ea2076..bb53086 100644 --- a/plugin/vebugger.vim +++ b/plugin/vebugger.vim @@ -24,6 +24,7 @@ command! -range -nargs=0 VBGrawWriteSelectedText call vebugger#writeLine(vebugge command! -nargs=+ -complete=file VBGstartGDB call vebugger#gdb#start([][0],{'args':[][1:]}) command! -nargs=1 -complete=file VBGattachGDB call vebugger#gdb#searchAndAttach() command! -nargs=+ -complete=file VBGstartRDebug call vebugger#rdebug#start([][0],{'args':[][1:]}) +command! -nargs=+ -complete=file VBGstartNInspect call vebugger#ninspect#start([][0],{'args':[][1:]}) command! -nargs=+ -complete=file VBGstartPDB call vebugger#pdb#start([][0],{'args':[][1:]}) command! -nargs=+ -complete=file VBGstartPDB2 call vebugger#pdb#start([][0],{'args':[][1:],'version':'2'}) command! -nargs=+ -complete=file VBGstartPDB3 call vebugger#pdb#start([][0],{'args':[][1:],'version':'3'}) From 4694c8974c4d385631911a0e2454bb6e7c441947 Mon Sep 17 00:00:00 2001 From: Daniel Morris Date: Mon, 9 Jul 2018 16:32:26 -0500 Subject: [PATCH 2/8] Just some intermediate stuff --- autoload/vebugger/ninspect.vim | 96 ++++++++++++++++++++++++++++------ 1 file changed, 80 insertions(+), 16 deletions(-) diff --git a/autoload/vebugger/ninspect.vim b/autoload/vebugger/ninspect.vim index 38cc453..49ce29b 100644 --- a/autoload/vebugger/ninspect.vim +++ b/autoload/vebugger/ninspect.vim @@ -1,8 +1,8 @@ -function! vebugger#ninspect#start(entryFile,args) +function! vebugger#ninspect#attach(connection, args) let l:debugger=vebugger#std#startDebugger(shellescape(vebugger#util#getToolFullPath('node',get(a:args,'version'),'node')) - \.' inspect '.a:entryFile.' '.vebugger#util#commandLineArgsForProgram(a:args)) + \.' inspect '.a:connection) let l:debugger.state.ninspect={} - let l:debugger.state.std.config.externalFileStop_flowCommand='stepover' "skip external modules + "let l:debugger.state.std.config.externalFileStop_flowCommand='stepover' "skip external modules call l:debugger.writeLine("$stdout=$stderr") @@ -20,7 +20,43 @@ function! vebugger#ninspect#start(entryFile,args) call l:debugger.setWriteHandler('std','breakpoints',function('vebugger#ninspect#_writeBreakpoints')) call l:debugger.setWriteHandler('std','evaluateExpressions',function('vebugger#ninspect#_requestEvaluateExpression')) " call l:debugger.setWriteHandler('std','executeStatements',function('vebugger#ninspect#_executeStatements')) - call l:debugger.setWriteHandler('std','removeAfterDisplayed',function('vebugger#ninspect#_removeAfterDisplayed')) + " call l:debugger.setWriteHandler('std','removeAfterDisplayed',function('vebugger#ninspect#_removeAfterDisplayed')) + + call l:debugger.setWriteHandler('std','closeDebugger',function('vebugger#ninspect#_closeDebugger')) + + call l:debugger.generateWriteActionsFromTemplate() + + call l:debugger.std_addAllBreakpointActions(g:vebugger_breakpoints) + + " Don't stop at the beginning + " call l:debugger.writeLine('cont') + + return l:debugger +endfunction + +function! vebugger#ninspect#start(entryFile,args) + let l:debugger=vebugger#std#startDebugger(shellescape(vebugger#util#getToolFullPath('node',get(a:args,'version'),'node')) + \.' inspect '.a:entryFile.' '.vebugger#util#commandLineArgsForProgram(a:args)) + let l:debugger.state.ninspect={} + "let l:debugger.state.std.config.externalFileStop_flowCommand='stepover' "skip external modules + + + call l:debugger.writeLine("$stdout=$stderr") + let l:debugger.pipes.err.annotation = "err&prg\t\t" + if !has('win32') + call vebugger#std#openShellBuffer(l:debugger) + endif + + call l:debugger.addReadHandler(function('vebugger#ninspect#_readProgramOutput')) + call l:debugger.addReadHandler(function('vebugger#ninspect#_readWhere')) + " call l:debugger.addReadHandler(function('vebugger#ninspect#_readEvaluatedExpressions')) + call l:debugger.addReadHandler(function('vebugger#ninspect#_readFinish')) + + call l:debugger.setWriteHandler('std','flow',function('vebugger#ninspect#_writeFlow')) + call l:debugger.setWriteHandler('std','breakpoints',function('vebugger#ninspect#_writeBreakpoints')) + call l:debugger.setWriteHandler('std','evaluateExpressions',function('vebugger#ninspect#_requestEvaluateExpression')) + " call l:debugger.setWriteHandler('std','executeStatements',function('vebugger#ninspect#_executeStatements')) + " call l:debugger.setWriteHandler('std','removeAfterDisplayed',function('vebugger#ninspect#_removeAfterDisplayed')) call l:debugger.setWriteHandler('std','closeDebugger',function('vebugger#ninspect#_closeDebugger')) @@ -38,16 +74,36 @@ function! vebugger#ninspect#_readProgramOutput(pipeName,line,readResult,debugger if 'err'==a:pipeName let a:readResult.std.programOutput={'line':a:line} else - let l:matches=matchlist(a:line,'\v(^........debug\>.............|^........|^)\<\s(.*)$') - if 3.............\<\sWaiting\sfor\sthe\sdebugger\sto\sdisconnect...') + "if 1.............|^........|^)\<\s(.*)$') + if 3') + " if 1 Date: Tue, 10 Jul 2018 08:48:25 -0500 Subject: [PATCH 3/8] Make so debugger does break until a breakpoint --- autoload/vebugger/ninspect.vim | 57 ++++++++++++++++------------------ 1 file changed, 27 insertions(+), 30 deletions(-) diff --git a/autoload/vebugger/ninspect.vim b/autoload/vebugger/ninspect.vim index 49ce29b..6557fb7 100644 --- a/autoload/vebugger/ninspect.vim +++ b/autoload/vebugger/ninspect.vim @@ -31,6 +31,7 @@ function! vebugger#ninspect#attach(connection, args) " Don't stop at the beginning " call l:debugger.writeLine('cont') + let s:programOutputMode=0 return l:debugger endfunction @@ -66,7 +67,7 @@ function! vebugger#ninspect#start(entryFile,args) " Don't stop at the beginning " call l:debugger.writeLine('cont') - + let s:programOutputMode=0 return l:debugger endfunction @@ -74,50 +75,46 @@ function! vebugger#ninspect#_readProgramOutput(pipeName,line,readResult,debugger if 'err'==a:pipeName let a:readResult.std.programOutput={'line':a:line} else - "let l:donematch=matchlist(a:line,'\vdebug\>.............\<\sWaiting\sfor\sthe\sdebugger\sto\sdisconnect...') - "if 1.............\<\sWaiting\sfor\sthe\sdebugger\sto\sdisconnect...') + if 1.............|^........|^)\<\s(.*)$') if 3') - " if 1') + if 1.............\<\sWaiting\sfor\sthe\sdebugger\sto\sdisconnect...') if 1 Date: Thu, 19 Jul 2018 00:25:26 -0500 Subject: [PATCH 4/8] Just more code to support this --- autoload/vebugger/ninspect.vim | 59 +++++++++++++++++----------------- 1 file changed, 30 insertions(+), 29 deletions(-) diff --git a/autoload/vebugger/ninspect.vim b/autoload/vebugger/ninspect.vim index 6557fb7..578426d 100644 --- a/autoload/vebugger/ninspect.vim +++ b/autoload/vebugger/ninspect.vim @@ -13,7 +13,7 @@ function! vebugger#ninspect#attach(connection, args) call l:debugger.addReadHandler(function('vebugger#ninspect#_readProgramOutput')) call l:debugger.addReadHandler(function('vebugger#ninspect#_readWhere')) - " call l:debugger.addReadHandler(function('vebugger#ninspect#_readEvaluatedExpressions')) + call l:debugger.addReadHandler(function('vebugger#ninspect#_readEvaluatedExpressions')) call l:debugger.addReadHandler(function('vebugger#ninspect#_readFinish')) call l:debugger.setWriteHandler('std','flow',function('vebugger#ninspect#_writeFlow')) @@ -26,12 +26,13 @@ function! vebugger#ninspect#attach(connection, args) call l:debugger.generateWriteActionsFromTemplate() - call l:debugger.std_addAllBreakpointActions(g:vebugger_breakpoints) + " call l:debugger.std_addAllBreakpointActions(g:vebugger_breakpoints) " Don't stop at the beginning " call l:debugger.writeLine('cont') let s:programOutputMode=0 + let s:programEvalMode=0 return l:debugger endfunction @@ -50,7 +51,7 @@ function! vebugger#ninspect#start(entryFile,args) call l:debugger.addReadHandler(function('vebugger#ninspect#_readProgramOutput')) call l:debugger.addReadHandler(function('vebugger#ninspect#_readWhere')) - " call l:debugger.addReadHandler(function('vebugger#ninspect#_readEvaluatedExpressions')) + call l:debugger.addReadHandler(function('vebugger#ninspect#_readEvaluatedExpressions')) call l:debugger.addReadHandler(function('vebugger#ninspect#_readFinish')) call l:debugger.setWriteHandler('std','flow',function('vebugger#ninspect#_writeFlow')) @@ -63,15 +64,16 @@ function! vebugger#ninspect#start(entryFile,args) call l:debugger.generateWriteActionsFromTemplate() - call l:debugger.std_addAllBreakpointActions(g:vebugger_breakpoints) - + " call l:debugger.std_addAllBreakpointActions(g:vebugger_breakpoints) " Don't stop at the beginning " call l:debugger.writeLine('cont') let s:programOutputMode=0 + let s:programEvalMode=0 return l:debugger endfunction function! vebugger#ninspect#_readProgramOutput(pipeName,line,readResult,debugger) + " echom a:line if 'err'==a:pipeName let a:readResult.std.programOutput={'line':a:line} else @@ -85,8 +87,9 @@ function! vebugger#ninspect#_readProgramOutput(pipeName,line,readResult,debugger let a:readResult.std.programOutput={'line':l:matches[2]} endif else - let l:startmatch=matchlist(a:line,'\vdebug\>') + let l:startmatch=matchlist(a:line,'\vfunction') if 1.............\<\sWaiting\sfor\sthe\sdebugger\sto\sdisconnect...') + let l:matches=matchlist(a:line,'\vdebug\>.............\<\sWaiting\sfor\sthe\sdebugger\sto\sdisconnect...|Error:\sThis\ssocket\shas\sbeen\sended\sby\sthe\sother\sparty') if 13 + let s:programEvalMode=0 + let l:expression=s:programEvalModeExpression + let l:value=a:line let a:readResult.std.evaluatedExpression={ - \'id':(l:id), \'expression':(l:expression), \'value':(l:value)} endif endif endfunction -" function! vebugger#ninspect#_removeAfterDisplayed(writeAction,debugger) -" for l:removeAction in a:writeAction -" if has_key(l:removeAction,'id') -" call a:debugger.writeLine('undisplay '.l:removeAction.id) -" endif -" endfor -" endfunction - -" function! s:unescapeString(str) -" let l:result=a:str -" let l:result=substitute(l:result,'\\"','"','g') -" let l:result=substitute(l:result,'\\t',"\t",'g') -" return l:result -" endfunction +function! s:unescapeString(str) + let l:result=a:str + let l:result=substitute(l:result,'\\n','\r','g') + let l:result=substitute(l:result,'[0-9]*m','','g') + return l:result +endfunction From 70b5861b5439d800a764e18b257f839a73811a54 Mon Sep 17 00:00:00 2001 From: Daniel Morris Date: Thu, 19 Jul 2018 09:38:38 -0500 Subject: [PATCH 5/8] Change search replace --- autoload/vebugger/ninspect.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/autoload/vebugger/ninspect.vim b/autoload/vebugger/ninspect.vim index 578426d..ce90e73 100644 --- a/autoload/vebugger/ninspect.vim +++ b/autoload/vebugger/ninspect.vim @@ -191,6 +191,6 @@ endfunction function! s:unescapeString(str) let l:result=a:str let l:result=substitute(l:result,'\\n','\r','g') - let l:result=substitute(l:result,'[0-9]*m','','g') + let l:result=substitute(l:result, '\e\[[0-9;]\+[mK]', '', 'g') return l:result endfunction From 61897f12db53e359b53354423155caecba03ead6 Mon Sep 17 00:00:00 2001 From: Daniel Morris Date: Sun, 12 Aug 2018 21:24:03 -0500 Subject: [PATCH 6/8] Add code for node inspect --- README.md | 4 -- autoload/vebugger/ninspect.vim | 10 ++++- doc/tags | 68 ++++++++++++++++++++++++++++++++++ doc/vebugger.txt | 1 + 4 files changed, 77 insertions(+), 6 deletions(-) create mode 100644 doc/tags diff --git a/README.md b/README.md index 09dd42e..955608c 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,3 @@ -NOTE: I forked to add node.js support for node 8 and later -currently the debugger stops at the first line. I'll fix this eventually. and then see if I can get this merged back into the original - - INTRODUCTION ============ Screencast - https://vimeo.com/95775461 diff --git a/autoload/vebugger/ninspect.vim b/autoload/vebugger/ninspect.vim index ce90e73..1a748c2 100644 --- a/autoload/vebugger/ninspect.vim +++ b/autoload/vebugger/ninspect.vim @@ -152,9 +152,15 @@ endfunction function! vebugger#ninspect#_requestEvaluateExpression(writeAction,debugger) for l:evalAction in a:writeAction - call a:debugger.std_addLineToShellBuffer('Eval: '.l:evalAction.expression) + if get(g:,'vebugger_ninspect_eval_out_to_console', 0) + call a:debugger.std_addLineToShellBuffer('Eval: '.l:evalAction.expression) + endif "call a:debugger.writeLine('exec console.log(JSON.stringify('.l:evalAction.expression.', null, 2))') - call a:debugger.writeLine('exec (function(){var glbCacheForEval123abf = [];let ret = JSON.stringify('.l:evalAction.expression.', function(key,value){if(typeof value===''object''&&value!==null){if(glbCacheForEval123abf.indexOf(value)!==-1){try{return JSON.parse(JSON.stringify(value))}catch(error){return}}glbCacheForEval123abf.push(value)}return value}, 2);console.log(ret);return ret;})()') + if get(g:,'vebugger_ninspect_eval_out_to_console', 0) + call a:debugger.writeLine('exec (function(){var glbCacheForEval123abf = [];let ret = JSON.stringify('.l:evalAction.expression.', function(key,value){if(typeof value===''object''&&value!==null){if(glbCacheForEval123abf.indexOf(value)!==-1){try{return JSON.parse(JSON.stringify(value))}catch(error){return}}glbCacheForEval123abf.push(value)}return value}, 2);console.log(ret);return ret;})()') + else + call a:debugger.writeLine('exec (function(){var glbCacheForEval123abf = [];let ret = JSON.stringify('.l:evalAction.expression.', function(key,value){if(typeof value===''object''&&value!==null){if(glbCacheForEval123abf.indexOf(value)!==-1){try{return JSON.parse(JSON.stringify(value))}catch(error){return}}glbCacheForEval123abf.push(value)}return value}, 2);return ret;})()') + endif "call a:debugger.writeLine('exec JSON.stringify('.l:evalAction.expression.', null, 2)') let s:programEvalMode=1 let s:programEvalModeExpression=''.l:evalAction.expression diff --git a/doc/tags b/doc/tags new file mode 100644 index 0000000..12c8533 --- /dev/null +++ b/doc/tags @@ -0,0 +1,68 @@ +:VBGclearBreakpints vebugger.txt /*:VBGclearBreakpints* +:VBGcontinue vebugger.txt /*:VBGcontinue* +:VBGeval vebugger.txt /*:VBGeval* +:VBGevalSelectedText vebugger.txt /*:VBGevalSelectedText* +:VBGevalWordUnderCursor vebugger.txt /*:VBGevalWordUnderCursor* +:VBGexecute vebugger.txt /*:VBGexecute* +:VBGexecuteSelectedText vebugger.txt /*:VBGexecuteSelectedText* +:VBGkill vebugger.txt /*:VBGkill* +:VBGrawWrite vebugger.txt /*:VBGrawWrite* +:VBGrawWriteSelectedText vebugger.txt /*:VBGrawWriteSelectedText* +:VBGstepIn vebugger.txt /*:VBGstepIn* +:VBGstepOut vebugger.txt /*:VBGstepOut* +:VBGstepOver vebugger.txt /*:VBGstepOver* +:VBGtoggleBreakpoint vebugger.txt /*:VBGtoggleBreakpoint* +:VBGtoggleBreakpointThisLine vebugger.txt /*:VBGtoggleBreakpointThisLine* +:VBGtoggleTerminalBuffer vebugger.txt /*:VBGtoggleTerminalBuffer* +VBGattachGDB vebugger.txt /*VBGattachGDB* +VBGstartGDB vebugger.txt /*VBGstartGDB* +VBGstartGDBForD vebugger.txt /*VBGstartGDBForD* +VBGstartPDB vebugger.txt /*VBGstartPDB* +VBGstartRDebug vebugger.txt /*VBGstartRDebug* +VBGstartRDebug vebugger.txt /*VBGstartRDebug* +g:vebugger_leader vebugger.txt /*g:vebugger_leader* +g:vebugger_path_gdb vebugger.txt /*g:vebugger_path_gdb* +g:vebugger_path_jdb vebugger.txt /*g:vebugger_path_jdb* +g:vebugger_path_mdbg vebugger.txt /*g:vebugger_path_mdbg* +g:vebugger_path_mdbg_32 vebugger.txt /*g:vebugger_path_mdbg_32* +g:vebugger_path_mdbg_64 vebugger.txt /*g:vebugger_path_mdbg_64* +g:vebugger_path_node vebugger.txt /*g:vebugger_path_node* +g:vebugger_path_python vebugger.txt /*g:vebugger_path_python* +g:vebugger_path_python_2 vebugger.txt /*g:vebugger_path_python_2* +g:vebugger_path_python_3 vebugger.txt /*g:vebugger_path_python_3* +g:vebugger_path_ruby vebugger.txt /*g:vebugger_path_ruby* +vebugger vebugger.txt /*vebugger* +vebugger#gdb#start vebugger.txt /*vebugger#gdb#start* +vebugger#jdb#start vebugger.txt /*vebugger#jdb#start* +vebugger#mdbg#searchAndAttach vebugger.txt /*vebugger#mdbg#searchAndAttach* +vebugger#mdbg#start vebugger.txt /*vebugger#mdbg#start* +vebugger#ninspect#start vebugger.txt /*vebugger#ninspect#start* +vebugger#pdb#start vebugger.txt /*vebugger#pdb#start* +vebugger#rdebug#start vebugger.txt /*vebugger#rdebug#start* +vebugger-architecture vebugger.txt /*vebugger-architecture* +vebugger-architecture-close-handlers vebugger.txt /*vebugger-architecture-close-handlers* +vebugger-architecture-debugger-state vebugger.txt /*vebugger-architecture-debugger-state* +vebugger-architecture-read-handlers vebugger.txt /*vebugger-architecture-read-handlers* +vebugger-architecture-read-result-objects vebugger.txt /*vebugger-architecture-read-result-objects* +vebugger-architecture-think-handlers vebugger.txt /*vebugger-architecture-think-handlers* +vebugger-architecture-write-actions-objects vebugger.txt /*vebugger-architecture-write-actions-objects* +vebugger-architecture-write-handlers vebugger.txt /*vebugger-architecture-write-handlers* +vebugger-breakpoints vebugger.txt /*vebugger-breakpoints* +vebugger-commands vebugger.txt /*vebugger-commands* +vebugger-configuration vebugger.txt /*vebugger-configuration* +vebugger-evalutate vebugger.txt /*vebugger-evalutate* +vebugger-execute vebugger.txt /*vebugger-execute* +vebugger-execution-control vebugger.txt /*vebugger-execution-control* +vebugger-gdb vebugger.txt /*vebugger-gdb* +vebugger-jdb vebugger.txt /*vebugger-jdb* +vebugger-keymaps vebugger.txt /*vebugger-keymaps* +vebugger-launching vebugger.txt /*vebugger-launching* +vebugger-mdbg vebugger.txt /*vebugger-mdbg* +vebugger-ninspect vebugger.txt /*vebugger-ninspect* +vebugger-open-the-hood vebugger.txt /*vebugger-open-the-hood* +vebugger-pdb vebugger.txt /*vebugger-pdb* +vebugger-rdebug vebugger.txt /*vebugger-rdebug* +vebugger-requirements vebugger.txt /*vebugger-requirements* +vebugger-terminate vebugger.txt /*vebugger-terminate* +vebugger-usage vebugger.txt /*vebugger-usage* +vebugger.txt vebugger.txt /*vebugger.txt* diff --git a/doc/vebugger.txt b/doc/vebugger.txt index 46b5218..3304e14 100644 --- a/doc/vebugger.txt +++ b/doc/vebugger.txt @@ -24,6 +24,7 @@ interactive shell debugger, and comes with implementations for: * Mdbg - a .NET debugger(Windows only) * PDB - a Python module for debugging Python scripts * RDebug - a Ruby command line option for debugging Ruby scripts +* NInspect - Node inspect is a node js 8+ command line debugger Other implementations can be added with ease, and I will accept pull requests that add such implementations as long as they use Vim's |license|. From c811a1d18edec00087df346faedaa93f44af83d4 Mon Sep 17 00:00:00 2001 From: Daniel Morris Date: Tue, 14 Aug 2018 17:13:16 -0500 Subject: [PATCH 7/8] Remove added tag file --- doc/tags | 68 -------------------------------------------------------- 1 file changed, 68 deletions(-) delete mode 100644 doc/tags diff --git a/doc/tags b/doc/tags deleted file mode 100644 index 12c8533..0000000 --- a/doc/tags +++ /dev/null @@ -1,68 +0,0 @@ -:VBGclearBreakpints vebugger.txt /*:VBGclearBreakpints* -:VBGcontinue vebugger.txt /*:VBGcontinue* -:VBGeval vebugger.txt /*:VBGeval* -:VBGevalSelectedText vebugger.txt /*:VBGevalSelectedText* -:VBGevalWordUnderCursor vebugger.txt /*:VBGevalWordUnderCursor* -:VBGexecute vebugger.txt /*:VBGexecute* -:VBGexecuteSelectedText vebugger.txt /*:VBGexecuteSelectedText* -:VBGkill vebugger.txt /*:VBGkill* -:VBGrawWrite vebugger.txt /*:VBGrawWrite* -:VBGrawWriteSelectedText vebugger.txt /*:VBGrawWriteSelectedText* -:VBGstepIn vebugger.txt /*:VBGstepIn* -:VBGstepOut vebugger.txt /*:VBGstepOut* -:VBGstepOver vebugger.txt /*:VBGstepOver* -:VBGtoggleBreakpoint vebugger.txt /*:VBGtoggleBreakpoint* -:VBGtoggleBreakpointThisLine vebugger.txt /*:VBGtoggleBreakpointThisLine* -:VBGtoggleTerminalBuffer vebugger.txt /*:VBGtoggleTerminalBuffer* -VBGattachGDB vebugger.txt /*VBGattachGDB* -VBGstartGDB vebugger.txt /*VBGstartGDB* -VBGstartGDBForD vebugger.txt /*VBGstartGDBForD* -VBGstartPDB vebugger.txt /*VBGstartPDB* -VBGstartRDebug vebugger.txt /*VBGstartRDebug* -VBGstartRDebug vebugger.txt /*VBGstartRDebug* -g:vebugger_leader vebugger.txt /*g:vebugger_leader* -g:vebugger_path_gdb vebugger.txt /*g:vebugger_path_gdb* -g:vebugger_path_jdb vebugger.txt /*g:vebugger_path_jdb* -g:vebugger_path_mdbg vebugger.txt /*g:vebugger_path_mdbg* -g:vebugger_path_mdbg_32 vebugger.txt /*g:vebugger_path_mdbg_32* -g:vebugger_path_mdbg_64 vebugger.txt /*g:vebugger_path_mdbg_64* -g:vebugger_path_node vebugger.txt /*g:vebugger_path_node* -g:vebugger_path_python vebugger.txt /*g:vebugger_path_python* -g:vebugger_path_python_2 vebugger.txt /*g:vebugger_path_python_2* -g:vebugger_path_python_3 vebugger.txt /*g:vebugger_path_python_3* -g:vebugger_path_ruby vebugger.txt /*g:vebugger_path_ruby* -vebugger vebugger.txt /*vebugger* -vebugger#gdb#start vebugger.txt /*vebugger#gdb#start* -vebugger#jdb#start vebugger.txt /*vebugger#jdb#start* -vebugger#mdbg#searchAndAttach vebugger.txt /*vebugger#mdbg#searchAndAttach* -vebugger#mdbg#start vebugger.txt /*vebugger#mdbg#start* -vebugger#ninspect#start vebugger.txt /*vebugger#ninspect#start* -vebugger#pdb#start vebugger.txt /*vebugger#pdb#start* -vebugger#rdebug#start vebugger.txt /*vebugger#rdebug#start* -vebugger-architecture vebugger.txt /*vebugger-architecture* -vebugger-architecture-close-handlers vebugger.txt /*vebugger-architecture-close-handlers* -vebugger-architecture-debugger-state vebugger.txt /*vebugger-architecture-debugger-state* -vebugger-architecture-read-handlers vebugger.txt /*vebugger-architecture-read-handlers* -vebugger-architecture-read-result-objects vebugger.txt /*vebugger-architecture-read-result-objects* -vebugger-architecture-think-handlers vebugger.txt /*vebugger-architecture-think-handlers* -vebugger-architecture-write-actions-objects vebugger.txt /*vebugger-architecture-write-actions-objects* -vebugger-architecture-write-handlers vebugger.txt /*vebugger-architecture-write-handlers* -vebugger-breakpoints vebugger.txt /*vebugger-breakpoints* -vebugger-commands vebugger.txt /*vebugger-commands* -vebugger-configuration vebugger.txt /*vebugger-configuration* -vebugger-evalutate vebugger.txt /*vebugger-evalutate* -vebugger-execute vebugger.txt /*vebugger-execute* -vebugger-execution-control vebugger.txt /*vebugger-execution-control* -vebugger-gdb vebugger.txt /*vebugger-gdb* -vebugger-jdb vebugger.txt /*vebugger-jdb* -vebugger-keymaps vebugger.txt /*vebugger-keymaps* -vebugger-launching vebugger.txt /*vebugger-launching* -vebugger-mdbg vebugger.txt /*vebugger-mdbg* -vebugger-ninspect vebugger.txt /*vebugger-ninspect* -vebugger-open-the-hood vebugger.txt /*vebugger-open-the-hood* -vebugger-pdb vebugger.txt /*vebugger-pdb* -vebugger-rdebug vebugger.txt /*vebugger-rdebug* -vebugger-requirements vebugger.txt /*vebugger-requirements* -vebugger-terminate vebugger.txt /*vebugger-terminate* -vebugger-usage vebugger.txt /*vebugger-usage* -vebugger.txt vebugger.txt /*vebugger.txt* From beba96626026ca841347ef6bdb5627374458a889 Mon Sep 17 00:00:00 2001 From: Daniel Morris Date: Tue, 14 Aug 2018 17:15:19 -0500 Subject: [PATCH 8/8] Fix vim doc issue --- doc/vebugger.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/vebugger.txt b/doc/vebugger.txt index 3304e14..f268420 100644 --- a/doc/vebugger.txt +++ b/doc/vebugger.txt @@ -227,7 +227,7 @@ source file paths. LAUNCHING NINSPECT *vebugger-ninspect* -RDebug is launched with *vebugger#ninspect#start* +NInspect is launched with *vebugger#ninspect#start* > call vebugger#ninspect#start('test.js',{'args':['hello','world']}) <