blob: 6eb8d66a9b4d5c5fff39a2356748c668d943cd36 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim syntax file
2" Language: Mathematica
3" Maintainer: Wolfgang Waltenberger <wwalten@ben.tuwien.ac.at>
4" Last Change: Thu 26 Apr 2001 13:20:03 CEST
5
6if version < 600
7 syntax clear
8elseif exists("b:current_syntax")
9 finish
10endif
11
12syn match mmaError "\*)"
13syn match mmaFixme "FIXME"
14syn region mmaComment start=+(\*+ end=+\*)+ skipempty contains=mmaFixme
15syn match mmaMessage "\a*::\a*"
16syn region mmaString start=+'+ end=+'+
17syn region mmaString start=+"+ end=+"+
18syn region mmaString start=+\\\"+ end=+\"+
19syn region mmaString start=+\"+ end=+\"+
20
21syn match mmaVariable "$\a*"
22
23syn match mmaPattern "[A-Za-z01-9`]*_\{1,3}"
24syn match mmaPattern "[A-Za-z01-9`]*_\{1,3}\(Integer\|Real\|Pattern\|Symbol\)"
25syn match mmaPattern "[A-Za-z01-9`]*_\{1,3}\(Rational\|Complex\|Head\)"
26syn match mmaPattern "[A-Za-z01-9`]*_\{1,3}?[A-Za-z01-9`]*"
27
28" prefix/infix/postfix notations
29syn match mmaGenericFunction "[A-Za-z01-9`]*\s*\(\[\|@\)"he=e-1
30syn match mmaGenericFunction "[A-Za-z01-9`]*\s*\(/@\|@@\)"he=e-2
31syn match mmaGenericFunction "\~\s*[A-Za-z01-9`]*\s*\~"hs=s+1,he=e-1
32syn match mmaGenericFunction "//\s*[A-Za-z01-9`]*"hs=s+2
33syn match mmaOperator "/;"
34
35syn match mmaPureFunction "#\d*"
36syn match mmaPureFunction "&"
37
38syn match mmaUnicode "\\\[[a-zA-Z01-9]*\]"
39
40if version >= 508 || !exists("did_mma_syn_inits")
41 if version < 508
42 let did_mma_syn_inits = 1
43 command -nargs=+ HiLink hi link <args>
44 else
45 command -nargs=+ HiLink hi def link <args>
46 endif
47
48 HiLink mmaOperator Operator
49 HiLink mmaVariable Identifier
50 HiLink mmaString String
51 HiLink mmaUnicode String
52 HiLink mmaMessage Identifier
53 HiLink mmaPattern Identifier
54 HiLink mmaGenericFunction Function
55 HiLink mmaError Error
56 HiLink mmaFixme Error
57 HiLink mmaComment Comment
58 HiLink mmaPureFunction Operator
59
60 delcommand HiLink
61endif
62
63let b:current_syntax = "mma"