blob: b8fe4356b520090d26029634492cca37f9eb44ca [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim syntax file
2" Language: ATLAS
3" Maintainer: Inaki Saez <jisaez@sfe.indra.es>
4" Last Change: 2001 May 09
5
6" For version 5.x: Clear all syntax items
7" For version 6.x: Quit when a syntax file was already loaded
8if version < 600
9 syntax clear
10elseif exists("b:current_syntax")
11 finish
12endif
13
14syn case ignore
15
16syn keyword atlasStatement begin terminate
17syn keyword atlasStatement fill calculate compare
18syn keyword atlasStatement setup connect close open disconnect reset
19syn keyword atlasStatement initiate read fetch
20syn keyword atlasStatement apply measure verify remove
21syn keyword atlasStatement perform leave finish output delay
22syn keyword atlasStatement prepare execute
23syn keyword atlasStatement do
24syn match atlasStatement "\<go[ ]\+to\>"
25syn match atlasStatement "\<wait[ ]\+for\>"
26
27syn keyword atlasInclude include
28syn keyword atlasDefine define require declare identify
29
30"syn keyword atlasReserved true false go nogo hi lo via
31syn keyword atlasReserved true false
32
33syn keyword atlasStorageClass external global
34
35syn keyword atlasConditional if then else end
36syn keyword atlasRepeat while for thru
37
38" Flags BEF and statement number
39syn match atlasSpecial "^[BE ][ 0-9]\{,6}\>"
40
41" Number formats
42syn match atlasHexNumber "\<X'[0-9A-F]\+'"
43syn match atlasOctalNumber "\<O'[0-7]\+'"
44syn match atlasBinNumber "\<B'[01]\+'"
45syn match atlasNumber "\<\d\+\>"
46"Floating point number part only
47syn match atlasDecimalNumber "\.\d\+\([eE][-+]\=\d\)\=\>"
48
49syn region atlasFormatString start=+((+ end=+\())\)\|\()[ ]*\$\)+me=e-1
50syn region atlasString start=+\<C'+ end=+'+ oneline
51
52syn region atlasComment start=+^C+ end=+\$+
53syn region atlasComment2 start=+\$.\++ms=s+1 end=+$+ oneline
54
55syn match atlasIdentifier "'[A-Za-z0-9 ._-]\+'"
56
57"Synchronization with Statement terminator $
58syn sync match atlasTerminator grouphere atlasComment "^C"
59syn sync match atlasTerminator groupthere NONE "\$"
60syn sync maxlines=100
61
62
63" Define the default highlighting.
64" For version 5.7 and earlier: only when not done already
65" For version 5.8 and later: only when an item doesn't have highlighting yet
66if version >= 508 || !exists("did_atlas_syntax_inits")
67 if version < 508
68 let did_atlas_syntax_inits = 1
69 command -nargs=+ HiLink hi link <args>
70 else
71 command -nargs=+ HiLink hi def link <args>
72 endif
73
74 HiLink atlasConditional Conditional
75 HiLink atlasRepeat Repeat
76 HiLink atlasStatement Statement
77 HiLink atlasNumber Number
78 HiLink atlasHexNumber Number
79 HiLink atlasOctalNumber Number
80 HiLink atlasBinNumber Number
81 HiLink atlasDecimalNumber Float
82 HiLink atlasFormatString String
83 HiLink atlasString String
84 HiLink atlasComment Comment
85 HiLink atlasComment2 Comment
86 HiLink atlasInclude Include
87 HiLink atlasDefine Macro
88 HiLink atlasReserved PreCondit
89 HiLink atlasStorageClass StorageClass
90 HiLink atlasIdentifier NONE
91 HiLink atlasSpecial Special
92
93 delcommand HiLink
94endif
95
96let b:current_syntax = "atlas"
97
98" vim: ts=8