function! vebugger#pdb#start(entryFile,args) let l:debugger=vebugger#std#startDebugger( \(has_key(a:args,'command') \? (a:args.command) \: 'python -m pdb') \.' '.a:entryFile) let l:debugger.state.pdb={ \'willPrintNext':{'expression':'','stage':0} \} call l:debugger.addReadHandler(function('s:readWhere')) call l:debugger.addReadHandler(function('s:readFinish')) call l:debugger.addReadHandler(function('s:readEvaluatedExpressions')) call l:debugger.setWriteHandler('std','flow',function('s:writeFlow')) call l:debugger.setWriteHandler('std','breakpoints',function('s:writeBreakpoints')) call l:debugger.setWriteHandler('std','closeDebugger',function('s:closeDebugger')) call l:debugger.setWriteHandler('std','evaluateExpressions',function('s:requestEvaluateExpression')) call l:debugger.setWriteHandler('std','removeAfterDisplayed',function('s:removeAfterDisplayed')) call l:debugger.generateWriteActionsFromTemplate() call l:debugger.std_addAllBreakpointActions(g:vebugger_breakpoints) return l:debugger endfunction function! s:readWhere(pipeName,line,readResult,debugger) if 'out'==a:pipeName let l:matches=matchlist(a:line,'\v^\> (.+)\((\d+)\).*\(\)$') if 2