mirror of
				https://github.com/vim/vim.git
				synced 2025-10-30 09:47:20 -04:00 
			
		
		
		
	
		
			
	
	
		
			100 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
		
		
			
		
	
	
			100 lines
		
	
	
		
			2.9 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: 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" |