mirror of
				https://github.com/vim/vim.git
				synced 2025-10-30 09:47:20 -04:00 
			
		
		
		
	
		
			
	
	
		
			110 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
		
		
			
		
	
	
			110 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
|   | " Vim syntax file | ||
|  | " Language:	Matlab | ||
|  | " Maintainer:	Preben 'Peppe' Guldberg <peppe-vim@wielders.org> | ||
|  | "		Original author: Mario Eusebio | ||
|  | " Last Change:	30 May 2003 | ||
|  | 
 | ||
|  | " For version 5.x: Clear all syntax items | ||
|  | " For version 6.x: Quit when a syntax file was already loaded | ||
|  | if version < 600 | ||
|  |   syntax clear | ||
|  | elseif exists("b:current_syntax") | ||
|  |   finish | ||
|  | endif | ||
|  | 
 | ||
|  | syn keyword matlabStatement		return | ||
|  | syn keyword matlabLabel			case switch | ||
|  | syn keyword matlabConditional		else elseif end if otherwise | ||
|  | syn keyword matlabRepeat		do for while | ||
|  | 
 | ||
|  | syn keyword matlabTodo			contained  TODO | ||
|  | 
 | ||
|  | " If you do not want these operators lit, uncommment them and the "hi link" below | ||
|  | syn match matlabArithmeticOperator	"[-+]" | ||
|  | syn match matlabArithmeticOperator	"\.\=[*/\\^]" | ||
|  | syn match matlabRelationalOperator	"[=~]=" | ||
|  | syn match matlabRelationalOperator	"[<>]=\=" | ||
|  | syn match matlabLogicalOperator		"[&|~]" | ||
|  | 
 | ||
|  | syn match matlabLineContinuation	"\.\{3}" | ||
|  | 
 | ||
|  | "syn match matlabIdentifier		"\<\a\w*\>" | ||
|  | 
 | ||
|  | " String | ||
|  | syn region matlabString			start=+'+ end=+'+	oneline | ||
|  | 
 | ||
|  | " If you don't like tabs | ||
|  | syn match matlabTab			"\t" | ||
|  | 
 | ||
|  | " Standard numbers | ||
|  | syn match matlabNumber		"\<\d\+[ij]\=\>" | ||
|  | " floating point number, with dot, optional exponent | ||
|  | syn match matlabFloat		"\<\d\+\(\.\d*\)\=\([edED][-+]\=\d\+\)\=[ij]\=\>" | ||
|  | " floating point number, starting with a dot, optional exponent | ||
|  | syn match matlabFloat		"\.\d\+\([edED][-+]\=\d\+\)\=[ij]\=\>" | ||
|  | 
 | ||
|  | " Transpose character and delimiters: Either use just [...] or (...) aswell | ||
|  | syn match matlabDelimiter		"[][]" | ||
|  | "syn match matlabDelimiter		"[][()]" | ||
|  | syn match matlabTransposeOperator	"[])a-zA-Z0-9.]'"lc=1 | ||
|  | 
 | ||
|  | syn match matlabSemicolon		";" | ||
|  | 
 | ||
|  | syn match matlabComment			"%.*$"	contains=matlabTodo,matlabTab | ||
|  | 
 | ||
|  | syn keyword matlabOperator		break zeros default margin round ones rand | ||
|  | syn keyword matlabOperator		ceil floor size clear zeros eye mean std cov | ||
|  | 
 | ||
|  | syn keyword matlabFunction		error eval function | ||
|  | 
 | ||
|  | syn keyword matlabImplicit		abs acos atan asin cos cosh exp log prod sum | ||
|  | syn keyword matlabImplicit		log10 max min sign sin sqrt tan reshape | ||
|  | 
 | ||
|  | syn match matlabError	"-\=\<\d\+\.\d\+\.[^*/\\^]" | ||
|  | syn match matlabError	"-\=\<\d\+\.\d\+[eEdD][-+]\=\d\+\.\([^*/\\^]\)" | ||
|  | 
 | ||
|  | " Define the default highlighting. | ||
|  | " For version 5.7 and earlier: only when not done already | ||
|  | " For version 5.8 and later: only when an item doesn't have highlighting yet | ||
|  | if version >= 508 || !exists("did_matlab_syntax_inits") | ||
|  |   if version < 508 | ||
|  |     let did_matlab_syntax_inits = 1 | ||
|  |     command -nargs=+ HiLink hi link <args> | ||
|  |   else | ||
|  |     command -nargs=+ HiLink hi def link <args> | ||
|  |   endif | ||
|  | 
 | ||
|  |   HiLink matlabTransposeOperator	matlabOperator | ||
|  |   HiLink matlabOperator		Operator | ||
|  |   HiLink matlabLineContinuation	Special | ||
|  |   HiLink matlabLabel			Label | ||
|  |   HiLink matlabConditional		Conditional | ||
|  |   HiLink matlabRepeat			Repeat | ||
|  |   HiLink matlabTodo			Todo | ||
|  |   HiLink matlabString			String | ||
|  |   HiLink matlabDelimiter		Identifier | ||
|  |   HiLink matlabTransposeOther		Identifier | ||
|  |   HiLink matlabNumber			Number | ||
|  |   HiLink matlabFloat			Float | ||
|  |   HiLink matlabFunction		Function | ||
|  |   HiLink matlabError			Error | ||
|  |   HiLink matlabImplicit		matlabStatement | ||
|  |   HiLink matlabStatement		Statement | ||
|  |   HiLink matlabSemicolon		SpecialChar | ||
|  |   HiLink matlabComment			Comment | ||
|  | 
 | ||
|  |   HiLink matlabArithmeticOperator	matlabOperator | ||
|  |   HiLink matlabRelationalOperator	matlabOperator | ||
|  |   HiLink matlabLogicalOperator		matlabOperator | ||
|  | 
 | ||
|  | "optional highlighting | ||
|  |   "HiLink matlabIdentifier		Identifier | ||
|  |   "HiLink matlabTab			Error | ||
|  | 
 | ||
|  |   delcommand HiLink | ||
|  | endif | ||
|  | 
 | ||
|  | let b:current_syntax = "matlab" | ||
|  | 
 | ||
|  | "EOF	vim: ts=8 noet tw=100 sw=8 sts=0 |