1" Vim syntax file 2" Language: Valgrind Memory Debugger Output 3" Maintainer: Roger Luethi <rl@hellgate.ch> 4" Program URL: http://devel-home.kde.org/~sewardj/ 5" Last Change: 2002 Apr 07 6" 7" Notes: mostly based on strace.vim and xml.vim 8 9" Quit when a syntax file was already loaded 10if exists("b:current_syntax") 11 finish 12endif 13 14syn case match 15syn sync minlines=50 16 17syn match valgrindSpecLine "^[+-]\{2}\d\+[+-]\{2}.*$" 18 19syn region valgrindRegion 20 \ start=+^==\z(\d\+\)== \w.*$+ 21 \ skip=+^==\z1==\( \| .*\)$+ 22 \ end=+^+ 23 \ fold 24 \ keepend 25 \ contains=valgrindPidChunk,valgrindLine 26 27syn region valgrindPidChunk 28 \ start=+\(^==\)\@<=+ 29 \ end=+\(==\)\@=+ 30 \ contained 31 \ contains=valgrindPid0,valgrindPid1,valgrindPid2,valgrindPid3,valgrindPid4,valgrindPid5,valgrindPid6,valgrindPid7,valgrindPid8,valgrindPid9 32 \ keepend 33 34syn match valgrindPid0 "\d\+0=" contained 35syn match valgrindPid1 "\d\+1=" contained 36syn match valgrindPid2 "\d\+2=" contained 37syn match valgrindPid3 "\d\+3=" contained 38syn match valgrindPid4 "\d\+4=" contained 39syn match valgrindPid5 "\d\+5=" contained 40syn match valgrindPid6 "\d\+6=" contained 41syn match valgrindPid7 "\d\+7=" contained 42syn match valgrindPid8 "\d\+8=" contained 43syn match valgrindPid9 "\d\+9=" contained 44 45syn region valgrindLine 46 \ start=+\(^==\d\+== \)\@<=+ 47 \ end=+$+ 48 \ keepend 49 \ contained 50 \ contains=valgrindOptions,valgrindMsg,valgrindLoc 51 52syn match valgrindOptions "[ ]\{3}-.*$" contained 53 54syn match valgrindMsg "\S.*$" contained 55 \ contains=valgrindError,valgrindNote,valgrindSummary 56syn match valgrindError "\(Invalid\|\d\+ errors\|.* definitely lost\).*$" contained 57syn match valgrindNote ".*still reachable.*" contained 58syn match valgrindSummary ".*SUMMARY:" contained 59 60syn match valgrindLoc "\s\+\(by\|at\|Address\).*$" contained 61 \ contains=valgrindAt,valgrindAddr,valgrindFunc,valgrindBin,valgrindSrc 62syn match valgrindAt "at\s\@=" contained 63syn match valgrindAddr "\(\W\)\@<=0x\x\+" contained 64syn match valgrindFunc "\(: \)\@<=\w\+" contained 65syn match valgrindBin "\((\(with\|\)in \)\@<=\S\+\()\)\@=" contained 66syn match valgrindSrc "\((\)\@<=.*:\d\+\()\)\@=" contained 67 68" Define the default highlighting 69 70hi def link valgrindSpecLine Type 71"hi def link valgrindRegion Special 72 73hi def link valgrindPid0 Special 74hi def link valgrindPid1 Comment 75hi def link valgrindPid2 Type 76hi def link valgrindPid3 Constant 77hi def link valgrindPid4 Number 78hi def link valgrindPid5 Identifier 79hi def link valgrindPid6 Statement 80hi def link valgrindPid7 Error 81hi def link valgrindPid8 LineNr 82hi def link valgrindPid9 Normal 83"hi def link valgrindLine Special 84 85hi def link valgrindOptions Type 86"hi def link valgrindMsg Special 87"hi def link valgrindLoc Special 88 89hi def link valgrindError Special 90hi def link valgrindNote Comment 91hi def link valgrindSummary Type 92 93hi def link valgrindAt Special 94hi def link valgrindAddr Number 95hi def link valgrindFunc Type 96hi def link valgrindBin Comment 97hi def link valgrindSrc Statement 98 99let b:current_syntax = "valgrind" 100