64 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
| " Vim syntax file
 | |
| " Language:     Mathematica
 | |
| " Maintainer:   Wolfgang Waltenberger <wwalten@ben.tuwien.ac.at>
 | |
| " Last Change:  Thu 26 Apr 2001 13:20:03 CEST
 | |
| 
 | |
| if version < 600
 | |
| 	syntax clear
 | |
| elseif exists("b:current_syntax")
 | |
| 	finish
 | |
| endif
 | |
| 
 | |
| syn match mmaError "\*)"
 | |
| syn match mmaFixme "FIXME"
 | |
| syn region mmaComment start=+(\*+ end=+\*)+ skipempty contains=mmaFixme
 | |
| syn match mmaMessage "\a*::\a*"
 | |
| syn region mmaString start=+'+    end=+'+
 | |
| syn region mmaString start=+"+    end=+"+
 | |
| syn region mmaString start=+\\\"+ end=+\"+
 | |
| syn region mmaString start=+\"+   end=+\"+
 | |
| 
 | |
| syn match mmaVariable "$\a*"
 | |
| 
 | |
| syn match mmaPattern "[A-Za-z01-9`]*_\{1,3}"
 | |
| syn match mmaPattern "[A-Za-z01-9`]*_\{1,3}\(Integer\|Real\|Pattern\|Symbol\)"
 | |
| syn match mmaPattern "[A-Za-z01-9`]*_\{1,3}\(Rational\|Complex\|Head\)"
 | |
| syn match mmaPattern "[A-Za-z01-9`]*_\{1,3}?[A-Za-z01-9`]*"
 | |
| 
 | |
| " prefix/infix/postfix notations
 | |
| syn match mmaGenericFunction "[A-Za-z01-9`]*\s*\(\[\|@\)"he=e-1
 | |
| syn match mmaGenericFunction "[A-Za-z01-9`]*\s*\(/@\|@@\)"he=e-2
 | |
| syn match mmaGenericFunction "\~\s*[A-Za-z01-9`]*\s*\~"hs=s+1,he=e-1
 | |
| syn match mmaGenericFunction "//\s*[A-Za-z01-9`]*"hs=s+2
 | |
| syn match mmaOperator "/;"
 | |
| 
 | |
| syn match mmaPureFunction "#\d*"
 | |
| syn match mmaPureFunction "&"
 | |
| 
 | |
| syn match mmaUnicode "\\\[[a-zA-Z01-9]*\]"
 | |
| 
 | |
| if version >= 508 || !exists("did_mma_syn_inits")
 | |
| 	if version < 508
 | |
| 		let did_mma_syn_inits = 1
 | |
| 		command -nargs=+ HiLink hi link <args>
 | |
| 	else
 | |
| 		command -nargs=+ HiLink hi def link <args>
 | |
| 	endif
 | |
| 
 | |
| 	HiLink mmaOperator	   Operator
 | |
| 	HiLink mmaVariable	   Identifier
 | |
| 	HiLink mmaString	   String
 | |
| 	HiLink mmaUnicode	   String
 | |
| 	HiLink mmaMessage	   Identifier
 | |
| 	HiLink mmaPattern	   Identifier
 | |
| 	HiLink mmaGenericFunction  Function
 | |
| 	HiLink mmaError		   Error
 | |
| 	HiLink mmaFixme		   Error
 | |
| 	HiLink mmaComment	   Comment
 | |
| 	HiLink mmaPureFunction	   Operator
 | |
| 
 | |
| 	delcommand HiLink
 | |
| endif
 | |
| 
 | |
| let b:current_syntax = "mma"
 |