blob: ef698a5351397411f4546b66ef334cefcc6d7158 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim syntax file
2" Language: Rexx
3" Maintainer: Thomas Geulig <geulig@nentec.de>
Bram Moolenaar3a0d8092012-10-21 03:02:54 +02004" Last Change: 2012 Sep 14, added support for new ooRexx 4.0 features
Bram Moolenaar4c3f5362006-04-11 21:38:50 +00005" URL: http://www.geulig.de/vim/rexx.vim
Bram Moolenaar4c3f5362006-04-11 21:38:50 +00006" Special Thanks to Dan Sharp <dwsharp@hotmail.com> and Rony G. Flatscher
7" <Rony.Flatscher@wu-wien.ac.at> for comments and additions
Bram Moolenaar071d4272004-06-13 20:20:40 +00008
9" For version 5.x: Clear all syntax items
10" For version 6.x: Quit when a syntax file was already loaded
11if version < 600
12 syntax clear
13elseif exists("b:current_syntax")
14 finish
15endif
16
17syn case ignore
18
Bram Moolenaar4c3f5362006-04-11 21:38:50 +000019" add to valid identifier chars
20setlocal iskeyword+=.
21setlocal iskeyword+=!
22setlocal iskeyword+=?
23
24" ---rgf, position important: must be before comments etc. !
Bram Moolenaar8c8de832008-06-24 22:58:06 +000025syn match rexxOperator "[=|\/\\\+\*\[\],;:<>&\~%\-]"
Bram Moolenaar4c3f5362006-04-11 21:38:50 +000026
Bram Moolenaar8c8de832008-06-24 22:58:06 +000027" rgf syn match rexxIdentifier "\<[a-zA-Z\!\?_]\([a-zA-Z0-9._?!]\)*\>"
28syn match rexxIdentifier "\<\K\k*\>"
29syn match rexxEnvironmentSymbol "\<\.\k\+\>"
Bram Moolenaar4c3f5362006-04-11 21:38:50 +000030
Bram Moolenaar071d4272004-06-13 20:20:40 +000031" A Keyword is the first symbol in a clause. A clause begins at the start
32" of a line or after a semicolon. THEN, ELSE, OTHERWISE, and colons are always
33" followed by an implied semicolon.
Bram Moolenaar8c8de832008-06-24 22:58:06 +000034syn match rexxClause "\(^\|;\|:\|then \|else \|when \|otherwise \)\s*\S*" contains=ALLBUT,rexxParse2,rexxRaise2,rexxForward2
Bram Moolenaar071d4272004-06-13 20:20:40 +000035
36" Considered keywords when used together in a phrase and begin a clause
Bram Moolenaar8c8de832008-06-24 22:58:06 +000037syn match rexxParse "\<parse\s*\(\(upper\|lower\|caseless\)\s*\)\?\(arg\|linein\|pull\|source\|var\|\<value\>\|version\)\>" containedin=rexxClause contains=rexxParse2
38syn match rexxParse2 "\<with\>" containedin=rexxParse
Bram Moolenaar4c3f5362006-04-11 21:38:50 +000039
Bram Moolenaar071d4272004-06-13 20:20:40 +000040syn match rexxKeyword contained "\<numeric \(digits\|form \(scientific\|engineering\|value\)\|fuzz\)\>"
Bram Moolenaar8c8de832008-06-24 22:58:06 +000041syn match rexxKeyword contained "\<\(address\|trace\)\( value\)\?\>"
42syn match rexxKeyword contained "\<procedure\(\s*expose\)\?\>"
43
44syn match rexxKeyword contained "\<\(do\|loop\)\>\(\s\+label\s\+\k*\)\?\(\s\+forever\)\?\>"
45syn match rexxKeyword contained "\<use\>\s*\(strict\s*\)\?\<arg\>"
Bram Moolenaar071d4272004-06-13 20:20:40 +000046
47" Another keyword phrase, separated to aid highlighting in rexxFunction
Bram Moolenaar8c8de832008-06-24 22:58:06 +000048syn match rexxRegularCallSignal contained "\<\(call\|signal\)\s\(\s*on\>\|\s*off\>\)\@!\(\k\+\ze\|\ze(\)\(\s*\|;\|$\|(\)"
49syn region rexxLabel contained start="\<\(call\|signal\)\>\s*\zs\(\k*\|(\)" end="\ze\(\s*\|;\|$\|(\)" containedin=rexxRegularCallSignal
Bram Moolenaar4c3f5362006-04-11 21:38:50 +000050
Bram Moolenaar3a0d8092012-10-21 03:02:54 +020051syn match rexxExceptionHandling contained "\<\(call\|signal\)\>\s\+\<\(on\|off\)\>.*\(;\|$\)" contains=rexxComment
Bram Moolenaar8c8de832008-06-24 22:58:06 +000052
53" hilite label given after keyword "name"
54syn match rexxLabel "name\s\+\zs\k\+\ze" containedin=rexxExceptionHandling
55" hilite condition name (serves as label)
56syn match rexxLabel "\<\(call\|signal\)\>\s\+\<\(on\|off\)\>\s*\zs\k\+\ze\s*\(;\|$\)" containedin=rexxExceptionHandling
57" user exception handling, hilite user defined name
58syn region rexxLabel contained start="user\s\+\zs\k" end="\ze\(\s\|;\|$\)" containedin=rexxExceptionHandling
Bram Moolenaar071d4272004-06-13 20:20:40 +000059
60" Considered keywords when they begin a clause
Bram Moolenaar8c8de832008-06-24 22:58:06 +000061syn match rexxKeywordStatements "\<\(arg\|catch\|do\|drop\|end\|exit\|expose\|finally\|forward\|if\|interpret\|iterate\|leave\|loop\|nop\)\>"
62syn match rexxKeywordStatements "\<\(options\|pull\|push\|queue\|raise\|reply\|return\|say\|select\|trace\)\>"
63
64" Conditional keywords starting a new statement
65syn match rexxConditional "\<\(then\|else\|when\|otherwise\)\(\s*\|;\|\_$\|\)\>" contains=rexxKeywordStatements
Bram Moolenaar071d4272004-06-13 20:20:40 +000066
67" Conditional phrases
Bram Moolenaar8c8de832008-06-24 22:58:06 +000068syn match rexxLoopKeywords "\<\(to\|by\|for\|until\|while\|over\)\>" containedin=doLoopSelectLabelRegion
Bram Moolenaar071d4272004-06-13 20:20:40 +000069
Bram Moolenaar4c3f5362006-04-11 21:38:50 +000070" must be after Conditional phrases!
Bram Moolenaar3a0d8092012-10-21 03:02:54 +020071syn match doLoopSelectLabelRegion "\<\(do\|loop\|select\)\>\s\+\(label\s\+\)\?\(\s\+\k\+\s\+\zs\<over\>\)\?\k*\(\s\+forever\)\?\(\s\|;\|$\)" contains=doLoopSelectLabelRegion,rexxStartValueAssignment,rexxLoopKeywords
Bram Moolenaar8c8de832008-06-24 22:58:06 +000072
73" color label's name
74syn match rexxLabel2 "\<\(do\|loop\|select\)\>\s\+label\s\+\zs\k*\ze" containedin=doLoopSelectLabelRegion
75
76" make sure control variable is normal
Bram Moolenaar3a0d8092012-10-21 03:02:54 +020077" TODO: re-activate ?
78"rgf syn match rexxControlVariable "\<\(do\|loop\)\>\(\s\+label\s\+\k*\)\?\s\+\zs.*\ze\s\+\<over\>" containedin=doLoopSelectLabelRegion
Bram Moolenaar8c8de832008-06-24 22:58:06 +000079
80" make sure control variable assignment is normal
81syn match rexxStartValueAssignment "\<\(do\|loop\)\>\(\s\+label\s\+\k*\)\?\s\+\zs.*\ze\(=.*\)\?\s\+\<to\>" containedin=doLoopSelectLabelRegion
82
83" highlight label name
84syn match endIterateLeaveLabelRegion "\<\(end\|leave\|iterate\)\>\(\s\+\K\k*\)" contains=rexxLabel2
85syn match rexxLabel2 "\<\(end\|leave\|iterate\)\>\s\+\zs\k*\ze" containedin=endIterateLeaveLabelRegion
86
87" Guard statement
88syn match rexxGuard "\(^\|;\|:\)\s*\<guard\>\s\+\<\(on\|off\)\>"
89
90" Trace statement
91syn match rexxTrace "\(^\|;\|:\)\s*\<trace\>\s\+\<\K\k*\>"
Bram Moolenaar4c3f5362006-04-11 21:38:50 +000092
93" Raise statement
Bram Moolenaar3a0d8092012-10-21 03:02:54 +020094" syn match rexxRaise "\(^\|;\|:\)\s\+\<raise\>\s*\<\(propagate\|error\|failure\|syntax\|user\)\>\?" contains=rexxRaise2
95syn match rexxRaise "\(^\|;\|:\)\s*\<raise\>\s*\<\(propagate\|error\|failure\|syntax\|user\)\>\?" contains=rexxRaise2
Bram Moolenaar8c8de832008-06-24 22:58:06 +000096syn match rexxRaise2 "\<\(additional\|array\|description\|exit\|propagate\|return\)\>" containedin=rexxRaise
Bram Moolenaar4c3f5362006-04-11 21:38:50 +000097
Bram Moolenaar8c8de832008-06-24 22:58:06 +000098" Forward statement
99syn match rexxForward "\(^\|;\|:\)\<forward\>\s*" contains=rexxForward2
100syn match rexxForward2 "\<\(arguments\|array\|continue\|message\|class\|to\)\>" contained
Bram Moolenaar071d4272004-06-13 20:20:40 +0000101
102" Functions/Procedures
Bram Moolenaar8c8de832008-06-24 22:58:06 +0000103syn match rexxFunction "\<\<[a-zA-Z\!\?_]\k*\>("me=e-1
Bram Moolenaar4c3f5362006-04-11 21:38:50 +0000104syn match rexxFunction "[()]"
Bram Moolenaar071d4272004-06-13 20:20:40 +0000105
106" String constants
Bram Moolenaar8c8de832008-06-24 22:58:06 +0000107syn region rexxString start=+"+ skip=+""+ end=+"\(x\|b\)\?+ oneline
108syn region rexxString start=+'+ skip=+''+ end=+'\(x\|b\)\?+ oneline
Bram Moolenaar071d4272004-06-13 20:20:40 +0000109
Bram Moolenaar4c3f5362006-04-11 21:38:50 +0000110syn region rexxParen transparent start='(' end=')' contains=ALLBUT,rexxParenError,rexxTodo,rexxLabel,rexxKeyword
Bram Moolenaar8c8de832008-06-24 22:58:06 +0000111" Catch errors caused by wrong parenthesis
Bram Moolenaar071d4272004-06-13 20:20:40 +0000112syn match rexxParenError ")"
113syn match rexxInParen "[\\[\\]{}]"
114
115" Comments
Bram Moolenaar8c8de832008-06-24 22:58:06 +0000116syn region rexxComment start="/\*" end="\*/" contains=rexxTodo,rexxComment
117syn match rexxCommentError "\*/"
118syn region rexxLineComment start="--" end="\_$" oneline
119
120" Highlight User Labels
121" check for labels between comments, labels stated in a statement in the middle of a line
122syn match rexxLabel "\(\_^\|;\)\s*\(\/\*.*\*\/\)*\s*\k\+\s*\(\/\*.*\*\/\)*\s*:"me=e-1 contains=rexxTodo,rexxComment
Bram Moolenaar071d4272004-06-13 20:20:40 +0000123
124syn keyword rexxTodo contained TODO FIXME XXX
125
Bram Moolenaar4c3f5362006-04-11 21:38:50 +0000126" ooRexx messages
127syn region rexxMessageOperator start="\(\~\|\~\~\)" end="\(\S\|\s\)"me=e-1
128syn match rexxMessage "\(\~\|\~\~\)\s*\<\.*[a-zA-Z]\([a-zA-Z0-9._?!]\)*\>" contains=rexxMessageOperator
129
Bram Moolenaar8c8de832008-06-24 22:58:06 +0000130" line continuations, take care of (line-)comments after it
Bram Moolenaar4c3f5362006-04-11 21:38:50 +0000131syn match rexxLineContinue ",\ze\s*\(--.*\|\/\*.*\)*$"
Bram Moolenaar8c8de832008-06-24 22:58:06 +0000132
Bram Moolenaar4c3f5362006-04-11 21:38:50 +0000133" the following is necessary, otherwise three consecutive dashes will cause it to highlight the first one
Bram Moolenaar8c8de832008-06-24 22:58:06 +0000134syn match rexxLineContinue "-\ze-\@!\s*\(--.*\|\s*\/\*.*\)\?$"
Bram Moolenaar071d4272004-06-13 20:20:40 +0000135
136" Special Variables
Bram Moolenaar4c3f5362006-04-11 21:38:50 +0000137syn keyword rexxSpecialVariable sigl rc result self super
Bram Moolenaar8c8de832008-06-24 22:58:06 +0000138syn keyword rexxSpecialVariable .environment .error .input .local .methods .output .rs .stderr .stdin .stdout .stdque
Bram Moolenaar4c3f5362006-04-11 21:38:50 +0000139
140" Constants
Bram Moolenaar3a0d8092012-10-21 03:02:54 +0200141syn keyword rexxConst .true .false .nil .endOfLine .line .context
Bram Moolenaar4c3f5362006-04-11 21:38:50 +0000142
Bram Moolenaar3a0d8092012-10-21 03:02:54 +0200143" Rexx numbers
144" int like number
145syn match rexxNumber '\d\+' contained
146syn match rexxNumber '[-+]\s*\d\+' contained
147
148" Floating point number with decimal
149syn match rexxNumber '\d\+\.\d*' contained
150syn match rexxNumber '[-+]\s*\d\+\.\d*' contained
151
152" Floating point like number with E
153syn match rexxNumber '[-+]\s*\d*[eE][\-+]\d\+' contained
154syn match rexxNumber '\d*[eE][\-+]\d\+' contained
155
156" Floating point like number with E and decimal point (+,-)
157syn match rexxNumber '[-+]\s*\d*\.\d*[eE][\-+]\d\+' contained
158syn match rexxNumber '\d*\.\d*[eE][\-+]\d\+' contained
159
Bram Moolenaar8c8de832008-06-24 22:58:06 +0000160
161" ooRexx builtin classes (as of version 3.2.0, fall 2007), first define dot to be o.k. in keywords
162syn keyword rexxBuiltinClass .Alarm .ArgUtil .Array .Bag .CaselessColumnComparator
163syn keyword rexxBuiltinClass .CaselessComparator .CaselessDescendingComparator .CircularQueue
164syn keyword rexxBuiltinClass .Class .Collection .ColumnComparator .Comparable .Comparator
Bram Moolenaar3a0d8092012-10-21 03:02:54 +0200165syn keyword rexxBuiltinClass .DateTime .DescendingComparator .Directory .File .InputOutputStream
Bram Moolenaar8c8de832008-06-24 22:58:06 +0000166syn keyword rexxBuiltinClass .InputStream .InvertingComparator .List .MapCollection
167syn keyword rexxBuiltinClass .Message .Method .Monitor .MutableBuffer .Object
Bram Moolenaar3a0d8092012-10-21 03:02:54 +0200168syn keyword rexxBuiltinClass .OrderedCollection .OutputStream .Package .Properties .Queue
169syn keyword rexxBuiltinClass .RegularExpression .Relation .RexxContext .RexxQueue .Routine
170syn keyword rexxBuiltinClass .Set .SetCollection .Stem .Stream
Bram Moolenaar8c8de832008-06-24 22:58:06 +0000171syn keyword rexxBuiltinClass .StreamSupplier .String .Supplier .Table .TimeSpan
Bram Moolenaar4c3f5362006-04-11 21:38:50 +0000172
173" Windows-only classes
Bram Moolenaar8c8de832008-06-24 22:58:06 +0000174syn keyword rexxBuiltinClass .AdvancedControls .AnimatedButton .BaseDialog .ButtonControl
175syn keyword rexxBuiltinClass .CategoryDialog .CheckBox .CheckList .ComboBox .DialogControl
176syn keyword rexxBuiltinClass .DialogExtensions .DlgArea .DlgAreaU .DynamicDialog
177syn keyword rexxBuiltinClass .EditControl .InputBox .IntegerBox .ListBox .ListChoice
178syn keyword rexxBuiltinClass .ListControl .MenuObject .MessageExtensions .MultiInputBox
Bram Moolenaar3a0d8092012-10-21 03:02:54 +0200179syn keyword rexxBuiltinClass .MultiListChoice .OLEObject .OLEVariant
180syn keyword rexxBuiltinClass .PasswordBox .PlainBaseDialog .PlainUserDialog
Bram Moolenaar8c8de832008-06-24 22:58:06 +0000181syn keyword rexxBuiltinClass .ProgressBar .ProgressIndicator .PropertySheet .RadioButton
182syn keyword rexxBuiltinClass .RcDialog .ResDialog .ScrollBar .SingleSelection .SliderControl
183syn keyword rexxBuiltinClass .StateIndicator .StaticControl .TabControl .TimedMessage
184syn keyword rexxBuiltinClass .TreeControl .UserDialog .VirtualKeyCodes .WindowBase
185syn keyword rexxBuiltinClass .WindowExtensions .WindowObject .WindowsClassesBase .WindowsClipboard
186syn keyword rexxBuiltinClass .WindowsEventLog .WindowsManager .WindowsProgramManager .WindowsRegistry
Bram Moolenaar4c3f5362006-04-11 21:38:50 +0000187
Bram Moolenaar3a0d8092012-10-21 03:02:54 +0200188" BSF4ooRexx classes
189syn keyword rexxBuiltinClass .BSF .bsf.dialog .bsf_proxy
190syn keyword rexxBuiltinClass .UNO .UNO_ENUM .UNO_CONSTANTS .UNO_PROPERTIES
191
Bram Moolenaar8c8de832008-06-24 22:58:06 +0000192" ooRexx directives, ---rgf location important, otherwise directives in top of file not matched!
193syn region rexxClassDirective start="::\s*class\s*"ms=e+1 end="\ze\(\s\|;\|$\)"
194syn region rexxMethodDirective start="::\s*method\s*"ms=e+1 end="\ze\(\s\|;\|$\)"
195syn region rexxRequiresDirective start="::\s*requires\s*"ms=e+1 end="\ze\(\s\|;\|$\)"
196syn region rexxRoutineDirective start="::\s*routine\s*"ms=e+1 end="\ze\(\s\|;\|$\)"
197syn region rexxAttributeDirective start="::\s*attribute\s*"ms=e+1 end="\ze\(\s\|;\|$\)"
Bram Moolenaar3a0d8092012-10-21 03:02:54 +0200198" rgf, 2012-09-09
199syn region rexxOptionsDirective start="::\s*options\s*"ms=e+1 end="\ze\(\s\|;\|$\)"
200syn region rexxConstantDirective start="::\s*constant\s*"ms=e+1 end="\ze\(\s\|;\|$\)"
Bram Moolenaar4c3f5362006-04-11 21:38:50 +0000201
Bram Moolenaar3a0d8092012-10-21 03:02:54 +0200202syn region rexxDirective start="\(^\|;\)\s*::\s*\w\+" end="\($\|;\)" contains=rexxString,rexxNumber,rexxComment,rexxLineComment,rexxClassDirective,rexxMethodDirective,rexxRoutineDirective,rexxRequiresDirective,rexxAttributeDirective,rexxOptionsDirective,rexxConstantDirective keepend
203
204syn match rexxOptionsDirective2 "\<\(digits\|form\|fuzz\|trace\)\>" containedin = rexxOptionsDirective3
205syn region rexxOptionsDirective3 start="\(^\|;\)\s*::\s*options\s"ms=e+1 end="\($\|;\)" contains=rexxString,rexxNumber,rexxVariable,rexxComment,rexxLineComment containedin = rexxDirective
206
Bram Moolenaar4c3f5362006-04-11 21:38:50 +0000207
Bram Moolenaar8c8de832008-06-24 22:58:06 +0000208syn region rexxVariable start="\zs\<\(\.\)\@!\K\k\+\>\ze\s*\(=\|,\|)\|%\|\]\|\\\||\|&\|+=\|-=\|<\|>\)" end="\(\_$\|.\)"me=e-1
Bram Moolenaar3a0d8092012-10-21 03:02:54 +0200209syn match rexxVariable "\(=\|,\|)\|%\|\]\|\\\||\|&\|+=\|-=\|<\|>\)\s*\zs\K\k*\ze"
Bram Moolenaar4c3f5362006-04-11 21:38:50 +0000210
Bram Moolenaar8c8de832008-06-24 22:58:06 +0000211" rgf, 2007-07-22: unfortunately, the entire region is colored (not only the
212" patterns), hence useless (vim 7.0)! (syntax-docs hint that that should work)
213" attempt: just colorize the parenthesis in matching colors, keep content
214" transparent to keep the formatting already done to it!
Bram Moolenaar3a0d8092012-10-21 03:02:54 +0200215" TODO: test on 7.3
Bram Moolenaar8c8de832008-06-24 22:58:06 +0000216" syn region par1 matchgroup=par1 start="(" matchgroup=par1 end=")" transparent contains=par2
217" syn region par2 matchgroup=par2 start="(" matchgroup=par2 end=")" transparent contains=par3 contained
218" syn region par3 matchgroup=par3 start="(" matchgroup=par3 end=")" transparent contains=par4 contained
219" syn region par4 matchgroup=par4 start="(" matchgroup=par4 end=")" transparent contains=par5 contained
220" syn region par5 matchgroup=par5 start="(" matchgroup=par5 end=")" transparent contains=par1 contained
Bram Moolenaar4c3f5362006-04-11 21:38:50 +0000221
Bram Moolenaar8c8de832008-06-24 22:58:06 +0000222" this will colorize the entire region, removing any colorizing already done!
223" syn region par1 matchgroup=par1 start="(" end=")" contains=par2
224" syn region par2 matchgroup=par2 start="(" end=")" contains=par3 contained
225" syn region par3 matchgroup=par3 start="(" end=")" contains=par4 contained
226" syn region par4 matchgroup=par4 start="(" end=")" contains=par5 contained
227" syn region par5 matchgroup=par5 start="(" end=")" contains=par1 contained
Bram Moolenaar071d4272004-06-13 20:20:40 +0000228
Bram Moolenaar3a0d8092012-10-21 03:02:54 +0200229hi par1 ctermfg=red guifg=red "guibg=grey
230hi par2 ctermfg=blue guifg=blue "guibg=grey
231hi par3 ctermfg=darkgreen guifg=darkgreen "guibg=grey
232hi par4 ctermfg=darkyellow guifg=darkyellow "guibg=grey
233hi par5 ctermfg=darkgrey guifg=darkgrey "guibg=grey
Bram Moolenaar8c8de832008-06-24 22:58:06 +0000234
235" line continuation (trailing comma or single dash)
236syn sync linecont "\(,\|-\ze-\@!\)\ze\s*\(--.*\|\/\*.*\)*$"
237
238" if !exists("rexx_minlines")
239" let rexx_minlines = 500
240" endif
241" exec "syn sync ccomment rexxComment minlines=" . rexx_minlines
242
Bram Moolenaar3a0d8092012-10-21 03:02:54 +0200243" always scan from start, PCs have long become to be powerful enough for that
Bram Moolenaar8c8de832008-06-24 22:58:06 +0000244exec "syn sync fromstart"
Bram Moolenaar071d4272004-06-13 20:20:40 +0000245
246" Define the default highlighting.
247" For version 5.7 and earlier: only when not done already
248" For version 5.8 and later: only when an item doesn't have highlighting yet
249if version >= 508 || !exists("did_rexx_syn_inits")
250 if version < 508
251 let did_rexx_syn_inits = 1
252 command -nargs=+ HiLink hi link <args>
253 else
254 command -nargs=+ HiLink hi def link <args>
255 endif
256
Bram Moolenaar8c8de832008-06-24 22:58:06 +0000257 " make binary and hex strings stand out
258 hi rexxStringConstant term=bold,underline ctermfg=5 cterm=bold guifg=darkMagenta gui=bold
259
260 HiLink rexxLabel2 Function
261 HiLink doLoopSelectLabelRegion rexxKeyword
262 HiLink endIterateLeaveLabelRegion rexxKeyword
263 HiLink rexxLoopKeywords rexxKeyword " Todo
264
Bram Moolenaar3a0d8092012-10-21 03:02:54 +0200265 HiLink rexxNumber Normal "DiffChange
Bram Moolenaar8c8de832008-06-24 22:58:06 +0000266" HiLink rexxIdentifier DiffChange
267
268 HiLink rexxRegularCallSignal Statement
269 HiLink rexxExceptionHandling Statement
270
Bram Moolenaar4c3f5362006-04-11 21:38:50 +0000271 HiLink rexxLabel Function
Bram Moolenaar071d4272004-06-13 20:20:40 +0000272 HiLink rexxCharacter Character
273 HiLink rexxParenError rexxError
274 HiLink rexxInParen rexxError
275 HiLink rexxCommentError rexxError
276 HiLink rexxError Error
277 HiLink rexxKeyword Statement
Bram Moolenaar3a0d8092012-10-21 03:02:54 +0200278 HiLink rexxKeywordStatements Statement
Bram Moolenaar8c8de832008-06-24 22:58:06 +0000279
Bram Moolenaar071d4272004-06-13 20:20:40 +0000280 HiLink rexxFunction Function
281 HiLink rexxString String
282 HiLink rexxComment Comment
283 HiLink rexxTodo Todo
284 HiLink rexxSpecialVariable Special
285 HiLink rexxConditional rexxKeyword
286
Bram Moolenaar4c3f5362006-04-11 21:38:50 +0000287 HiLink rexxOperator Operator
288 HiLink rexxMessageOperator rexxOperator
Bram Moolenaar8c8de832008-06-24 22:58:06 +0000289 HiLink rexxLineComment Comment
Bram Moolenaar4c3f5362006-04-11 21:38:50 +0000290
291 HiLink rexxLineContinue WildMenu
292
293 HiLink rexxDirective rexxKeyword
Bram Moolenaar8c8de832008-06-24 22:58:06 +0000294 HiLink rexxClassDirective Type
295 HiLink rexxMethodDirective rexxFunction
296 HiLink rexxAttributeDirective rexxFunction
297 HiLink rexxRequiresDirective Include
298 HiLink rexxRoutineDirective rexxFunction
Bram Moolenaar4c3f5362006-04-11 21:38:50 +0000299
Bram Moolenaar3a0d8092012-10-21 03:02:54 +0200300" rgf, 2012-09-09
301 HiLink rexxOptionsDirective rexxFunction
302 HiLink rexxOptionsDirective2 rexxOptionsDirective
303 HiLink rexxOptionsDirective3 Normal " rexxOptionsDirective
304
305 HiLink rexxConstantDirective rexxFunction
306
Bram Moolenaar4c3f5362006-04-11 21:38:50 +0000307 HiLink rexxConst Constant
308 HiLink rexxTypeSpecifier Type
309 HiLink rexxBuiltinClass rexxTypeSpecifier
310
311 HiLink rexxEnvironmentSymbol rexxConst
312 HiLink rexxMessage rexxFunction
313
314 HiLink rexxParse rexxKeyword
315 HiLink rexxParse2 rexxParse
316
Bram Moolenaar8c8de832008-06-24 22:58:06 +0000317 HiLink rexxGuard rexxKeyword
318 HiLink rexxTrace rexxKeyword
319
Bram Moolenaar4c3f5362006-04-11 21:38:50 +0000320 HiLink rexxRaise rexxKeyword
321 HiLink rexxRaise2 rexxRaise
322
323 HiLink rexxForward rexxKeyword
324 HiLink rexxForward2 rexxForward
325
Bram Moolenaar071d4272004-06-13 20:20:40 +0000326 delcommand HiLink
327endif
328
329let b:current_syntax = "rexx"
330
331"vim: ts=8