74 lines
2.2 KiB
VimL
74 lines
2.2 KiB
VimL
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'vim') == -1
|
||
|
|
||
|
" Vim syntax file
|
||
|
" Language: Syntax for Gprof Output
|
||
|
" Maintainer: Dominique Pelle <dominique.pelle@gmail.com>
|
||
|
" Last Change: 2013 Jun 09
|
||
|
|
||
|
" Quit when a syntax file was already loaded
|
||
|
if exists("b:current_syntax")
|
||
|
finish
|
||
|
endif
|
||
|
let s:keepcpo= &cpo
|
||
|
set cpo&vim
|
||
|
|
||
|
syn case match
|
||
|
syn sync minlines=100
|
||
|
|
||
|
" Flat profile
|
||
|
syn match gprofFlatProfileTitle
|
||
|
\ "^Flat profile:$"
|
||
|
syn region gprofFlatProfileHeader
|
||
|
\ start="^Each sample counts as.*"
|
||
|
\ end="^ time.*name\s*$"
|
||
|
syn region gprofFlatProfileTrailer
|
||
|
\ start="^\s*%\s\+the percentage of the total running time.*"
|
||
|
\ end="^\s*the gprof listing if it were to be printed\."
|
||
|
|
||
|
" Call graph
|
||
|
syn match gprofCallGraphTitle "Call graph (explanation follows)"
|
||
|
syn region gprofCallGraphHeader
|
||
|
\ start="^granularity: each sample hit covers.*"
|
||
|
\ end="^\s*index % time\s\+self\s\+children\s\+called\s\+name$"
|
||
|
syn match gprofCallGraphFunction "\s\+\(\d\+\.\d\+\s\+\)\{3}\([0-9+]\+\)\?\s\+[a-zA-Z_<].*\ze\["
|
||
|
syn match gprofCallGraphSeparator "^-\+$"
|
||
|
syn region gprofCallGraphTrailer
|
||
|
\ start="This table describes the call tree of the program"
|
||
|
\ end="^\s*the cycle\.$"
|
||
|
|
||
|
" Index
|
||
|
syn region gprofIndex
|
||
|
\ start="^Index by function name$"
|
||
|
\ end="\%$"
|
||
|
|
||
|
syn match gprofIndexFunctionTitle "^Index by function name$"
|
||
|
|
||
|
syn match gprofNumbers "^\s\+[0-9 ./+]\+"
|
||
|
syn match gprofFunctionIndex "\[\d\+\]"
|
||
|
syn match gprofSpecial "<\(spontaneous\|cycle \d\+\)>"
|
||
|
|
||
|
hi def link gprofFlatProfileTitle Title
|
||
|
hi def link gprofFlatProfileHeader Comment
|
||
|
hi def link gprofFlatProfileFunction Number
|
||
|
hi def link gprofFlatProfileTrailer Comment
|
||
|
|
||
|
hi def link gprofCallGraphTitle Title
|
||
|
hi def link gprofCallGraphHeader Comment
|
||
|
hi def link gprofFlatProfileFunction Number
|
||
|
hi def link gprofCallGraphFunction Special
|
||
|
hi def link gprofCallGraphTrailer Comment
|
||
|
hi def link gprofCallGraphSeparator Label
|
||
|
|
||
|
hi def link gprofFunctionIndex Label
|
||
|
hi def link gprofSpecial SpecialKey
|
||
|
hi def link gprofNumbers Number
|
||
|
|
||
|
hi def link gprofIndexFunctionTitle Title
|
||
|
|
||
|
let b:current_syntax = "gprof"
|
||
|
|
||
|
let &cpo = s:keepcpo
|
||
|
unlet s:keepcpo
|
||
|
|
||
|
endif
|