home *** CD-ROM | disk | FTP | other *** search
- " Vim syntax file
- " Language: Valgrind Memory Debugger Output
- " Maintainer: Roger Luethi <rl@hellgate.ch>
- " Program URL: http://devel-home.kde.org/~sewardj/
- " Last Change: 2002 Apr 07
- "
- " Notes: mostly based on strace.vim and xml.vim
-
- " Quit when a syntax file was already loaded
- if exists("b:current_syntax")
- finish
- endif
-
- syn case match
- syn sync minlines=50
-
- syn match valgrindSpecLine "^[+-]\{2}\d\+[+-]\{2}.*$"
-
- syn region valgrindRegion
- \ start=+^==\z(\d\+\)== \w.*$+
- \ skip=+^==\z1==\( \| .*\)$+
- \ end=+^+
- \ fold
- \ keepend
- \ contains=valgrindPidChunk,valgrindLine
-
- syn region valgrindPidChunk
- \ start=+\(^==\)\@<=+
- \ end=+\(==\)\@=+
- \ contained
- \ contains=valgrindPid0,valgrindPid1,valgrindPid2,valgrindPid3,valgrindPid4,valgrindPid5,valgrindPid6,valgrindPid7,valgrindPid8,valgrindPid9
- \ keepend
-
- syn match valgrindPid0 "\d\+0=" contained
- syn match valgrindPid1 "\d\+1=" contained
- syn match valgrindPid2 "\d\+2=" contained
- syn match valgrindPid3 "\d\+3=" contained
- syn match valgrindPid4 "\d\+4=" contained
- syn match valgrindPid5 "\d\+5=" contained
- syn match valgrindPid6 "\d\+6=" contained
- syn match valgrindPid7 "\d\+7=" contained
- syn match valgrindPid8 "\d\+8=" contained
- syn match valgrindPid9 "\d\+9=" contained
-
- syn region valgrindLine
- \ start=+\(^==\d\+== \)\@<=+
- \ end=+$+
- \ keepend
- \ contained
- \ contains=valgrindOptions,valgrindMsg,valgrindLoc
-
- syn match valgrindOptions "[ ]\{3}-.*$" contained
-
- syn match valgrindMsg "\S.*$" contained
- \ contains=valgrindError,valgrindNote,valgrindSummary
- syn match valgrindError "\(Invalid\|\d\+ errors\|.* definitely lost\).*$" contained
- syn match valgrindNote ".*still reachable.*" contained
- syn match valgrindSummary ".*SUMMARY:" contained
-
- syn match valgrindLoc "\s\+\(by\|at\|Address\).*$" contained
- \ contains=valgrindAt,valgrindAddr,valgrindFunc,valgrindBin,valgrindSrc
- syn match valgrindAt "at\s\@=" contained
- syn match valgrindAddr "\(\W\)\@<=0x\x\+" contained
- syn match valgrindFunc "\(: \)\@<=\w\+" contained
- syn match valgrindBin "\((\(with\|\)in \)\@<=\S\+\()\)\@=" contained
- syn match valgrindSrc "\((\)\@<=.*:\d\+\()\)\@=" contained
-
- " Define the default highlighting
-
- hi def link valgrindSpecLine Type
- "hi def link valgrindRegion Special
-
- hi def link valgrindPid0 Special
- hi def link valgrindPid1 Comment
- hi def link valgrindPid2 Type
- hi def link valgrindPid3 Constant
- hi def link valgrindPid4 Number
- hi def link valgrindPid5 Identifier
- hi def link valgrindPid6 Statement
- hi def link valgrindPid7 Error
- hi def link valgrindPid8 LineNr
- hi def link valgrindPid9 Normal
- "hi def link valgrindLine Special
-
- hi def link valgrindOptions Type
- "hi def link valgrindMsg Special
- "hi def link valgrindLoc Special
-
- hi def link valgrindError Special
- hi def link valgrindNote Comment
- hi def link valgrindSummary Type
-
- hi def link valgrindAt Special
- hi def link valgrindAddr Number
- hi def link valgrindFunc Type
- hi def link valgrindBin Comment
- hi def link valgrindSrc Statement
-
- let b:current_syntax = "valgrind"
-