mirror of
				https://github.com/vim/vim.git
				synced 2025-11-04 09:47:15 -05: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"
							 |