Mercurial > vim
annotate runtime/ftplugin/gprof.vim @ 19638:4680390d4e2a
Added tag v8.2.0375 for changeset 8de319d1b82c21c17eb47816b96398464ef388a7
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Fri, 13 Mar 2020 14:45:06 +0100 |
parents | a5352e73dc00 |
children | 9f41bfdbc6fc |
rev | line source |
---|---|
4681
2eb30f341e8d
Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents:
diff
changeset
|
1 " Language: gprof |
2eb30f341e8d
Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents:
diff
changeset
|
2 " Maintainer: Dominique Pelle <dominique.pelle@gmail.com> |
4869 | 3 " Last Change: 2013 Jun 09 |
4681
2eb30f341e8d
Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents:
diff
changeset
|
4 |
2eb30f341e8d
Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents:
diff
changeset
|
5 " When cursor is on one line of the gprof call graph, |
2eb30f341e8d
Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents:
diff
changeset
|
6 " calling this function jumps to this function in the call graph. |
2eb30f341e8d
Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents:
diff
changeset
|
7 if exists("b:did_ftplugin") |
2eb30f341e8d
Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents:
diff
changeset
|
8 finish |
2eb30f341e8d
Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents:
diff
changeset
|
9 endif |
2eb30f341e8d
Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents:
diff
changeset
|
10 let b:did_ftplugin=1 |
2eb30f341e8d
Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents:
diff
changeset
|
11 |
2eb30f341e8d
Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents:
diff
changeset
|
12 fun! <SID>GprofJumpToFunctionIndex() |
2eb30f341e8d
Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents:
diff
changeset
|
13 let l:line = getline('.') |
2eb30f341e8d
Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents:
diff
changeset
|
14 if l:line =~ '[\d\+\]$' |
2eb30f341e8d
Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents:
diff
changeset
|
15 " We're in a line in the call graph. |
4869 | 16 norm! $y% |
4681
2eb30f341e8d
Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents:
diff
changeset
|
17 call search('^' . escape(@", '[]'), 'sw') |
4869 | 18 norm! zz |
4681
2eb30f341e8d
Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents:
diff
changeset
|
19 elseif l:line =~ '^\(\s\+[0-9\.]\+\)\{3}\s\+' |
2eb30f341e8d
Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents:
diff
changeset
|
20 " We're in line in the flat profile. |
4869 | 21 norm! 55|eby$ |
22 call search('^\[\d\+\].*\d\s\+' . escape(@", '[]*.') . '\>', 'sW') | |
23 norm! zz | |
4681
2eb30f341e8d
Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents:
diff
changeset
|
24 endif |
2eb30f341e8d
Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents:
diff
changeset
|
25 endfun |
2eb30f341e8d
Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents:
diff
changeset
|
26 |
2eb30f341e8d
Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents:
diff
changeset
|
27 " Pressing <C-]> on a line in the gprof flat profile or in |
2eb30f341e8d
Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents:
diff
changeset
|
28 " the call graph, jumps to the corresponding function inside |
2eb30f341e8d
Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents:
diff
changeset
|
29 " the flat profile. |
4869 | 30 map <buffer> <silent> <C-]> :call <SID>GprofJumpToFunctionIndex()<CR> |
4681
2eb30f341e8d
Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents:
diff
changeset
|
31 |
2eb30f341e8d
Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents:
diff
changeset
|
32 " vim:sw=2 fdm=indent |