function! vebugger#rdebug#start(entryFile,args) let l:debugger=vebugger#std#startDebugger( \(has_key(a:args,'command') \? (a:args.command) \: 'ruby -rdebug') \.' '.a:entryFile) let l:debugger.state.rdebug={} call l:debugger.addReadHandler(function('s:readWhere')) 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','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 3