mirror of
https://github.com/neovim/neovim.git
synced 2024-12-28 14:31:13 -07:00
9bc4f275b3
Update runtime files.5477506a9f
NA: vim-patch:2a9c9f6d89f1 "undo extra changes in src/Makefile"2a9c9f6d89
111 lines
3.1 KiB
VimL
111 lines
3.1 KiB
VimL
" Vim syntax file
|
|
" Language: Valgrind Memory Debugger Output
|
|
" Maintainer: Roger Luethi <rl@hellgate.ch>
|
|
" Program URL: http://devel-home.kde.org/~sewardj/
|
|
" Last Change: 2019 Jul 24
|
|
"
|
|
" 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==\( \| .*\| \S.*\)$+
|
|
\ 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
|