diff options
author | Bram Moolenaar <Bram@vim.org> | 2013-06-01 14:50:56 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2013-06-01 14:50:56 +0200 |
commit | 543b7ef7000d08d77409478315d68b607bb8bad8 (patch) | |
tree | 387cd45294ce55a130556d4e22a0b7706156b1fd /runtime/ftplugin/gprof.vim | |
parent | 3737fc1c30a559c82c57b5ce6aedae76cbeabaef (diff) |
Updated runtime files and translations.
Diffstat (limited to 'runtime/ftplugin/gprof.vim')
-rw-r--r-- | runtime/ftplugin/gprof.vim | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/runtime/ftplugin/gprof.vim b/runtime/ftplugin/gprof.vim new file mode 100644 index 0000000000..f76dd31aea --- /dev/null +++ b/runtime/ftplugin/gprof.vim @@ -0,0 +1,32 @@ +" Language: gprof +" Maintainer: Dominique Pelle <dominique.pelle@gmail.com> +" Last Change: 2012 May 20 + +" When cursor is on one line of the gprof call graph, +" calling this function jumps to this function in the call graph. +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin=1 + +fun! <SID>GprofJumpToFunctionIndex() + let l:line = getline('.') + if l:line =~ '[\d\+\]$' + " We're in a line in the call graph. + norm $y% + call search('^' . escape(@", '[]'), 'sw') + norm zz + elseif l:line =~ '^\(\s\+[0-9\.]\+\)\{3}\s\+' + " We're in line in the flat profile. + norm 55|y$ + call search('^\[\d\+\].*\d\s\+' . escape(@", '[]*.'), 'sW') + norm zz + endif +endfun + +" Pressing <C-]> on a line in the gprof flat profile or in +" the call graph, jumps to the corresponding function inside +" the flat profile. +map <silent> <C-]> :call <SID>GprofJumpToFunctionIndex()<CR> + +" vim:sw=2 fdm=indent |