Add support for multi-srcpath

Now Vebugger can search for a sourcecode in multiple srcpath locations.
The first match is returned and it's the file Vebugger will show.
This commit is contained in:
Dalton Barreto 2017-05-17 22:19:56 -03:00
parent 97ca687489
commit 4230773e7e
No known key found for this signature in database
GPG Key ID: 05570C19E57F6BB4
2 changed files with 15 additions and 9 deletions

View File

@ -87,14 +87,16 @@ function! s:findFolderFromStackTrace(src,nameFromStackTrace,frameNumber)
endif
" If no such tag was found, try to find it using the src path.
let l:path=a:src
for l:dirname in split(a:nameFromStackTrace,'\.')
let l:nextPath=l:path.'/'.fnameescape(l:dirname)
if empty(glob(l:nextPath))
return l:path
endif
let l:path=l:nextPath
endfor
for l:one_path in split(a:src, ':')
let l:path=l:one_path
for l:dirname in split(a:nameFromStackTrace,'\.')
let l:nextPath=l:path.'/'.fnameescape(l:dirname)
if empty(glob(l:nextPath))
return l:path
endif
let l:path=l:nextPath
endfor
endfor
return l:path
endfunction

View File

@ -202,7 +202,7 @@ Unlike in the other debuggers, the first argument here is not the name of a
file - it's the name of the class to run. The supported extra arguments are:
* "args": Command line arguments for the debugged program
* "classpath": Where to look for class files
* "srcpath": Where to look for source files
* "srcpath": Where to look for source files. You can have multiple srcpaths, separated by ':'
* "version": The version of the debugger to run
If you don't supply "classpath" and "srcpath", Vebugger will assume you are
using the current directory for source files and class files.
@ -210,6 +210,10 @@ using the current directory for source files and class files.
JDB does not have a command for starting it, since you usually want to supply
"classpath" and "srcpath".
If you need Vebugger to search for the source files in multiple locations, you can
specify `srcpath` as a ':' separated string. Vebugger will search on all these folders
and the first match will be returned as the Source file to be shown.
LAUNCHING RDEBUG *vebugger-rdebug*