xref: /vim-8.2.3635/runtime/syntax/rpl.vim (revision cb80aa2d)
1071d4279SBram Moolenaar" Vim syntax file
2071d4279SBram Moolenaar" Language:	RPL/2
3071d4279SBram Moolenaar" Version:	0.15.15 against RPL/2 version 4.00pre7i
4b8ff1fb5SBram Moolenaar" Last Change:	2012 Feb 03 by Thilo Six
5*cb80aa2dSBram Moolenaar" Maintainer:	Joël BERTRAND <[email protected]>
6071d4279SBram Moolenaar" URL:		http://www.makalis.fr/~bertrand/rpl2/download/vim/indent/rpl.vim
7071d4279SBram Moolenaar" Credits:	Nothing
8071d4279SBram Moolenaar
989bcfda6SBram Moolenaar" quit when a syntax file was already loaded
1089bcfda6SBram Moolenaarif exists("b:current_syntax")
11071d4279SBram Moolenaar  finish
12071d4279SBram Moolenaarendif
13071d4279SBram Moolenaar
14b8ff1fb5SBram Moolenaarlet s:cpo_save = &cpo
15b8ff1fb5SBram Moolenaarset cpo&vim
16b8ff1fb5SBram Moolenaar
17071d4279SBram Moolenaar" Keyword characters (not used)
18071d4279SBram Moolenaar" set iskeyword=33-127
19071d4279SBram Moolenaar
20071d4279SBram Moolenaar" Case sensitive
21071d4279SBram Moolenaarsyntax case match
22071d4279SBram Moolenaar
23071d4279SBram Moolenaar" Constants
24071d4279SBram Moolenaarsyntax match rplConstant	   "\(^\|\s\+\)\(e\|i\)\ze\($\|\s\+\)"
25071d4279SBram Moolenaar
26071d4279SBram Moolenaar" Any binary number
27071d4279SBram Moolenaarsyntax match rplBinaryError	   "\(^\|\s\+\)#\s*\S\+b\ze"
28071d4279SBram Moolenaarsyntax match rplBinary		   "\(^\|\s\+\)#\s*[01]\+b\ze\($\|\s\+\)"
29071d4279SBram Moolenaarsyntax match rplOctalError	   "\(^\|\s\+\)#\s*\S\+o\ze"
30071d4279SBram Moolenaarsyntax match rplOctal		   "\(^\|\s\+\)#\s*\o\+o\ze\($\|\s\+\)"
31071d4279SBram Moolenaarsyntax match rplDecimalError	   "\(^\|\s\+\)#\s*\S\+d\ze"
32071d4279SBram Moolenaarsyntax match rplDecimal		   "\(^\|\s\+\)#\s*\d\+d\ze\($\|\s\+\)"
33071d4279SBram Moolenaarsyntax match rplHexadecimalError   "\(^\|\s\+\)#\s*\S\+h\ze"
34071d4279SBram Moolenaarsyntax match rplHexadecimal	   "\(^\|\s\+\)#\s*\x\+h\ze\($\|\s\+\)"
35071d4279SBram Moolenaar
36071d4279SBram Moolenaar" Case unsensitive
37071d4279SBram Moolenaarsyntax case ignore
38071d4279SBram Moolenaar
39071d4279SBram Moolenaarsyntax match rplControl		   "\(^\|\s\+\)abort\ze\($\|\s\+\)"
40071d4279SBram Moolenaarsyntax match rplControl		   "\(^\|\s\+\)kill\ze\($\|\s\+\)"
41071d4279SBram Moolenaarsyntax match rplControl		   "\(^\|\s\+\)cont\ze\($\|\s\+\)"
42071d4279SBram Moolenaarsyntax match rplControl		   "\(^\|\s\+\)halt\ze\($\|\s\+\)"
43071d4279SBram Moolenaarsyntax match rplControl		   "\(^\|\s\+\)cmlf\ze\($\|\s\+\)"
44071d4279SBram Moolenaarsyntax match rplControl		   "\(^\|\s\+\)sst\ze\($\|\s\+\)"
45071d4279SBram Moolenaar
46071d4279SBram Moolenaarsyntax match rplConstant	   "\(^\|\s\+\)pi\ze\($\|\s\+\)"
47071d4279SBram Moolenaar
48071d4279SBram Moolenaarsyntax match rplStatement	   "\(^\|\s\+\)return\ze\($\|\s\+\)"
49071d4279SBram Moolenaarsyntax match rplStatement	   "\(^\|\s\+\)last\ze\($\|\s\+\)"
50071d4279SBram Moolenaarsyntax match rplStatement	   "\(^\|\s\+\)syzeval\ze\($\|\s\+\)"
51071d4279SBram Moolenaarsyntax match rplStatement	   "\(^\|\s\+\)wait\ze\($\|\s\+\)"
52071d4279SBram Moolenaarsyntax match rplStatement	   "\(^\|\s\+\)type\ze\($\|\s\+\)"
53071d4279SBram Moolenaarsyntax match rplStatement	   "\(^\|\s\+\)kind\ze\($\|\s\+\)"
54071d4279SBram Moolenaarsyntax match rplStatement	   "\(^\|\s\+\)eval\ze\($\|\s\+\)"
55071d4279SBram Moolenaarsyntax match rplStatement	   "\(^\|\s\+\)use\ze\($\|\s\+\)"
56071d4279SBram Moolenaarsyntax match rplStatement	   "\(^\|\s\+\)remove\ze\($\|\s\+\)"
57071d4279SBram Moolenaarsyntax match rplStatement	   "\(^\|\s\+\)external\ze\($\|\s\+\)"
58071d4279SBram Moolenaarsyntax match rplStatement	   "\(^\|\s\+\)dup\([2n]\|\)\ze\($\|\s\+\)"
59071d4279SBram Moolenaarsyntax match rplStatement	   "\(^\|\s\+\)drop\([2n]\|\)\ze\($\|\s\+\)"
60071d4279SBram Moolenaarsyntax match rplStatement	   "\(^\|\s\+\)depth\ze\($\|\s\+\)"
61071d4279SBram Moolenaarsyntax match rplStatement	   "\(^\|\s\+\)roll\(d\|\)\ze\($\|\s\+\)"
62071d4279SBram Moolenaarsyntax match rplStatement	   "\(^\|\s\+\)pick\ze\($\|\s\+\)"
63071d4279SBram Moolenaarsyntax match rplStatement	   "\(^\|\s\+\)rot\ze\($\|\s\+\)"
64071d4279SBram Moolenaarsyntax match rplStatement	   "\(^\|\s\+\)swap\ze\($\|\s\+\)"
65071d4279SBram Moolenaarsyntax match rplStatement	   "\(^\|\s\+\)over\ze\($\|\s\+\)"
66071d4279SBram Moolenaarsyntax match rplStatement	   "\(^\|\s\+\)clear\ze\($\|\s\+\)"
67071d4279SBram Moolenaarsyntax match rplStatement	   "\(^\|\s\+\)warranty\ze\($\|\s\+\)"
68071d4279SBram Moolenaarsyntax match rplStatement	   "\(^\|\s\+\)copyright\ze\($\|\s\+\)"
69071d4279SBram Moolenaarsyntax match rplStatement	   "\(^\|\s\+\)convert\ze\($\|\s\+\)"
70071d4279SBram Moolenaarsyntax match rplStatement	   "\(^\|\s\+\)date\ze\($\|\s\+\)"
71071d4279SBram Moolenaarsyntax match rplStatement	   "\(^\|\s\+\)time\ze\($\|\s\+\)"
72071d4279SBram Moolenaarsyntax match rplStatement	   "\(^\|\s\+\)mem\ze\($\|\s\+\)"
73071d4279SBram Moolenaarsyntax match rplStatement	   "\(^\|\s\+\)clmf\ze\($\|\s\+\)"
74071d4279SBram Moolenaarsyntax match rplStatement	   "\(^\|\s\+\)->num\ze\($\|\s\+\)"
75071d4279SBram Moolenaarsyntax match rplStatement	   "\(^\|\s\+\)help\ze\($\|\s\+\)"
76071d4279SBram Moolenaar
77071d4279SBram Moolenaarsyntax match rplStorage		   "\(^\|\s\+\)get\(i\|r\|c\|\)\ze\($\|\s\+\)"
78071d4279SBram Moolenaarsyntax match rplStorage		   "\(^\|\s\+\)put\(i\|r\|c\|\)\ze\($\|\s\+\)"
79071d4279SBram Moolenaarsyntax match rplStorage		   "\(^\|\s\+\)rcl\ze\($\|\s\+\)"
80071d4279SBram Moolenaarsyntax match rplStorage		   "\(^\|\s\+\)purge\ze\($\|\s\+\)"
81071d4279SBram Moolenaarsyntax match rplStorage		   "\(^\|\s\+\)sinv\ze\($\|\s\+\)"
82071d4279SBram Moolenaarsyntax match rplStorage		   "\(^\|\s\+\)sneg\ze\($\|\s\+\)"
83071d4279SBram Moolenaarsyntax match rplStorage		   "\(^\|\s\+\)sconj\ze\($\|\s\+\)"
84071d4279SBram Moolenaarsyntax match rplStorage		   "\(^\|\s\+\)steq\ze\($\|\s\+\)"
85071d4279SBram Moolenaarsyntax match rplStorage		   "\(^\|\s\+\)rceq\ze\($\|\s\+\)"
86071d4279SBram Moolenaarsyntax match rplStorage		   "\(^\|\s\+\)vars\ze\($\|\s\+\)"
87071d4279SBram Moolenaarsyntax match rplStorage		   "\(^\|\s\+\)clusr\ze\($\|\s\+\)"
88071d4279SBram Moolenaarsyntax match rplStorage		   "\(^\|\s\+\)sto\([+-/\*]\|\)\ze\($\|\s\+\)"
89071d4279SBram Moolenaar
90071d4279SBram Moolenaarsyntax match rplAlgConditional	   "\(^\|\s\+\)ift\(e\|\)\ze\($\|\s\+\)"
91071d4279SBram Moolenaar
92071d4279SBram Moolenaarsyntax match rplOperator	   "\(^\|\s\+\)and\ze\($\|\s\+\)"
93071d4279SBram Moolenaarsyntax match rplOperator	   "\(^\|\s\+\)\(x\|\)or\ze\($\|\s\+\)"
94071d4279SBram Moolenaarsyntax match rplOperator	   "\(^\|\s\+\)not\ze\($\|\s\+\)"
95071d4279SBram Moolenaarsyntax match rplOperator	   "\(^\|\s\+\)same\ze\($\|\s\+\)"
96071d4279SBram Moolenaarsyntax match rplOperator	   "\(^\|\s\+\)==\ze\($\|\s\+\)"
97071d4279SBram Moolenaarsyntax match rplOperator	   "\(^\|\s\+\)<=\ze\($\|\s\+\)"
98071d4279SBram Moolenaarsyntax match rplOperator	   "\(^\|\s\+\)=<\ze\($\|\s\+\)"
99071d4279SBram Moolenaarsyntax match rplOperator	   "\(^\|\s\+\)=>\ze\($\|\s\+\)"
100071d4279SBram Moolenaarsyntax match rplOperator	   "\(^\|\s\+\)>=\ze\($\|\s\+\)"
101071d4279SBram Moolenaarsyntax match rplOperator	   "\(^\|\s\+\)<>\ze\($\|\s\+\)"
102071d4279SBram Moolenaarsyntax match rplOperator	   "\(^\|\s\+\)>\ze\($\|\s\+\)"
103071d4279SBram Moolenaarsyntax match rplOperator	   "\(^\|\s\+\)<\ze\($\|\s\+\)"
104071d4279SBram Moolenaarsyntax match rplOperator	   "\(^\|\s\+\)[+-]\ze\($\|\s\+\)"
105071d4279SBram Moolenaarsyntax match rplOperator	   "\(^\|\s\+\)[/\*]\ze\($\|\s\+\)"
106071d4279SBram Moolenaarsyntax match rplOperator	   "\(^\|\s\+\)\^\ze\($\|\s\+\)"
107071d4279SBram Moolenaarsyntax match rplOperator	   "\(^\|\s\+\)\*\*\ze\($\|\s\+\)"
108071d4279SBram Moolenaar
109071d4279SBram Moolenaarsyntax match rplBoolean		   "\(^\|\s\+\)true\ze\($\|\s\+\)"
110071d4279SBram Moolenaarsyntax match rplBoolean		   "\(^\|\s\+\)false\ze\($\|\s\+\)"
111071d4279SBram Moolenaar
112071d4279SBram Moolenaarsyntax match rplReadWrite	   "\(^\|\s\+\)store\ze\($\|\s\+\)"
113071d4279SBram Moolenaarsyntax match rplReadWrite	   "\(^\|\s\+\)recall\ze\($\|\s\+\)"
114071d4279SBram Moolenaarsyntax match rplReadWrite	   "\(^\|\s\+\)\(\|wf\|un\)lock\ze\($\|\s\+\)"
115071d4279SBram Moolenaarsyntax match rplReadWrite	   "\(^\|\s\+\)open\ze\($\|\s\+\)"
116071d4279SBram Moolenaarsyntax match rplReadWrite	   "\(^\|\s\+\)close\ze\($\|\s\+\)"
117071d4279SBram Moolenaarsyntax match rplReadWrite	   "\(^\|\s\+\)delete\ze\($\|\s\+\)"
118071d4279SBram Moolenaarsyntax match rplReadWrite	   "\(^\|\s\+\)create\ze\($\|\s\+\)"
119071d4279SBram Moolenaarsyntax match rplReadWrite	   "\(^\|\s\+\)format\ze\($\|\s\+\)"
120071d4279SBram Moolenaarsyntax match rplReadWrite	   "\(^\|\s\+\)rewind\ze\($\|\s\+\)"
121071d4279SBram Moolenaarsyntax match rplReadWrite	   "\(^\|\s\+\)backspace\ze\($\|\s\+\)"
122071d4279SBram Moolenaarsyntax match rplReadWrite	   "\(^\|\s\+\)\(\|re\)write\ze\($\|\s\+\)"
123071d4279SBram Moolenaarsyntax match rplReadWrite	   "\(^\|\s\+\)read\ze\($\|\s\+\)"
124071d4279SBram Moolenaarsyntax match rplReadWrite	   "\(^\|\s\+\)inquire\ze\($\|\s\+\)"
125071d4279SBram Moolenaarsyntax match rplReadWrite	   "\(^\|\s\+\)sync\ze\($\|\s\+\)"
126071d4279SBram Moolenaarsyntax match rplReadWrite	   "\(^\|\s\+\)append\ze\($\|\s\+\)"
127071d4279SBram Moolenaarsyntax match rplReadWrite	   "\(^\|\s\+\)suppress\ze\($\|\s\+\)"
128071d4279SBram Moolenaarsyntax match rplReadWrite	   "\(^\|\s\+\)seek\ze\($\|\s\+\)"
129071d4279SBram Moolenaarsyntax match rplReadWrite	   "\(^\|\s\+\)pr\(1\|int\|st\|stc\|lcd\|var\|usr\|md\)\ze\($\|\s\+\)"
130071d4279SBram Moolenaarsyntax match rplReadWrite	   "\(^\|\s\+\)paper\ze\($\|\s\+\)"
131071d4279SBram Moolenaarsyntax match rplReadWrite	   "\(^\|\s\+\)cr\($\|\s\+\)"
132071d4279SBram Moolenaarsyntax match rplReadWrite	   "\(^\|\s\+\)erase\ze\($\|\s\+\)"
133071d4279SBram Moolenaarsyntax match rplReadWrite	   "\(^\|\s\+\)disp\ze\($\|\s\+\)"
134071d4279SBram Moolenaarsyntax match rplReadWrite	   "\(^\|\s\+\)input\ze\($\|\s\+\)"
135071d4279SBram Moolenaarsyntax match rplReadWrite	   "\(^\|\s\+\)prompt\ze\($\|\s\+\)"
136071d4279SBram Moolenaarsyntax match rplReadWrite	   "\(^\|\s\+\)key\ze\($\|\s\+\)"
137071d4279SBram Moolenaarsyntax match rplReadWrite	   "\(^\|\s\+\)cllcd\ze\($\|\s\+\)"
138071d4279SBram Moolenaarsyntax match rplReadWrite	   "\(^\|\s\+\)\(\|re\)draw\ze\($\|\s\+\)"
139071d4279SBram Moolenaarsyntax match rplReadWrite	   "\(^\|\s\+\)drax\ze\($\|\s\+\)"
140071d4279SBram Moolenaarsyntax match rplReadWrite	   "\(^\|\s\+\)indep\ze\($\|\s\+\)"
141071d4279SBram Moolenaarsyntax match rplReadWrite	   "\(^\|\s\+\)depnd\ze\($\|\s\+\)"
142071d4279SBram Moolenaarsyntax match rplReadWrite	   "\(^\|\s\+\)res\ze\($\|\s\+\)"
143071d4279SBram Moolenaarsyntax match rplReadWrite	   "\(^\|\s\+\)axes\ze\($\|\s\+\)"
144071d4279SBram Moolenaarsyntax match rplReadWrite	   "\(^\|\s\+\)label\ze\($\|\s\+\)"
145071d4279SBram Moolenaarsyntax match rplReadWrite	   "\(^\|\s\+\)pmin\ze\($\|\s\+\)"
146071d4279SBram Moolenaarsyntax match rplReadWrite	   "\(^\|\s\+\)pmax\ze\($\|\s\+\)"
147071d4279SBram Moolenaarsyntax match rplReadWrite	   "\(^\|\s\+\)centr\ze\($\|\s\+\)"
148071d4279SBram Moolenaarsyntax match rplReadWrite	   "\(^\|\s\+\)persist\ze\($\|\s\+\)"
149071d4279SBram Moolenaarsyntax match rplReadWrite	   "\(^\|\s\+\)title\ze\($\|\s\+\)"
150071d4279SBram Moolenaarsyntax match rplReadWrite	   "\(^\|\s\+\)\(slice\|auto\|log\|\)scale\ze\($\|\s\+\)"
151071d4279SBram Moolenaarsyntax match rplReadWrite	   "\(^\|\s\+\)eyept\ze\($\|\s\+\)"
152071d4279SBram Moolenaarsyntax match rplReadWrite	   "\(^\|\s\+\)\(p\|s\)par\ze\($\|\s\+\)"
153071d4279SBram Moolenaarsyntax match rplReadWrite	   "\(^\|\s\+\)function\ze\($\|\s\+\)"
154071d4279SBram Moolenaarsyntax match rplReadWrite	   "\(^\|\s\+\)polar\ze\($\|\s\+\)"
155071d4279SBram Moolenaarsyntax match rplReadWrite	   "\(^\|\s\+\)scatter\ze\($\|\s\+\)"
156071d4279SBram Moolenaarsyntax match rplReadWrite	   "\(^\|\s\+\)plotter\ze\($\|\s\+\)"
157071d4279SBram Moolenaarsyntax match rplReadWrite	   "\(^\|\s\+\)wireframe\ze\($\|\s\+\)"
158071d4279SBram Moolenaarsyntax match rplReadWrite	   "\(^\|\s\+\)parametric\ze\($\|\s\+\)"
159071d4279SBram Moolenaarsyntax match rplReadWrite	   "\(^\|\s\+\)slice\ze\($\|\s\+\)"
160071d4279SBram Moolenaarsyntax match rplReadWrite	   "\(^\|\s\+\)\*w\ze\($\|\s\+\)"
161071d4279SBram Moolenaarsyntax match rplReadWrite	   "\(^\|\s\+\)\*h\ze\($\|\s\+\)"
162071d4279SBram Moolenaarsyntax match rplReadWrite	   "\(^\|\s\+\)\*d\ze\($\|\s\+\)"
163071d4279SBram Moolenaarsyntax match rplReadWrite	   "\(^\|\s\+\)\*s\ze\($\|\s\+\)"
164071d4279SBram Moolenaarsyntax match rplReadWrite	   "\(^\|\s\+\)->lcd\ze\($\|\s\+\)"
165071d4279SBram Moolenaarsyntax match rplReadWrite	   "\(^\|\s\+\)lcd->\ze\($\|\s\+\)"
166071d4279SBram Moolenaarsyntax match rplReadWrite	   "\(^\|\s\+\)edit\ze\($\|\s\+\)"
167071d4279SBram Moolenaarsyntax match rplReadWrite	   "\(^\|\s\+\)visit\ze\($\|\s\+\)"
168071d4279SBram Moolenaar
169071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)abs\ze\($\|\s\+\)"
170071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)arg\ze\($\|\s\+\)"
171071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)conj\ze\($\|\s\+\)"
172071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)re\ze\($\|\s\+\)"
173071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)im\ze\($\|\s\+\)"
174071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)mant\ze\($\|\s\+\)"
175071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)xpon\ze\($\|\s\+\)"
176071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)ceil\ze\($\|\s\+\)"
177071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)fact\ze\($\|\s\+\)"
178071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)fp\ze\($\|\s\+\)"
179071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)floor\ze\($\|\s\+\)"
180071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)inv\ze\($\|\s\+\)"
181071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)ip\ze\($\|\s\+\)"
182071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)max\ze\($\|\s\+\)"
183071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)min\ze\($\|\s\+\)"
184071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)mod\ze\($\|\s\+\)"
185071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)neg\ze\($\|\s\+\)"
186071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)relax\ze\($\|\s\+\)"
187071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)sign\ze\($\|\s\+\)"
188071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)sq\(\|rt\)\ze\($\|\s\+\)"
189071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)xroot\ze\($\|\s\+\)"
190071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)cos\ze\($\|\s\+\)"
191071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)sin\ze\($\|\s\+\)"
192071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)tan\ze\($\|\s\+\)"
193071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)tg\ze\($\|\s\+\)"
194071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)a\(\|rc\)cos\ze\($\|\s\+\)"
195071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)a\(\|rc\)sin\ze\($\|\s\+\)"
196071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)atan\ze\($\|\s\+\)"
197071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)arctg\ze\($\|\s\+\)"
198071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)\(\|a\)cosh\ze\($\|\s\+\)"
199071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)\(\|a\)sinh\ze\($\|\s\+\)"
200071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)\(\|a\)tanh\ze\($\|\s\+\)"
201071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)\(\|arg\)th\ze\($\|\s\+\)"
202071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)arg[cst]h\ze\($\|\s\+\)"
203071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)\(\|a\)log\ze\($\|\s\+\)"
204071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)ln\(\|1\)\ze\($\|\s\+\)"
205071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)exp\(\|m\)\ze\($\|\s\+\)"
206071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)trn\ze\($\|\s\+\)"
207071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)con\ze\($\|\s\+\)"
208071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)idn\ze\($\|\s\+\)"
209071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)rdm\ze\($\|\s\+\)"
210071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)rsd\ze\($\|\s\+\)"
211071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)cnrm\ze\($\|\s\+\)"
212071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)cross\ze\($\|\s\+\)"
213071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)d[eo]t\ze\($\|\s\+\)"
214071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)[cr]swp\ze\($\|\s\+\)"
215071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)rci\(j\|\)\ze\($\|\s\+\)"
216071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)\(in\|de\)cr\ze\($\|\s\+\)"
217071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)bessel\ze\($\|\s\+\)"
218071d4279SBram Moolenaar
219071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)\(\|g\)egvl\ze\($\|\s\+\)"
220071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)\(\|g\)\(\|l\|r\)egv\ze\($\|\s\+\)"
221071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)rnrm\ze\($\|\s\+\)"
222071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)\(std\|fix\|sci\|eng\)\ze\($\|\s\+\)"
223071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)\(rad\|deg\)\ze\($\|\s\+\)"
224071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)\(\|n\)rand\ze\($\|\s\+\)"
225071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)rdz\ze\($\|\s\+\)"
226071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)\(\|i\)fft\ze\($\|\s\+\)"
227071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)\(dec\|bin\|oct\|hex\)\ze\($\|\s\+\)"
228071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)rclf\ze\($\|\s\+\)"
229071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)stof\ze\($\|\s\+\)"
230071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)[cs]f\ze\($\|\s\+\)"
231071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)chr\ze\($\|\s\+\)"
232071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)num\ze\($\|\s\+\)"
233071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)pos\ze\($\|\s\+\)"
234071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)sub\ze\($\|\s\+\)"
235071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)size\ze\($\|\s\+\)"
236071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)\(st\|rc\)ws\ze\($\|\s\+\)"
237071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)\(r\|s\)\(r\|l\)\(\|b\)\ze\($\|\s\+\)"
238071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)as\(r\|l\)\ze\($\|\s\+\)"
239071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)\(int\|der\)\ze\($\|\s\+\)"
240071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)stos\ze\($\|\s\+\)"
241071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)\(\|r\)cls\ze\($\|\s\+\)"
242071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)drws\ze\($\|\s\+\)"
243071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)scls\ze\($\|\s\+\)"
244071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)ns\ze\($\|\s\+\)"
245071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)tot\ze\($\|\s\+\)"
246071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)mean\ze\($\|\s\+\)"
247071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)\(\|p\)sdev\ze\($\|\s\+\)"
248071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)\(\|p\)var\ze\($\|\s\+\)"
249071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)maxs\ze\($\|\s\+\)"
250071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)mins\ze\($\|\s\+\)"
251071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)\(\|p\)cov\ze\($\|\s\+\)"
252071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)cols\ze\($\|\s\+\)"
253071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)s\(x\(\|y\|2\)\|y\(\|2\)\)\ze\($\|\s\+\)"
254071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)\(x\|y\)col\ze\($\|\s\+\)"
255071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)corr\ze\($\|\s\+\)"
256071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)utp[cfnt]\ze\($\|\s\+\)"
257071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)comb\ze\($\|\s\+\)"
258071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)perm\ze\($\|\s\+\)"
259071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)\(\|p\)lu\ze\($\|\s\+\)"
260071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)[lu]chol\ze\($\|\s\+\)"
261071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)schur\ze\($\|\s\+\)"
262071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)%\ze\($\|\s\+\)"
263071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)%ch\ze\($\|\s\+\)"
264071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)%t\ze\($\|\s\+\)"
265071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)hms->\ze\($\|\s\+\)"
266071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)->hms\ze\($\|\s\+\)"
267071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)hms+\ze\($\|\s\+\)"
268071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)hms-\ze\($\|\s\+\)"
269071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)d->r\ze\($\|\s\+\)"
270071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)r->d\ze\($\|\s\+\)"
271071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)b->r\ze\($\|\s\+\)"
272071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)r->b\ze\($\|\s\+\)"
273071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)c->r\ze\($\|\s\+\)"
274071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)r->c\ze\($\|\s\+\)"
275071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)r->p\ze\($\|\s\+\)"
276071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)p->r\ze\($\|\s\+\)"
277071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)str->\ze\($\|\s\+\)"
278071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)->str\ze\($\|\s\+\)"
279071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)array->\ze\($\|\s\+\)"
280071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)->array\ze\($\|\s\+\)"
281071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)list->\ze\($\|\s\+\)"
282071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)->list\ze\($\|\s\+\)"
283071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)s+\ze\($\|\s\+\)"
284071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)s-\ze\($\|\s\+\)"
285071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)col-\ze\($\|\s\+\)"
286071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)col+\ze\($\|\s\+\)"
287071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)row-\ze\($\|\s\+\)"
288071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)row+\ze\($\|\s\+\)"
289071d4279SBram Moolenaarsyntax match rplIntrinsic	   "\(^\|\s\+\)->q\ze\($\|\s\+\)"
290071d4279SBram Moolenaar
291071d4279SBram Moolenaarsyntax match rplObsolete	   "\(^\|\s\+\)arry->\ze\($\|\s\+\)"hs=e-5
292071d4279SBram Moolenaarsyntax match rplObsolete	   "\(^\|\s\+\)->arry\ze\($\|\s\+\)"hs=e-5
293071d4279SBram Moolenaar
294071d4279SBram Moolenaar" Conditional structures
295071d4279SBram Moolenaarsyntax match rplConditionalError   "\(^\|\s\+\)case\ze\($\|\s\+\)"hs=e-3
296071d4279SBram Moolenaarsyntax match rplConditionalError   "\(^\|\s\+\)then\ze\($\|\s\+\)"hs=e-3
297071d4279SBram Moolenaarsyntax match rplConditionalError   "\(^\|\s\+\)else\ze\($\|\s\+\)"hs=e-3
298071d4279SBram Moolenaarsyntax match rplConditionalError   "\(^\|\s\+\)elseif\ze\($\|\s\+\)"hs=e-5
299071d4279SBram Moolenaarsyntax match rplConditionalError   "\(^\|\s\+\)end\ze\($\|\s\+\)"hs=e-2
300071d4279SBram Moolenaarsyntax match rplConditionalError   "\(^\|\s\+\)\(step\|next\)\ze\($\|\s\+\)"hs=e-3
301071d4279SBram Moolenaarsyntax match rplConditionalError   "\(^\|\s\+\)until\ze\($\|\s\+\)"hs=e-4
302071d4279SBram Moolenaarsyntax match rplConditionalError   "\(^\|\s\+\)repeat\ze\($\|\s\+\)"hs=e-5
303071d4279SBram Moolenaarsyntax match rplConditionalError   "\(^\|\s\+\)default\ze\($\|\s\+\)"hs=e-6
304071d4279SBram Moolenaar
305071d4279SBram Moolenaar" FOR/(CYCLE)/(EXIT)/NEXT
306071d4279SBram Moolenaar" FOR/(CYCLE)/(EXIT)/STEP
307071d4279SBram Moolenaar" START/(CYCLE)/(EXIT)/NEXT
308071d4279SBram Moolenaar" START/(CYCLE)/(EXIT)/STEP
309071d4279SBram Moolenaarsyntax match rplCycle              "\(^\|\s\+\)\(cycle\|exit\)\ze\($\|\s\+\)"
310071d4279SBram Moolenaarsyntax region rplForNext matchgroup=rplRepeat start="\(^\|\s\+\)\(for\|start\)\ze\($\|\s\+\)" end="\(^\|\s\+\)\(next\|step\)\ze\($\|\s\+\)" contains=ALL keepend extend
311071d4279SBram Moolenaar
312071d4279SBram Moolenaar" ELSEIF/END
313071d4279SBram Moolenaarsyntax region rplElseifEnd matchgroup=rplConditional start="\(^\|\s\+\)elseif\ze\($\|\s\+\)" end="\(^\|\s\+\)end\ze\($\|\s\+\)" contained contains=ALLBUT,rplElseEnd keepend
314071d4279SBram Moolenaar
315071d4279SBram Moolenaar" ELSE/END
316071d4279SBram Moolenaarsyntax region rplElseEnd matchgroup=rplConditional start="\(^\|\s\+\)else\ze\($\|\s\+\)" end="\(^\|\s\+\)end\ze\($\|\s\+\)" contained contains=ALLBUT,rplElseEnd,rplThenEnd,rplElseifEnd keepend
317071d4279SBram Moolenaar
318071d4279SBram Moolenaar" THEN/END
319071d4279SBram Moolenaarsyntax region rplThenEnd matchgroup=rplConditional start="\(^\|\s\+\)then\ze\($\|\s\+\)" end="\(^\|\s\+\)end\ze\($\|\s\+\)" contained containedin=rplIfEnd contains=ALLBUT,rplThenEnd keepend
320071d4279SBram Moolenaar
321071d4279SBram Moolenaar" IF/END
322071d4279SBram Moolenaarsyntax region rplIfEnd matchgroup=rplConditional start="\(^\|\s\+\)if\(err\|\)\ze\($\|\s\+\)" end="\(^\|\s\+\)end\ze\($\|\s\+\)" contains=ALLBUT,rplElseEnd,rplElseifEnd keepend extend
323071d4279SBram Moolenaar" if end is accepted !
324071d4279SBram Moolenaar" select end too !
325071d4279SBram Moolenaar
326071d4279SBram Moolenaar" CASE/THEN
327071d4279SBram Moolenaarsyntax region rplCaseThen matchgroup=rplConditional start="\(^\|\s\+\)case\ze\($\|\s\+\)" end="\(^\|\s\+\)then\ze\($\|\s\+\)" contains=ALLBUT,rplCaseThen,rplCaseEnd,rplThenEnd keepend extend contained containedin=rplCaseEnd
328071d4279SBram Moolenaar
329071d4279SBram Moolenaar" CASE/END
330071d4279SBram Moolenaarsyntax region rplCaseEnd matchgroup=rplConditional start="\(^\|\s\+\)case\ze\($\|\s\+\)" end="\(^\|\s\+\)end\ze\($\|\s\+\)" contains=ALLBUT,rplCaseEnd,rplThenEnd,rplElseEnd keepend extend contained containedin=rplSelectEnd
331071d4279SBram Moolenaar
332071d4279SBram Moolenaar" DEFAULT/END
333071d4279SBram Moolenaarsyntax region rplDefaultEnd matchgroup=rplConditional start="\(^\|\s\+\)default\ze\($\|\s\+\)" end="\(^\|\s\+\)end\ze\($\|\s\+\)" contains=ALLBUT,rplDefaultEnd keepend contained containedin=rplSelectEnd
334071d4279SBram Moolenaar
335071d4279SBram Moolenaar" SELECT/END
336071d4279SBram Moolenaarsyntax region rplSelectEnd matchgroup=rplConditional start="\(^\|\s\+\)select\ze\($\|\s\+\)" end="\(^\|\s\+\)end\ze\($\|\s\+\)" contains=ALLBUT,rplThenEnd keepend extend
337071d4279SBram Moolenaar" select end is accepted !
338071d4279SBram Moolenaar
339071d4279SBram Moolenaar" DO/UNTIL/END
340071d4279SBram Moolenaarsyntax region rplUntilEnd matchgroup=rplConditional start="\(^\|\s\+\)until\ze\($\|\s\+\)" end="\(^\|\s\+\)\zsend\ze\($\|\s\+\)" contains=ALLBUT,rplUntilEnd contained containedin=rplDoUntil extend keepend
341071d4279SBram Moolenaarsyntax region rplDoUntil matchgroup=rplConditional start="\(^\|\s\+\)do\ze\($\|\s\+\)" end="\(^\|\s\+\)until\ze\($\|\s\+\)" contains=ALL keepend extend
342071d4279SBram Moolenaar
343071d4279SBram Moolenaar" WHILE/REPEAT/END
344071d4279SBram Moolenaarsyntax region rplRepeatEnd matchgroup=rplConditional start="\(^\|\s\+\)repeat\ze\($\|\s\+\)" end="\(^\|\s\+\)\zsend\ze\($\|\s\+\)" contains=ALLBUT,rplRepeatEnd contained containedin=rplWhileRepeat extend keepend
345071d4279SBram Moolenaarsyntax region rplWhileRepeat matchgroup=rplConditional start="\(^\|\s\+\)while\ze\($\|\s\+\)" end="\(^\|\s\+\)repeat\ze\($\|\s\+\)" contains=ALL keepend extend
346071d4279SBram Moolenaar
347071d4279SBram Moolenaar" Comments
348071d4279SBram Moolenaarsyntax match rplCommentError "\*/"
349071d4279SBram Moolenaarsyntax region rplCommentString contained start=+"+ end=+"+ end=+\*/+me=s-1
350071d4279SBram Moolenaarsyntax region rplCommentLine start="\(^\|\s\+\)//\ze" skip="\\$" end="$" contains=NONE keepend extend
351071d4279SBram Moolenaarsyntax region rplComment start="\(^\|\s\+\)/\*\ze" end="\*/" contains=rplCommentString keepend extend
352071d4279SBram Moolenaar
353071d4279SBram Moolenaar" Catch errors caused by too many right parentheses
354071d4279SBram Moolenaarsyntax region rplParen transparent start="(" end=")" contains=ALLBUT,rplParenError,rplComplex,rplIncluded keepend extend
355071d4279SBram Moolenaarsyntax match rplParenError ")"
356071d4279SBram Moolenaar
357071d4279SBram Moolenaar" Subroutines
358071d4279SBram Moolenaar" Catch errors caused by too many right '>>'
359071d4279SBram Moolenaarsyntax match rplSubError "\(^\|\s\+\)>>\ze\($\|\s\+\)"hs=e-1
360071d4279SBram Moolenaarsyntax region rplSub matchgroup=rplSubDelimitor start="\(^\|\s\+\)<<\ze\($\|\s\+\)" end="\(^\|\s\+\)>>\ze\($\|\s\+\)" contains=ALLBUT,rplSubError,rplIncluded,rplDefaultEnd,rplStorageSub keepend extend
361071d4279SBram Moolenaar
362071d4279SBram Moolenaar" Expressions
363071d4279SBram Moolenaarsyntax region rplExpr start="\(^\|\s\+\)'" end="'\ze\($\|\s\+\)" contains=rplParen,rplParenError
364071d4279SBram Moolenaar
365071d4279SBram Moolenaar" Local variables
366071d4279SBram Moolenaarsyntax match rplStorageError "\(^\|\s\+\)->\ze\($\|\s\+\)"hs=e-1
367071d4279SBram Moolenaarsyntax region rplStorageSub matchgroup=rplStorage start="\(^\|\s\+\)<<\ze\($\|\s\+\)" end="\(^\|\s\+\)>>\ze\($\|\s\+\)" contains=ALLBUT,rplSubError,rplIncluded,rplDefaultEnd,rplStorageExpr contained containedin=rplLocalStorage keepend extend
368071d4279SBram Moolenaarsyntax region rplStorageExpr matchgroup=rplStorage start="\(^\|\s\+\)'" end="'\ze\($\|\s\+\)" contains=rplParen,rplParenError extend contained containedin=rplLocalStorage
369071d4279SBram Moolenaarsyntax region rplLocalStorage matchgroup=rplStorage start="\(^\|\s\+\)->\ze\($\|\s\+\)" end="\(^\|\s\+\)\(<<\ze\($\|\s\+\)\|'\)" contains=rplStorageSub,rplStorageExpr,rplComment,rplCommentLine keepend extend
370071d4279SBram Moolenaar
371071d4279SBram Moolenaar" Catch errors caused by too many right brackets
372071d4279SBram Moolenaarsyntax match rplArrayError "\]"
373071d4279SBram Moolenaarsyntax match rplArray "\]" contained containedin=rplArray
374071d4279SBram Moolenaarsyntax region rplArray matchgroup=rplArray start="\[" end="\]" contains=ALLBUT,rplArrayError keepend extend
375071d4279SBram Moolenaar
376071d4279SBram Moolenaar" Catch errors caused by too many right '}'
377071d4279SBram Moolenaarsyntax match rplListError "}"
378071d4279SBram Moolenaarsyntax match rplList "}" contained containedin=rplList
379071d4279SBram Moolenaarsyntax region rplList matchgroup=rplList start="{" end="}" contains=ALLBUT,rplListError,rplIncluded keepend extend
380071d4279SBram Moolenaar
381071d4279SBram Moolenaar" cpp is used by RPL/2
382071d4279SBram Moolenaarsyntax match rplPreProc   "\_^#\s*\(define\|undef\)\>"
383071d4279SBram Moolenaarsyntax match rplPreProc   "\_^#\s*\(warning\|error\)\>"
384071d4279SBram Moolenaarsyntax match rplPreCondit "\_^#\s*\(if\|ifdef\|ifndef\|elif\|else\|endif\)\>"
385071d4279SBram Moolenaarsyntax match rplIncluded contained "\<<\s*\S*\s*>\>"
386071d4279SBram Moolenaarsyntax match rplInclude   "\_^#\s*include\>\s*["<]" contains=rplIncluded,rplString
387071d4279SBram Moolenaar"syntax match rplExecPath  "\%^\_^#!\s*\S*"
388071d4279SBram Moolenaarsyntax match rplExecPath  "\%^\_^#!\p*\_$"
389071d4279SBram Moolenaar
390071d4279SBram Moolenaar" Any integer
391071d4279SBram Moolenaarsyntax match rplInteger    "\(^\|\s\+\)[-+]\=\d\+\ze\($\|\s\+\)"
392071d4279SBram Moolenaar
393071d4279SBram Moolenaar" Floating point number
394071d4279SBram Moolenaar" [S][ip].[fp]
395071d4279SBram Moolenaarsyntax match rplFloat       "\(^\|\s\+\)[-+]\=\(\d*\)\=[\.,]\(\d*\)\=\ze\($\|\s\+\)" contains=ALLBUT,rplPoint,rplSign
396071d4279SBram Moolenaar" [S]ip[.fp]E[S]exp
397071d4279SBram Moolenaarsyntax match rplFloat       "\(^\|\s\+\)[-+]\=\d\+\([\.,]\d*\)\=[eE]\([-+]\)\=\d\+\ze\($\|\s\+\)" contains=ALLBUT,rplPoint,rplSign
398071d4279SBram Moolenaar" [S].fpE[S]exp
399071d4279SBram Moolenaarsyntax match rplFloat       "\(^\|\s\+\)[-+]\=\(\d*\)\=[\.,]\d\+[eE]\([-+]\)\=\d\+\ze\($\|\s\+\)" contains=ALLBUT,rplPoint,rplSign
400071d4279SBram Moolenaarsyntax match rplPoint      "\<[\.,]\>"
401071d4279SBram Moolenaarsyntax match rplSign       "\<[+-]\>"
402071d4279SBram Moolenaar
403071d4279SBram Moolenaar" Complex number
404071d4279SBram Moolenaar" (x,y)
405071d4279SBram Moolenaarsyntax match rplComplex    "\(^\|\s\+\)([-+]\=\(\d*\)\=\.\=\d*\([eE][-+]\=\d\+\)\=\s*,\s*[-+]\=\(\d*\)\=\.\=\d*\([eE][-+]\=\d\+\)\=)\ze\($\|\s\+\)"
406071d4279SBram Moolenaar" (x.y)
407071d4279SBram Moolenaarsyntax match rplComplex    "\(^\|\s\+\)([-+]\=\(\d*\)\=,\=\d*\([eE][-+]\=\d\+\)\=\s*\.\s*[-+]\=\(\d*\)\=,\=\d*\([eE][-+]\=\d\+\)\=)\ze\($\|\s\+\)"
408071d4279SBram Moolenaar
409071d4279SBram Moolenaar" Strings
410071d4279SBram Moolenaarsyntax match rplStringGuilles       "\\\""
411071d4279SBram Moolenaarsyntax match rplStringAntislash     "\\\\"
412071d4279SBram Moolenaarsyntax region rplString start=+\(^\|\s\+\)"+ end=+"\ze\($\|\s\+\)+ contains=rplStringGuilles,rplStringAntislash
413071d4279SBram Moolenaar
414071d4279SBram Moolenaarsyntax match rplTab "\t"  transparent
415071d4279SBram Moolenaar
416071d4279SBram Moolenaar" Define the default highlighting.
41789bcfda6SBram Moolenaar" Only when an item doesn't have highlighting yet
418071d4279SBram Moolenaar
419071d4279SBram Moolenaar" The default highlighting.
420071d4279SBram Moolenaar
421f37506f6SBram Moolenaarhi def link rplControl		Statement
422f37506f6SBram Moolenaarhi def link rplStatement		Statement
423f37506f6SBram Moolenaarhi def link rplAlgConditional	Conditional
424f37506f6SBram Moolenaarhi def link rplConditional		Repeat
425f37506f6SBram Moolenaarhi def link rplConditionalError	Error
426f37506f6SBram Moolenaarhi def link rplRepeat		Repeat
427f37506f6SBram Moolenaarhi def link rplCycle		Repeat
428f37506f6SBram Moolenaarhi def link rplUntil		Repeat
429f37506f6SBram Moolenaarhi def link rplIntrinsic		Special
430f37506f6SBram Moolenaarhi def link rplStorage		StorageClass
431f37506f6SBram Moolenaarhi def link rplStorageExpr		StorageClass
432f37506f6SBram Moolenaarhi def link rplStorageError	Error
433f37506f6SBram Moolenaarhi def link rplReadWrite		rplIntrinsic
434071d4279SBram Moolenaar
435f37506f6SBram Moolenaarhi def link rplOperator		Operator
436071d4279SBram Moolenaar
437f37506f6SBram Moolenaarhi def link rplList		Special
438f37506f6SBram Moolenaarhi def link rplArray		Special
439f37506f6SBram Moolenaarhi def link rplConstant		Identifier
440f37506f6SBram Moolenaarhi def link rplExpr		Type
441071d4279SBram Moolenaar
442f37506f6SBram Moolenaarhi def link rplString		String
443f37506f6SBram Moolenaarhi def link rplStringGuilles	String
444f37506f6SBram Moolenaarhi def link rplStringAntislash	String
445071d4279SBram Moolenaar
446f37506f6SBram Moolenaarhi def link rplBinary		Boolean
447f37506f6SBram Moolenaarhi def link rplOctal		Boolean
448f37506f6SBram Moolenaarhi def link rplDecimal		Boolean
449f37506f6SBram Moolenaarhi def link rplHexadecimal		Boolean
450f37506f6SBram Moolenaarhi def link rplInteger		Number
451f37506f6SBram Moolenaarhi def link rplFloat		Float
452f37506f6SBram Moolenaarhi def link rplComplex		Float
453f37506f6SBram Moolenaarhi def link rplBoolean		Identifier
454071d4279SBram Moolenaar
455f37506f6SBram Moolenaarhi def link rplObsolete		Todo
456071d4279SBram Moolenaar
457f37506f6SBram Moolenaarhi def link rplPreCondit		PreCondit
458f37506f6SBram Moolenaarhi def link rplInclude		Include
459f37506f6SBram Moolenaarhi def link rplIncluded		rplString
460f37506f6SBram Moolenaarhi def link rplInclude		Include
461f37506f6SBram Moolenaarhi def link rplExecPath		Include
462f37506f6SBram Moolenaarhi def link rplPreProc		PreProc
463f37506f6SBram Moolenaarhi def link rplComment		Comment
464f37506f6SBram Moolenaarhi def link rplCommentLine		Comment
465f37506f6SBram Moolenaarhi def link rplCommentString	Comment
466f37506f6SBram Moolenaarhi def link rplSubDelimitor	rplStorage
467f37506f6SBram Moolenaarhi def link rplCommentError	Error
468f37506f6SBram Moolenaarhi def link rplParenError		Error
469f37506f6SBram Moolenaarhi def link rplSubError		Error
470f37506f6SBram Moolenaarhi def link rplArrayError		Error
471f37506f6SBram Moolenaarhi def link rplListError		Error
472f37506f6SBram Moolenaarhi def link rplTab			Error
473f37506f6SBram Moolenaarhi def link rplBinaryError		Error
474f37506f6SBram Moolenaarhi def link rplOctalError		Error
475f37506f6SBram Moolenaarhi def link rplDecimalError	Error
476f37506f6SBram Moolenaarhi def link rplHexadecimalError	Error
477071d4279SBram Moolenaar
478071d4279SBram Moolenaar
479071d4279SBram Moolenaarlet b:current_syntax = "rpl"
480071d4279SBram Moolenaar
481b8ff1fb5SBram Moolenaarlet &cpo = s:cpo_save
482b8ff1fb5SBram Moolenaarunlet s:cpo_save
483071d4279SBram Moolenaar" vim: ts=8 tw=132
484