Initial class construction
This commit is contained in:
111
Git/usr/share/vim/vim81/syntax/valgrind.vim
Normal file
111
Git/usr/share/vim/vim81/syntax/valgrind.vim
Normal file
@ -0,0 +1,111 @@
|
||||
" Vim syntax file
|
||||
" Language: Valgrind Memory Debugger Output
|
||||
" Maintainer: Roger Luethi <rl@hellgate.ch>
|
||||
" Program URL: http://devel-home.kde.org/~sewardj/
|
||||
" Last Change: 2015 Jan 27
|
||||
" Included improvement by Dominique Pelle
|
||||
"
|
||||
" Notes: mostly based on strace.vim and xml.vim
|
||||
"
|
||||
" Contributors: Christoph Gysin <christoph.gysin@gmail.com>
|
||||
|
||||
" Quit when a syntax file was already loaded
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
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
|
||||
|
||||
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=+^==\zs+
|
||||
\ end=+\ze==+
|
||||
\ 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\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
|
||||
|
||||
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
|
Reference in New Issue
Block a user