blob: b22af93c184634949fb92f7fdc05412a0fed42f4 [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
Bram Moolenaar89bcfda2016-08-30 23:26:57 +02009" quit when a syntax file was already loaded
10if exists("b:current_syntax")
Bram Moolenaar071d4272004-06-13 20:20:40 +000011 finish
12endif
13
14syn case ignore
15
Bram Moolenaar4c3f5362006-04-11 21:38:50 +000016" add to valid identifier chars
17setlocal iskeyword+=.
18setlocal iskeyword+=!
19setlocal iskeyword+=?
20
21" ---rgf, position important: must be before comments etc. !
Bram Moolenaar8c8de832008-06-24 22:58:06 +000022syn match rexxOperator "[=|\/\\\+\*\[\],;:<>&\~%\-]"
Bram Moolenaar4c3f5362006-04-11 21:38:50 +000023
Bram Moolenaar8c8de832008-06-24 22:58:06 +000024" rgf syn match rexxIdentifier "\<[a-zA-Z\!\?_]\([a-zA-Z0-9._?!]\)*\>"
25syn match rexxIdentifier "\<\K\k*\>"
26syn match rexxEnvironmentSymbol "\<\.\k\+\>"
Bram Moolenaar4c3f5362006-04-11 21:38:50 +000027
Bram Moolenaar071d4272004-06-13 20:20:40 +000028" A Keyword is the first symbol in a clause. A clause begins at the start
29" of a line or after a semicolon. THEN, ELSE, OTHERWISE, and colons are always
30" followed by an implied semicolon.
Bram Moolenaar8c8de832008-06-24 22:58:06 +000031syn match rexxClause "\(^\|;\|:\|then \|else \|when \|otherwise \)\s*\S*" contains=ALLBUT,rexxParse2,rexxRaise2,rexxForward2
Bram Moolenaar071d4272004-06-13 20:20:40 +000032
33" Considered keywords when used together in a phrase and begin a clause
Bram Moolenaar8c8de832008-06-24 22:58:06 +000034syn match rexxParse "\<parse\s*\(\(upper\|lower\|caseless\)\s*\)\?\(arg\|linein\|pull\|source\|var\|\<value\>\|version\)\>" containedin=rexxClause contains=rexxParse2
35syn match rexxParse2 "\<with\>" containedin=rexxParse
Bram Moolenaar4c3f5362006-04-11 21:38:50 +000036
Bram Moolenaar071d4272004-06-13 20:20:40 +000037syn match rexxKeyword contained "\<numeric \(digits\|form \(scientific\|engineering\|value\)\|fuzz\)\>"
Bram Moolenaar8c8de832008-06-24 22:58:06 +000038syn match rexxKeyword contained "\<\(address\|trace\)\( value\)\?\>"
39syn match rexxKeyword contained "\<procedure\(\s*expose\)\?\>"
40
41syn match rexxKeyword contained "\<\(do\|loop\)\>\(\s\+label\s\+\k*\)\?\(\s\+forever\)\?\>"
42syn match rexxKeyword contained "\<use\>\s*\(strict\s*\)\?\<arg\>"
Bram Moolenaar071d4272004-06-13 20:20:40 +000043
44" Another keyword phrase, separated to aid highlighting in rexxFunction
Bram Moolenaar8c8de832008-06-24 22:58:06 +000045syn match rexxRegularCallSignal contained "\<\(call\|signal\)\s\(\s*on\>\|\s*off\>\)\@!\(\k\+\ze\|\ze(\)\(\s*\|;\|$\|(\)"
46syn region rexxLabel contained start="\<\(call\|signal\)\>\s*\zs\(\k*\|(\)" end="\ze\(\s*\|;\|$\|(\)" containedin=rexxRegularCallSignal
Bram Moolenaar4c3f5362006-04-11 21:38:50 +000047
Bram Moolenaar3a0d8092012-10-21 03:02:54 +020048syn match rexxExceptionHandling contained "\<\(call\|signal\)\>\s\+\<\(on\|off\)\>.*\(;\|$\)" contains=rexxComment
Bram Moolenaar8c8de832008-06-24 22:58:06 +000049
50" hilite label given after keyword "name"
51syn match rexxLabel "name\s\+\zs\k\+\ze" containedin=rexxExceptionHandling
52" hilite condition name (serves as label)
53syn match rexxLabel "\<\(call\|signal\)\>\s\+\<\(on\|off\)\>\s*\zs\k\+\ze\s*\(;\|$\)" containedin=rexxExceptionHandling
54" user exception handling, hilite user defined name
55syn region rexxLabel contained start="user\s\+\zs\k" end="\ze\(\s\|;\|$\)" containedin=rexxExceptionHandling
Bram Moolenaar071d4272004-06-13 20:20:40 +000056
57" Considered keywords when they begin a clause
Bram Moolenaar8c8de832008-06-24 22:58:06 +000058syn match rexxKeywordStatements "\<\(arg\|catch\|do\|drop\|end\|exit\|expose\|finally\|forward\|if\|interpret\|iterate\|leave\|loop\|nop\)\>"
59syn match rexxKeywordStatements "\<\(options\|pull\|push\|queue\|raise\|reply\|return\|say\|select\|trace\)\>"
60
61" Conditional keywords starting a new statement
62syn match rexxConditional "\<\(then\|else\|when\|otherwise\)\(\s*\|;\|\_$\|\)\>" contains=rexxKeywordStatements
Bram Moolenaar071d4272004-06-13 20:20:40 +000063
64" Conditional phrases
Bram Moolenaar8c8de832008-06-24 22:58:06 +000065syn match rexxLoopKeywords "\<\(to\|by\|for\|until\|while\|over\)\>" containedin=doLoopSelectLabelRegion
Bram Moolenaar071d4272004-06-13 20:20:40 +000066
Bram Moolenaar4c3f5362006-04-11 21:38:50 +000067" must be after Conditional phrases!
Bram Moolenaar3a0d8092012-10-21 03:02:54 +020068syn 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 +000069
70" color label's name
71syn match rexxLabel2 "\<\(do\|loop\|select\)\>\s\+label\s\+\zs\k*\ze" containedin=doLoopSelectLabelRegion
72
73" make sure control variable is normal
Bram Moolenaar3a0d8092012-10-21 03:02:54 +020074" TODO: re-activate ?
75"rgf syn match rexxControlVariable "\<\(do\|loop\)\>\(\s\+label\s\+\k*\)\?\s\+\zs.*\ze\s\+\<over\>" containedin=doLoopSelectLabelRegion
Bram Moolenaar8c8de832008-06-24 22:58:06 +000076
77" make sure control variable assignment is normal
78syn match rexxStartValueAssignment "\<\(do\|loop\)\>\(\s\+label\s\+\k*\)\?\s\+\zs.*\ze\(=.*\)\?\s\+\<to\>" containedin=doLoopSelectLabelRegion
79
80" highlight label name
81syn match endIterateLeaveLabelRegion "\<\(end\|leave\|iterate\)\>\(\s\+\K\k*\)" contains=rexxLabel2
82syn match rexxLabel2 "\<\(end\|leave\|iterate\)\>\s\+\zs\k*\ze" containedin=endIterateLeaveLabelRegion
83
84" Guard statement
85syn match rexxGuard "\(^\|;\|:\)\s*\<guard\>\s\+\<\(on\|off\)\>"
86
87" Trace statement
88syn match rexxTrace "\(^\|;\|:\)\s*\<trace\>\s\+\<\K\k*\>"
Bram Moolenaar4c3f5362006-04-11 21:38:50 +000089
90" Raise statement
Bram Moolenaar3a0d8092012-10-21 03:02:54 +020091" syn match rexxRaise "\(^\|;\|:\)\s\+\<raise\>\s*\<\(propagate\|error\|failure\|syntax\|user\)\>\?" contains=rexxRaise2
92syn match rexxRaise "\(^\|;\|:\)\s*\<raise\>\s*\<\(propagate\|error\|failure\|syntax\|user\)\>\?" contains=rexxRaise2
Bram Moolenaar8c8de832008-06-24 22:58:06 +000093syn match rexxRaise2 "\<\(additional\|array\|description\|exit\|propagate\|return\)\>" containedin=rexxRaise
Bram Moolenaar4c3f5362006-04-11 21:38:50 +000094
Bram Moolenaar8c8de832008-06-24 22:58:06 +000095" Forward statement
96syn match rexxForward "\(^\|;\|:\)\<forward\>\s*" contains=rexxForward2
97syn match rexxForward2 "\<\(arguments\|array\|continue\|message\|class\|to\)\>" contained
Bram Moolenaar071d4272004-06-13 20:20:40 +000098
99" Functions/Procedures
Bram Moolenaar8c8de832008-06-24 22:58:06 +0000100syn match rexxFunction "\<\<[a-zA-Z\!\?_]\k*\>("me=e-1
Bram Moolenaar4c3f5362006-04-11 21:38:50 +0000101syn match rexxFunction "[()]"
Bram Moolenaar071d4272004-06-13 20:20:40 +0000102
103" String constants
Bram Moolenaar8c8de832008-06-24 22:58:06 +0000104syn region rexxString start=+"+ skip=+""+ end=+"\(x\|b\)\?+ oneline
105syn region rexxString start=+'+ skip=+''+ end=+'\(x\|b\)\?+ oneline
Bram Moolenaar071d4272004-06-13 20:20:40 +0000106
Bram Moolenaar4c3f5362006-04-11 21:38:50 +0000107syn region rexxParen transparent start='(' end=')' contains=ALLBUT,rexxParenError,rexxTodo,rexxLabel,rexxKeyword
Bram Moolenaar8c8de832008-06-24 22:58:06 +0000108" Catch errors caused by wrong parenthesis
Bram Moolenaar071d4272004-06-13 20:20:40 +0000109syn match rexxParenError ")"
110syn match rexxInParen "[\\[\\]{}]"
111
112" Comments
Bram Moolenaar8c8de832008-06-24 22:58:06 +0000113syn region rexxComment start="/\*" end="\*/" contains=rexxTodo,rexxComment
114syn match rexxCommentError "\*/"
115syn region rexxLineComment start="--" end="\_$" oneline
116
117" Highlight User Labels
118" check for labels between comments, labels stated in a statement in the middle of a line
119syn match rexxLabel "\(\_^\|;\)\s*\(\/\*.*\*\/\)*\s*\k\+\s*\(\/\*.*\*\/\)*\s*:"me=e-1 contains=rexxTodo,rexxComment
Bram Moolenaar071d4272004-06-13 20:20:40 +0000120
121syn keyword rexxTodo contained TODO FIXME XXX
122
Bram Moolenaar4c3f5362006-04-11 21:38:50 +0000123" ooRexx messages
124syn region rexxMessageOperator start="\(\~\|\~\~\)" end="\(\S\|\s\)"me=e-1
125syn match rexxMessage "\(\~\|\~\~\)\s*\<\.*[a-zA-Z]\([a-zA-Z0-9._?!]\)*\>" contains=rexxMessageOperator
126
Bram Moolenaar8c8de832008-06-24 22:58:06 +0000127" line continuations, take care of (line-)comments after it
Bram Moolenaar4c3f5362006-04-11 21:38:50 +0000128syn match rexxLineContinue ",\ze\s*\(--.*\|\/\*.*\)*$"
Bram Moolenaar8c8de832008-06-24 22:58:06 +0000129
Bram Moolenaar4c3f5362006-04-11 21:38:50 +0000130" the following is necessary, otherwise three consecutive dashes will cause it to highlight the first one
Bram Moolenaar8c8de832008-06-24 22:58:06 +0000131syn match rexxLineContinue "-\ze-\@!\s*\(--.*\|\s*\/\*.*\)\?$"
Bram Moolenaar071d4272004-06-13 20:20:40 +0000132
133" Special Variables
Bram Moolenaar4c3f5362006-04-11 21:38:50 +0000134syn keyword rexxSpecialVariable sigl rc result self super
Bram Moolenaar8c8de832008-06-24 22:58:06 +0000135syn keyword rexxSpecialVariable .environment .error .input .local .methods .output .rs .stderr .stdin .stdout .stdque
Bram Moolenaar4c3f5362006-04-11 21:38:50 +0000136
137" Constants
Bram Moolenaar3a0d8092012-10-21 03:02:54 +0200138syn keyword rexxConst .true .false .nil .endOfLine .line .context
Bram Moolenaar4c3f5362006-04-11 21:38:50 +0000139
Bram Moolenaar3a0d8092012-10-21 03:02:54 +0200140" Rexx numbers
141" int like number
142syn match rexxNumber '\d\+' contained
143syn match rexxNumber '[-+]\s*\d\+' contained
144
145" Floating point number with decimal
146syn match rexxNumber '\d\+\.\d*' contained
147syn match rexxNumber '[-+]\s*\d\+\.\d*' contained
148
149" Floating point like number with E
150syn match rexxNumber '[-+]\s*\d*[eE][\-+]\d\+' contained
151syn match rexxNumber '\d*[eE][\-+]\d\+' contained
152
153" Floating point like number with E and decimal point (+,-)
154syn match rexxNumber '[-+]\s*\d*\.\d*[eE][\-+]\d\+' contained
155syn match rexxNumber '\d*\.\d*[eE][\-+]\d\+' contained
156
Bram Moolenaar8c8de832008-06-24 22:58:06 +0000157
158" ooRexx builtin classes (as of version 3.2.0, fall 2007), first define dot to be o.k. in keywords
159syn keyword rexxBuiltinClass .Alarm .ArgUtil .Array .Bag .CaselessColumnComparator
160syn keyword rexxBuiltinClass .CaselessComparator .CaselessDescendingComparator .CircularQueue
161syn keyword rexxBuiltinClass .Class .Collection .ColumnComparator .Comparable .Comparator
Bram Moolenaar3a0d8092012-10-21 03:02:54 +0200162syn keyword rexxBuiltinClass .DateTime .DescendingComparator .Directory .File .InputOutputStream
Bram Moolenaar8c8de832008-06-24 22:58:06 +0000163syn keyword rexxBuiltinClass .InputStream .InvertingComparator .List .MapCollection
164syn keyword rexxBuiltinClass .Message .Method .Monitor .MutableBuffer .Object
Bram Moolenaar3a0d8092012-10-21 03:02:54 +0200165syn keyword rexxBuiltinClass .OrderedCollection .OutputStream .Package .Properties .Queue
166syn keyword rexxBuiltinClass .RegularExpression .Relation .RexxContext .RexxQueue .Routine
167syn keyword rexxBuiltinClass .Set .SetCollection .Stem .Stream
Bram Moolenaar8c8de832008-06-24 22:58:06 +0000168syn keyword rexxBuiltinClass .StreamSupplier .String .Supplier .Table .TimeSpan
Bram Moolenaar4c3f5362006-04-11 21:38:50 +0000169
170" Windows-only classes
Bram Moolenaar8c8de832008-06-24 22:58:06 +0000171syn keyword rexxBuiltinClass .AdvancedControls .AnimatedButton .BaseDialog .ButtonControl
172syn keyword rexxBuiltinClass .CategoryDialog .CheckBox .CheckList .ComboBox .DialogControl
173syn keyword rexxBuiltinClass .DialogExtensions .DlgArea .DlgAreaU .DynamicDialog
174syn keyword rexxBuiltinClass .EditControl .InputBox .IntegerBox .ListBox .ListChoice
175syn keyword rexxBuiltinClass .ListControl .MenuObject .MessageExtensions .MultiInputBox
Bram Moolenaar3a0d8092012-10-21 03:02:54 +0200176syn keyword rexxBuiltinClass .MultiListChoice .OLEObject .OLEVariant
177syn keyword rexxBuiltinClass .PasswordBox .PlainBaseDialog .PlainUserDialog
Bram Moolenaar8c8de832008-06-24 22:58:06 +0000178syn keyword rexxBuiltinClass .ProgressBar .ProgressIndicator .PropertySheet .RadioButton
179syn keyword rexxBuiltinClass .RcDialog .ResDialog .ScrollBar .SingleSelection .SliderControl
180syn keyword rexxBuiltinClass .StateIndicator .StaticControl .TabControl .TimedMessage
181syn keyword rexxBuiltinClass .TreeControl .UserDialog .VirtualKeyCodes .WindowBase
182syn keyword rexxBuiltinClass .WindowExtensions .WindowObject .WindowsClassesBase .WindowsClipboard
183syn keyword rexxBuiltinClass .WindowsEventLog .WindowsManager .WindowsProgramManager .WindowsRegistry
Bram Moolenaar4c3f5362006-04-11 21:38:50 +0000184
Bram Moolenaar3a0d8092012-10-21 03:02:54 +0200185" BSF4ooRexx classes
186syn keyword rexxBuiltinClass .BSF .bsf.dialog .bsf_proxy
187syn keyword rexxBuiltinClass .UNO .UNO_ENUM .UNO_CONSTANTS .UNO_PROPERTIES
188
Bram Moolenaar8c8de832008-06-24 22:58:06 +0000189" ooRexx directives, ---rgf location important, otherwise directives in top of file not matched!
190syn region rexxClassDirective start="::\s*class\s*"ms=e+1 end="\ze\(\s\|;\|$\)"
191syn region rexxMethodDirective start="::\s*method\s*"ms=e+1 end="\ze\(\s\|;\|$\)"
192syn region rexxRequiresDirective start="::\s*requires\s*"ms=e+1 end="\ze\(\s\|;\|$\)"
193syn region rexxRoutineDirective start="::\s*routine\s*"ms=e+1 end="\ze\(\s\|;\|$\)"
194syn region rexxAttributeDirective start="::\s*attribute\s*"ms=e+1 end="\ze\(\s\|;\|$\)"
Bram Moolenaar3a0d8092012-10-21 03:02:54 +0200195" rgf, 2012-09-09
196syn region rexxOptionsDirective start="::\s*options\s*"ms=e+1 end="\ze\(\s\|;\|$\)"
197syn region rexxConstantDirective start="::\s*constant\s*"ms=e+1 end="\ze\(\s\|;\|$\)"
Bram Moolenaar4c3f5362006-04-11 21:38:50 +0000198
Bram Moolenaar3a0d8092012-10-21 03:02:54 +0200199syn region rexxDirective start="\(^\|;\)\s*::\s*\w\+" end="\($\|;\)" contains=rexxString,rexxNumber,rexxComment,rexxLineComment,rexxClassDirective,rexxMethodDirective,rexxRoutineDirective,rexxRequiresDirective,rexxAttributeDirective,rexxOptionsDirective,rexxConstantDirective keepend
200
201syn match rexxOptionsDirective2 "\<\(digits\|form\|fuzz\|trace\)\>" containedin = rexxOptionsDirective3
202syn region rexxOptionsDirective3 start="\(^\|;\)\s*::\s*options\s"ms=e+1 end="\($\|;\)" contains=rexxString,rexxNumber,rexxVariable,rexxComment,rexxLineComment containedin = rexxDirective
203
Bram Moolenaar4c3f5362006-04-11 21:38:50 +0000204
Bram Moolenaar8c8de832008-06-24 22:58:06 +0000205syn region rexxVariable start="\zs\<\(\.\)\@!\K\k\+\>\ze\s*\(=\|,\|)\|%\|\]\|\\\||\|&\|+=\|-=\|<\|>\)" end="\(\_$\|.\)"me=e-1
Bram Moolenaar3a0d8092012-10-21 03:02:54 +0200206syn match rexxVariable "\(=\|,\|)\|%\|\]\|\\\||\|&\|+=\|-=\|<\|>\)\s*\zs\K\k*\ze"
Bram Moolenaar4c3f5362006-04-11 21:38:50 +0000207
Bram Moolenaar8c8de832008-06-24 22:58:06 +0000208" rgf, 2007-07-22: unfortunately, the entire region is colored (not only the
209" patterns), hence useless (vim 7.0)! (syntax-docs hint that that should work)
210" attempt: just colorize the parenthesis in matching colors, keep content
211" transparent to keep the formatting already done to it!
Bram Moolenaar3a0d8092012-10-21 03:02:54 +0200212" TODO: test on 7.3
Bram Moolenaar8c8de832008-06-24 22:58:06 +0000213" syn region par1 matchgroup=par1 start="(" matchgroup=par1 end=")" transparent contains=par2
214" syn region par2 matchgroup=par2 start="(" matchgroup=par2 end=")" transparent contains=par3 contained
215" syn region par3 matchgroup=par3 start="(" matchgroup=par3 end=")" transparent contains=par4 contained
216" syn region par4 matchgroup=par4 start="(" matchgroup=par4 end=")" transparent contains=par5 contained
217" syn region par5 matchgroup=par5 start="(" matchgroup=par5 end=")" transparent contains=par1 contained
Bram Moolenaar4c3f5362006-04-11 21:38:50 +0000218
Bram Moolenaar8c8de832008-06-24 22:58:06 +0000219" this will colorize the entire region, removing any colorizing already done!
220" syn region par1 matchgroup=par1 start="(" end=")" contains=par2
221" syn region par2 matchgroup=par2 start="(" end=")" contains=par3 contained
222" syn region par3 matchgroup=par3 start="(" end=")" contains=par4 contained
223" syn region par4 matchgroup=par4 start="(" end=")" contains=par5 contained
224" syn region par5 matchgroup=par5 start="(" end=")" contains=par1 contained
Bram Moolenaar071d4272004-06-13 20:20:40 +0000225
Bram Moolenaar3a0d8092012-10-21 03:02:54 +0200226hi par1 ctermfg=red guifg=red "guibg=grey
227hi par2 ctermfg=blue guifg=blue "guibg=grey
228hi par3 ctermfg=darkgreen guifg=darkgreen "guibg=grey
229hi par4 ctermfg=darkyellow guifg=darkyellow "guibg=grey
230hi par5 ctermfg=darkgrey guifg=darkgrey "guibg=grey
Bram Moolenaar8c8de832008-06-24 22:58:06 +0000231
232" line continuation (trailing comma or single dash)
233syn sync linecont "\(,\|-\ze-\@!\)\ze\s*\(--.*\|\/\*.*\)*$"
234
235" if !exists("rexx_minlines")
236" let rexx_minlines = 500
237" endif
238" exec "syn sync ccomment rexxComment minlines=" . rexx_minlines
239
Bram Moolenaar3a0d8092012-10-21 03:02:54 +0200240" always scan from start, PCs have long become to be powerful enough for that
Bram Moolenaar8c8de832008-06-24 22:58:06 +0000241exec "syn sync fromstart"
Bram Moolenaar071d4272004-06-13 20:20:40 +0000242
243" Define the default highlighting.
Bram Moolenaar89bcfda2016-08-30 23:26:57 +0200244" Only when an item doesn't have highlighting yet
245command -nargs=+ HiLink hi def link <args>
Bram Moolenaar071d4272004-06-13 20:20:40 +0000246
Bram Moolenaar89bcfda2016-08-30 23:26:57 +0200247" make binary and hex strings stand out
248hi rexxStringConstant term=bold,underline ctermfg=5 cterm=bold guifg=darkMagenta gui=bold
Bram Moolenaar8c8de832008-06-24 22:58:06 +0000249
Bram Moolenaar89bcfda2016-08-30 23:26:57 +0200250HiLink rexxLabel2 Function
251HiLink doLoopSelectLabelRegion rexxKeyword
252HiLink endIterateLeaveLabelRegion rexxKeyword
253HiLink rexxLoopKeywords rexxKeyword " Todo
Bram Moolenaar8c8de832008-06-24 22:58:06 +0000254
Bram Moolenaar89bcfda2016-08-30 23:26:57 +0200255HiLink rexxNumber Normal "DiffChange
Bram Moolenaar8c8de832008-06-24 22:58:06 +0000256" HiLink rexxIdentifier DiffChange
257
Bram Moolenaar89bcfda2016-08-30 23:26:57 +0200258HiLink rexxRegularCallSignal Statement
259HiLink rexxExceptionHandling Statement
Bram Moolenaar8c8de832008-06-24 22:58:06 +0000260
Bram Moolenaar89bcfda2016-08-30 23:26:57 +0200261HiLink rexxLabel Function
262HiLink rexxCharacter Character
263HiLink rexxParenError rexxError
264HiLink rexxInParen rexxError
265HiLink rexxCommentError rexxError
266HiLink rexxError Error
267HiLink rexxKeyword Statement
268HiLink rexxKeywordStatements Statement
Bram Moolenaar8c8de832008-06-24 22:58:06 +0000269
Bram Moolenaar89bcfda2016-08-30 23:26:57 +0200270HiLink rexxFunction Function
271HiLink rexxString String
272HiLink rexxComment Comment
273HiLink rexxTodo Todo
274HiLink rexxSpecialVariable Special
275HiLink rexxConditional rexxKeyword
Bram Moolenaar071d4272004-06-13 20:20:40 +0000276
Bram Moolenaar89bcfda2016-08-30 23:26:57 +0200277HiLink rexxOperator Operator
278HiLink rexxMessageOperator rexxOperator
279HiLink rexxLineComment Comment
Bram Moolenaar4c3f5362006-04-11 21:38:50 +0000280
Bram Moolenaar89bcfda2016-08-30 23:26:57 +0200281HiLink rexxLineContinue WildMenu
Bram Moolenaar4c3f5362006-04-11 21:38:50 +0000282
Bram Moolenaar89bcfda2016-08-30 23:26:57 +0200283HiLink rexxDirective rexxKeyword
284HiLink rexxClassDirective Type
285HiLink rexxMethodDirective rexxFunction
286HiLink rexxAttributeDirective rexxFunction
287HiLink rexxRequiresDirective Include
288HiLink rexxRoutineDirective rexxFunction
Bram Moolenaar4c3f5362006-04-11 21:38:50 +0000289
Bram Moolenaar3a0d8092012-10-21 03:02:54 +0200290" rgf, 2012-09-09
Bram Moolenaar89bcfda2016-08-30 23:26:57 +0200291HiLink rexxOptionsDirective rexxFunction
292HiLink rexxOptionsDirective2 rexxOptionsDirective
293HiLink rexxOptionsDirective3 Normal " rexxOptionsDirective
Bram Moolenaar3a0d8092012-10-21 03:02:54 +0200294
Bram Moolenaar89bcfda2016-08-30 23:26:57 +0200295HiLink rexxConstantDirective rexxFunction
Bram Moolenaar3a0d8092012-10-21 03:02:54 +0200296
Bram Moolenaar89bcfda2016-08-30 23:26:57 +0200297HiLink rexxConst Constant
298HiLink rexxTypeSpecifier Type
299HiLink rexxBuiltinClass rexxTypeSpecifier
Bram Moolenaar4c3f5362006-04-11 21:38:50 +0000300
Bram Moolenaar89bcfda2016-08-30 23:26:57 +0200301HiLink rexxEnvironmentSymbol rexxConst
302HiLink rexxMessage rexxFunction
Bram Moolenaar4c3f5362006-04-11 21:38:50 +0000303
Bram Moolenaar89bcfda2016-08-30 23:26:57 +0200304HiLink rexxParse rexxKeyword
305HiLink rexxParse2 rexxParse
Bram Moolenaar4c3f5362006-04-11 21:38:50 +0000306
Bram Moolenaar89bcfda2016-08-30 23:26:57 +0200307HiLink rexxGuard rexxKeyword
308HiLink rexxTrace rexxKeyword
Bram Moolenaar8c8de832008-06-24 22:58:06 +0000309
Bram Moolenaar89bcfda2016-08-30 23:26:57 +0200310HiLink rexxRaise rexxKeyword
311HiLink rexxRaise2 rexxRaise
Bram Moolenaar4c3f5362006-04-11 21:38:50 +0000312
Bram Moolenaar89bcfda2016-08-30 23:26:57 +0200313HiLink rexxForward rexxKeyword
314HiLink rexxForward2 rexxForward
Bram Moolenaar4c3f5362006-04-11 21:38:50 +0000315
Bram Moolenaar89bcfda2016-08-30 23:26:57 +0200316delcommand HiLink
Bram Moolenaar071d4272004-06-13 20:20:40 +0000317
318let b:current_syntax = "rexx"
319
320"vim: ts=8