aboutsummaryrefslogtreecommitdiff
path: root/runtime/syntax/valgrind.vim
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/syntax/valgrind.vim')
-rw-r--r--runtime/syntax/valgrind.vim19
1 files changed, 12 insertions, 7 deletions
diff --git a/runtime/syntax/valgrind.vim b/runtime/syntax/valgrind.vim
index c247927c2f..d099971826 100644
--- a/runtime/syntax/valgrind.vim
+++ b/runtime/syntax/valgrind.vim
@@ -2,7 +2,8 @@
" Language: Valgrind Memory Debugger Output
" Maintainer: Roger Luethi <rl@hellgate.ch>
" Program URL: http://devel-home.kde.org/~sewardj/
-" Last Change: 2014 Oct 02
+" Last Change: 2015 Jan 27
+" Included improvement by Dominique Pelle
"
" Notes: mostly based on strace.vim and xml.vim
"
@@ -15,6 +16,9 @@ endif
let s:keepcpo= &cpo
set cpo&vim
+" Lines can be long with demangled c++ functions.
+setlocal synmaxcol=8000
+
syn case match
syn sync minlines=50
@@ -29,8 +33,8 @@ syn region valgrindRegion
\ contains=valgrindPidChunk,valgrindLine
syn region valgrindPidChunk
- \ start=+\(^==\)\@<=+
- \ end=+\(==\)\@=+
+ \ start=+^==\zs+
+ \ end=+\ze==+
\ contained
\ contains=valgrindPid0,valgrindPid1,valgrindPid2,valgrindPid3,valgrindPid4,valgrindPid5,valgrindPid6,valgrindPid7,valgrindPid8,valgrindPid9
\ keepend
@@ -64,10 +68,11 @@ 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
+syn match valgrindAddr "\W\zs0x\x\+" contained
+
+syn match valgrindFunc ": \zs\h[a-zA-Z0-9_:\[\]()<>&*+\-,=%!|^ ]*\ze([^)]*)$" contained
+syn match valgrindBin "(\(with\)\=in \zs\S\+)\@=" contained
+syn match valgrindSrc "(\zs[^)]*:\d\+)\@=" contained
" Define the default highlighting