Mercurial > vim
annotate runtime/ftplugin/gprof.vim @ 29870:76f4cea7033c
Added tag v9.0.0273 for changeset 0eab537e9ccb1e7926e8142caf4f6244f226e5a3
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Fri, 26 Aug 2022 13:30:04 +0200 |
parents | 65de67669df3 |
children |
rev | line source |
---|---|
25836 | 1 " Language: gprof |
2 " Maintainer: Dominique Pelle <dominique.pelle@gmail.com> | |
3 " Contributors: Doug Kearns <dougkearns@gmail.com> | |
4 " Last Change: 2021 Sep 19 | |
4681
2eb30f341e8d
Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents:
diff
changeset
|
5 |
2eb30f341e8d
Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents:
diff
changeset
|
6 " 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
|
7 " 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
|
8 if exists("b:did_ftplugin") |
2eb30f341e8d
Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents:
diff
changeset
|
9 finish |
2eb30f341e8d
Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents:
diff
changeset
|
10 endif |
2eb30f341e8d
Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents:
diff
changeset
|
11 let b:did_ftplugin=1 |
2eb30f341e8d
Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents:
diff
changeset
|
12 |
25836 | 13 func! <SID>GprofJumpToFunctionIndex() |
4681
2eb30f341e8d
Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents:
diff
changeset
|
14 let l:line = getline('.') |
2eb30f341e8d
Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents:
diff
changeset
|
15 if l:line =~ '[\d\+\]$' |
2eb30f341e8d
Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents:
diff
changeset
|
16 " We're in a line in the call graph. |
4869 | 17 norm! $y% |
4681
2eb30f341e8d
Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents:
diff
changeset
|
18 call search('^' . escape(@", '[]'), 'sw') |
4869 | 19 norm! zz |
24468 | 20 elseif l:line =~ '^\(\s*[0-9\.]\+\)\{3}\s\+' |
4681
2eb30f341e8d
Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents:
diff
changeset
|
21 " We're in line in the flat profile. |
4869 | 22 norm! 55|eby$ |
23 call search('^\[\d\+\].*\d\s\+' . escape(@", '[]*.') . '\>', 'sW') | |
24 norm! zz | |
4681
2eb30f341e8d
Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents:
diff
changeset
|
25 endif |
25836 | 26 endfunc |
4681
2eb30f341e8d
Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents:
diff
changeset
|
27 |
25836 | 28 if !exists("no_plugin_maps") && !exists("no_gprof_maps") |
29 " Pressing <C-]> on a line in the gprof flat profile or in | |
30 " the call graph, jumps to the corresponding function inside | |
31 " the flat profile. | |
32 map <buffer> <silent> <C-]> :call <SID>GprofJumpToFunctionIndex()<CR> | |
33 let b:undo_ftplugin = "silent! unmap <buffer> <C-]>" | |
34 endif | |
4681
2eb30f341e8d
Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents:
diff
changeset
|
35 |
2eb30f341e8d
Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents:
diff
changeset
|
36 " vim:sw=2 fdm=indent |