aboutsummaryrefslogtreecommitdiff
path: root/runtime/syntax/valgrind.vim
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2014-07-11 04:05:51 +0000
committerJustin M. Keyes <justinkz@gmail.com>2014-07-29 02:12:31 +0000
commita98a6996c291b3e300d27b791eded9eed333d677 (patch)
tree51d92f6cac128f938cd0aaa9a8dd0ce7a83d63a9 /runtime/syntax/valgrind.vim
parent66bc13163398786c88e20b7cdd61c66978b4d3fb (diff)
downloadrneovim-a98a6996c291b3e300d27b791eded9eed333d677.tar.gz
rneovim-a98a6996c291b3e300d27b791eded9eed333d677.tar.bz2
rneovim-a98a6996c291b3e300d27b791eded9eed333d677.zip
re-integrate runtime/ vim-patch:0 #938
Vim runtime files based on 7.4.384 / hg changeset 7090d7f160f7 Excluding: Amiga icons (*.info, icons/) doc/hangulin.txt tutor/ spell/ lang/ (only used for menu translations) macros/maze/, macros/hanoi/, macros/life/, macros/urm/ These were used to test vi compatibility. termcap "Demonstration of a termcap file (for the Amiga and Archimedes)" Helped-by: Rich Wareham <rjw57@cam.ac.uk> Helped-by: John <john.schmidt.h@gmail.com> Helped-by: Yann <yann@yann-salaun.com> Helped-by: Christophe Badoit <c.badoit@lesiteimmo.com> Helped-by: drasill <github@tof2k.com> Helped-by: Tae Sandoval Murgan <taecilla@gmail.com> Helped-by: Lowe Thiderman <lowe.thiderman@gmail.com>
Diffstat (limited to 'runtime/syntax/valgrind.vim')
-rw-r--r--runtime/syntax/valgrind.vim104
1 files changed, 104 insertions, 0 deletions
diff --git a/runtime/syntax/valgrind.vim b/runtime/syntax/valgrind.vim
new file mode 100644
index 0000000000..48e9564acb
--- /dev/null
+++ b/runtime/syntax/valgrind.vim
@@ -0,0 +1,104 @@
+" Vim syntax file
+" Language: Valgrind Memory Debugger Output
+" Maintainer: Roger Luethi <rl@hellgate.ch>
+" Program URL: http://devel-home.kde.org/~sewardj/
+" Last Change: 2012 Apr 30
+"
+" Notes: mostly based on strace.vim and xml.vim
+
+" 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=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"
+
+let &cpo = s:keepcpo
+unlet s:keepcpo