blob: 8fabd232549c939c28a560adcf4e8874f09e0dde [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim syntax file
2" Language: FoxPro for DOS v2.x
3" Maintainer: Powing Tse <powing@hkem.com>
4" Last Change: 06 September 2001
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
14syntax case ignore
15
16" Highlight special characters
17syn match foxproSpecial "^\s*!"
18syn match foxproSpecial "&"
19syn match foxproSpecial ";\s*$"
20syn match foxproSpecial "^\s*="
21syn match foxproSpecial "^\s*\\"
22syn match foxproSpecial "^\s*\\\\"
23syn match foxproSpecial "^\s*?"
24syn match foxproSpecial "^\s*??"
25syn match foxproSpecial "^\s*???"
26syn match foxproSpecial "\<m\>\."
27
28" @ Statements
29syn match foxproAtSymbol contained "^\s*@"
30syn match foxproAtCmd contained "\<say\>\|\<get\>\|\<edit\>\|\<box\>\|\<clea\%[r]\>\|\<fill\>\|\<menu\>\|\<prom\%[pt]\>\|\<scro\%[ll]\>\|\<to\>"
31syn match foxproAtStart transparent "^\s*@.*" contains=ALL
32
33" preprocessor directives
34syn match foxproPreProc "^\s*#\s*\(\<if\>\|\<elif\>\|\<else\>\|\<endi\%[f]\>\)"
35syn match foxproPreProc "^\s*#\s*\(\<defi\%[ne]\>\|\<unde\%[f]\>\)"
36syn match foxproPreProc "^\s*#\s*\<regi\%[on]\>"
37
38" Functions
39syn match foxproFunc "\<abs\>\s*("me=e-1
40syn match foxproFunc "\<acop\%[y]\>\s*("me=e-1
41syn match foxproFunc "\<acos\>\s*("me=e-1
42syn match foxproFunc "\<adel\>\s*("me=e-1
43syn match foxproFunc "\<adir\>\s*("me=e-1
44syn match foxproFunc "\<aele\%[ment]\>\s*("me=e-1
45syn match foxproFunc "\<afie\%[lds]\>\s*("me=e-1
46syn match foxproFunc "\<afon\%[t]\>\s*("me=e-1
47syn match foxproFunc "\<ains\>\s*("me=e-1
48syn match foxproFunc "\<alen\>\s*("me=e-1
49syn match foxproFunc "\<alia\%[s]\>\s*("me=e-1
50syn match foxproFunc "\<allt\%[rim]\>\s*("me=e-1
51syn match foxproFunc "\<ansi\%[tooem]\>\s*("me=e-1
52syn match foxproFunc "\<asc\>\s*("me=e-1
53syn match foxproFunc "\<asca\%[n]\>\s*("me=e-1
54syn match foxproFunc "\<asin\>\s*("me=e-1
55syn match foxproFunc "\<asor\%[t]\>\s*("me=e-1
56syn match foxproFunc "\<asub\%[script]\>\s*("me=e-1
57syn match foxproFunc "\<at\>\s*("me=e-1
58syn match foxproFunc "\<atan\>\s*("me=e-1
59syn match foxproFunc "\<atc\>\s*("me=e-1
60syn match foxproFunc "\<atcl\%[ine]\>\s*("me=e-1
61syn match foxproFunc "\<atli\%[ne]\>\s*("me=e-1
62syn match foxproFunc "\<atn2\>\s*("me=e-1
63syn match foxproFunc "\<bar\>\s*("me=e-1
64syn match foxproFunc "\<barc\%[ount]\>\s*("me=e-1
65syn match foxproFunc "\<barp\%[rompt]\>\s*("me=e-1
66syn match foxproFunc "\<betw\%[een]\>\s*("me=e-1
67syn match foxproFunc "\<bof\>\s*("me=e-1
68syn match foxproFunc "\<caps\%[lock]\>\s*("me=e-1
69syn match foxproFunc "\<cdow\>\s*("me=e-1
70syn match foxproFunc "\<cdx\>\s*("me=e-1
71syn match foxproFunc "\<ceil\%[ing]\>\s*("me=e-1
72syn match foxproFunc "\<chr\>\s*("me=e-1
73syn match foxproFunc "\<chrs\%[aw]\>\s*("me=e-1
74syn match foxproFunc "\<chrt\%[ran]\>\s*("me=e-1
75syn match foxproFunc "\<cmon\%[th]\>\s*("me=e-1
76syn match foxproFunc "\<cntb\%[ar]\>\s*("me=e-1
77syn match foxproFunc "\<cntp\%[ad]\>\s*("me=e-1
78syn match foxproFunc "\<col\>\s*("me=e-1
79syn match foxproFunc "\<cos\>\s*("me=e-1
80syn match foxproFunc "\<cpco\%[nvert]\>\s*("me=e-1
81syn match foxproFunc "\<cpcu\%[rrent]\>\s*("me=e-1
82syn match foxproFunc "\<cpdb\%[f]\>\s*("me=e-1
83syn match foxproFunc "\<ctod\>\s*("me=e-1
84syn match foxproFunc "\<curd\%[ir]\>\s*("me=e-1
85syn match foxproFunc "\<date\>\s*("me=e-1
86syn match foxproFunc "\<day\>\s*("me=e-1
87syn match foxproFunc "\<dbf\>\s*("me=e-1
88syn match foxproFunc "\<ddea\%[borttrans]\>\s*("me=e-1
89syn match foxproFunc "\<ddea\%[dvise]\>\s*("me=e-1
90syn match foxproFunc "\<ddee\%[nabled]\>\s*("me=e-1
91syn match foxproFunc "\<ddee\%[xecute]\>\s*("me=e-1
92syn match foxproFunc "\<ddei\%[nitiate]\>\s*("me=e-1
93syn match foxproFunc "\<ddel\%[asterror]\>\s*("me=e-1
94syn match foxproFunc "\<ddep\%[oke]\>\s*("me=e-1
95syn match foxproFunc "\<dder\%[equest]\>\s*("me=e-1
96syn match foxproFunc "\<ddes\%[etoption]\>\s*("me=e-1
97syn match foxproFunc "\<ddes\%[etservice]\>\s*("me=e-1
98syn match foxproFunc "\<ddes\%[ettopic]\>\s*("me=e-1
99syn match foxproFunc "\<ddet\%[erminate]\>\s*("me=e-1
100syn match foxproFunc "\<dele\%[ted]\>\s*("me=e-1
101syn match foxproFunc "\<desc\%[ending]\>\s*("me=e-1
102syn match foxproFunc "\<diff\%[erence]\>\s*("me=e-1
103syn match foxproFunc "\<disk\%[space]\>\s*("me=e-1
104syn match foxproFunc "\<dmy\>\s*("me=e-1
105syn match foxproFunc "\<dow\>\s*("me=e-1
106syn match foxproFunc "\<dtoc\>\s*("me=e-1
107syn match foxproFunc "\<dtor\>\s*("me=e-1
108syn match foxproFunc "\<dtos\>\s*("me=e-1
109syn match foxproFunc "\<empt\%[y]\>\s*("me=e-1
110syn match foxproFunc "\<eof\>\s*("me=e-1
111syn match foxproFunc "\<erro\%[r]\>\s*("me=e-1
112syn match foxproFunc "\<eval\%[uate]\>\s*("me=e-1
113syn match foxproFunc "\<exp\>\s*("me=e-1
114syn match foxproFunc "\<fchs\%[ize]\>\s*("me=e-1
115syn match foxproFunc "\<fclo\%[se]\>\s*("me=e-1
116syn match foxproFunc "\<fcou\%[nt]\>\s*("me=e-1
117syn match foxproFunc "\<fcre\%[ate]\>\s*("me=e-1
118syn match foxproFunc "\<fdat\%[e]\>\s*("me=e-1
119syn match foxproFunc "\<feof\>\s*("me=e-1
120syn match foxproFunc "\<ferr\%[or]\>\s*("me=e-1
121syn match foxproFunc "\<fflu\%[sh]\>\s*("me=e-1
122syn match foxproFunc "\<fget\%[s]\>\s*("me=e-1
123syn match foxproFunc "\<fiel\%[d]\>\s*("me=e-1
124syn match foxproFunc "\<file\>\s*("me=e-1
125syn match foxproFunc "\<filt\%[er]\>\s*("me=e-1
126syn match foxproFunc "\<fkla\%[bel]\>\s*("me=e-1
127syn match foxproFunc "\<fkma\%[x]\>\s*("me=e-1
128syn match foxproFunc "\<fldl\%[ist]\>\s*("me=e-1
129syn match foxproFunc "\<floc\%[k]\>\s*("me=e-1
130syn match foxproFunc "\<floo\%[r]\>\s*("me=e-1
131syn match foxproFunc "\<font\%[metric]\>\s*("me=e-1
132syn match foxproFunc "\<fope\%[n]\>\s*("me=e-1
133syn match foxproFunc "\<for\>\s*("me=e-1
134syn match foxproFunc "\<foun\%[d]\>\s*("me=e-1
135syn match foxproFunc "\<fput\%[s]\>\s*("me=e-1
136syn match foxproFunc "\<frea\%[d]\>\s*("me=e-1
137syn match foxproFunc "\<fsee\%[k]\>\s*("me=e-1
138syn match foxproFunc "\<fsiz\%[e]\>\s*("me=e-1
139syn match foxproFunc "\<ftim\%[e]\>\s*("me=e-1
140syn match foxproFunc "\<full\%[path]\>\s*("me=e-1
141syn match foxproFunc "\<fv\>\s*("me=e-1
142syn match foxproFunc "\<fwri\%[te]\>\s*("me=e-1
143syn match foxproFunc "\<getb\%[ar]\>\s*("me=e-1
144syn match foxproFunc "\<getd\%[ir]\>\s*("me=e-1
145syn match foxproFunc "\<gete\%[nv]\>\s*("me=e-1
146syn match foxproFunc "\<getf\%[ile]\>\s*("me=e-1
147syn match foxproFunc "\<getf\%[ont]\>\s*("me=e-1
148syn match foxproFunc "\<getp\%[ad]\>\s*("me=e-1
149syn match foxproFunc "\<gomo\%[nth]\>\s*("me=e-1
150syn match foxproFunc "\<head\%[er]\>\s*("me=e-1
151syn match foxproFunc "\<home\>\s*("me=e-1
152syn match foxproFunc "\<idxc\%[ollate]\>\s*("me=e-1
153syn match foxproFunc "\<iif\>\s*("me=e-1
154syn match foxproFunc "\<inke\%[y]\>\s*("me=e-1
155syn match foxproFunc "\<inli\%[st]\>\s*("me=e-1
156syn match foxproFunc "\<insm\%[ode]\>\s*("me=e-1
157syn match foxproFunc "\<int\>\s*("me=e-1
158syn match foxproFunc "\<isal\%[pha]\>\s*("me=e-1
159syn match foxproFunc "\<isbl\%[ank]\>\s*("me=e-1
160syn match foxproFunc "\<isco\%[lor]\>\s*("me=e-1
161syn match foxproFunc "\<isdi\%[git]\>\s*("me=e-1
162syn match foxproFunc "\<islo\%[wer]\>\s*("me=e-1
163syn match foxproFunc "\<isre\%[adonly]\>\s*("me=e-1
164syn match foxproFunc "\<isup\%[per]\>\s*("me=e-1
165syn match foxproFunc "\<key\>\s*("me=e-1
166syn match foxproFunc "\<keym\%[atch]\>\s*("me=e-1
167syn match foxproFunc "\<last\%[key]\>\s*("me=e-1
168syn match foxproFunc "\<left\>\s*("me=e-1
169syn match foxproFunc "\<len\>\s*("me=e-1
170syn match foxproFunc "\<like\>\s*("me=e-1
171syn match foxproFunc "\<line\%[no]\>\s*("me=e-1
172syn match foxproFunc "\<locf\%[ile]\>\s*("me=e-1
173syn match foxproFunc "\<lock\>\s*("me=e-1
174syn match foxproFunc "\<log\>\s*("me=e-1
175syn match foxproFunc "\<log1\%[0]\>\s*("me=e-1
176syn match foxproFunc "\<look\%[up]\>\s*("me=e-1
177syn match foxproFunc "\<lowe\%[r]\>\s*("me=e-1
178syn match foxproFunc "\<ltri\%[m]\>\s*("me=e-1
179syn match foxproFunc "\<lupd\%[ate]\>\s*("me=e-1
180syn match foxproFunc "\<max\>\s*("me=e-1
181syn match foxproFunc "\<mcol\>\s*("me=e-1
182syn match foxproFunc "\<mdow\%[n]\>\s*("me=e-1
183syn match foxproFunc "\<mdx\>\s*("me=e-1
184syn match foxproFunc "\<mdy\>\s*("me=e-1
185syn match foxproFunc "\<meml\%[ines]\>\s*("me=e-1
186syn match foxproFunc "\<memo\%[ry]\>\s*("me=e-1
187syn match foxproFunc "\<menu\>\s*("me=e-1
188syn match foxproFunc "\<mess\%[age]\>\s*("me=e-1
189syn match foxproFunc "\<min\>\s*("me=e-1
190syn match foxproFunc "\<mlin\%[e]\>\s*("me=e-1
191syn match foxproFunc "\<mod\>\s*("me=e-1
192syn match foxproFunc "\<mont\%[h]\>\s*("me=e-1
193syn match foxproFunc "\<mrkb\%[ar]\>\s*("me=e-1
194syn match foxproFunc "\<mrkp\%[ad]\>\s*("me=e-1
195syn match foxproFunc "\<mrow\>\s*("me=e-1
196syn match foxproFunc "\<mwin\%[dow]\>\s*("me=e-1
197syn match foxproFunc "\<ndx\>\s*("me=e-1
198syn match foxproFunc "\<norm\%[alize]\>\s*("me=e-1
199syn match foxproFunc "\<numl\%[ock]\>\s*("me=e-1
200syn match foxproFunc "\<objn\%[um]\>\s*("me=e-1
201syn match foxproFunc "\<objv\%[ar]\>\s*("me=e-1
202syn match foxproFunc "\<occu\%[rs]\>\s*("me=e-1
203syn match foxproFunc "\<oemt\%[oansi]\>\s*("me=e-1
204syn match foxproFunc "\<on\>\s*("me=e-1
205syn match foxproFunc "\<orde\%[r]\>\s*("me=e-1
206syn match foxproFunc "\<os\>\s*("me=e-1
207syn match foxproFunc "\<pad\>\s*("me=e-1
208syn match foxproFunc "\<padc\>\s*("me=e-1
209syn match foxproFunc "\<padl\>\s*("me=e-1
210syn match foxproFunc "\<padr\>\s*("me=e-1
211syn match foxproFunc "\<para\%[meters]\>\s*("me=e-1
212syn match foxproFunc "\<paym\%[ent]\>\s*("me=e-1
213syn match foxproFunc "\<pcol\>\s*("me=e-1
214syn match foxproFunc "\<pi\>\s*("me=e-1
215syn match foxproFunc "\<popu\%[p]\>\s*("me=e-1
216syn match foxproFunc "\<prin\%[tstatus]\>\s*("me=e-1
217syn match foxproFunc "\<prmb\%[ar]\>\s*("me=e-1
218syn match foxproFunc "\<prmp\%[ad]\>\s*("me=e-1
219syn match foxproFunc "\<prog\%[ram]\>\s*("me=e-1
220syn match foxproFunc "\<prom\%[pt]\>\s*("me=e-1
221syn match foxproFunc "\<prop\%[er]\>\s*("me=e-1
222syn match foxproFunc "\<prow\>\s*("me=e-1
223syn match foxproFunc "\<prti\%[nfo]\>\s*("me=e-1
224syn match foxproFunc "\<putf\%[ile]\>\s*("me=e-1
225syn match foxproFunc "\<pv\>\s*("me=e-1
226syn match foxproFunc "\<rand\>\s*("me=e-1
227syn match foxproFunc "\<rat\>\s*("me=e-1
228syn match foxproFunc "\<ratl\%[ine]\>\s*("me=e-1
229syn match foxproFunc "\<rdle\%[vel]\>\s*("me=e-1
230syn match foxproFunc "\<read\%[key]\>\s*("me=e-1
231syn match foxproFunc "\<recc\%[ount]\>\s*("me=e-1
232syn match foxproFunc "\<recn\%[o]\>\s*("me=e-1
233syn match foxproFunc "\<recs\%[ize]\>\s*("me=e-1
234syn match foxproFunc "\<rela\%[tion]\>\s*("me=e-1
235syn match foxproFunc "\<repl\%[icate]\>\s*("me=e-1
236syn match foxproFunc "\<rgbs\%[cheme]\>\s*("me=e-1
237syn match foxproFunc "\<righ\%[t]\>\s*("me=e-1
238syn match foxproFunc "\<rloc\%[k]\>\s*("me=e-1
239syn match foxproFunc "\<roun\%[d]\>\s*("me=e-1
240syn match foxproFunc "\<row\>\s*("me=e-1
241syn match foxproFunc "\<rtod\>\s*("me=e-1
242syn match foxproFunc "\<rtri\%[m]\>\s*("me=e-1
243syn match foxproFunc "\<sche\%[me]\>\s*("me=e-1
244syn match foxproFunc "\<scol\%[s]\>\s*("me=e-1
245syn match foxproFunc "\<seco\%[nds]\>\s*("me=e-1
246syn match foxproFunc "\<seek\>\s*("me=e-1
247syn match foxproFunc "\<sele\%[ct]\>\s*("me=e-1
248syn match foxproFunc "\<set\>\s*("me=e-1
249syn match foxproFunc "\<sign\>\s*("me=e-1
250syn match foxproFunc "\<sin\>\s*("me=e-1
251syn match foxproFunc "\<skpb\%[ar]\>\s*("me=e-1
252syn match foxproFunc "\<skpp\%[ad]\>\s*("me=e-1
253syn match foxproFunc "\<soun\%[dex]\>\s*("me=e-1
254syn match foxproFunc "\<spac\%[e]\>\s*("me=e-1
255syn match foxproFunc "\<sqrt\>\s*("me=e-1
256syn match foxproFunc "\<srow\%[s]\>\s*("me=e-1
257syn match foxproFunc "\<str\>\s*("me=e-1
258syn match foxproFunc "\<strt\%[ran]\>\s*("me=e-1
259syn match foxproFunc "\<stuf\%[f]\>\s*("me=e-1
260syn match foxproFunc "\<subs\%[tr]\>\s*("me=e-1
261syn match foxproFunc "\<sysm\%[etric]\>\s*("me=e-1
262syn match foxproFunc "\<sys\>\s*("me=e-1
263syn match foxproFunc "\<tag\>\s*("me=e-1
264syn match foxproFunc "\<tagc\%[ount]\>\s*("me=e-1
265syn match foxproFunc "\<tagn\%[o]\>\s*("me=e-1
266syn match foxproFunc "\<tan\>\s*("me=e-1
267syn match foxproFunc "\<targ\%[et]\>\s*("me=e-1
268syn match foxproFunc "\<time\>\s*("me=e-1
269syn match foxproFunc "\<tran\%[sform]\>\s*("me=e-1
270syn match foxproFunc "\<trim\>\s*("me=e-1
271syn match foxproFunc "\<txtw\%[idth]\>\s*("me=e-1
272syn match foxproFunc "\<type\>\s*("me=e-1
273syn match foxproFunc "\<uniq\%[ue]\>\s*("me=e-1
274syn match foxproFunc "\<upda\%[ted]\>\s*("me=e-1
275syn match foxproFunc "\<uppe\%[r]\>\s*("me=e-1
276syn match foxproFunc "\<used\>\s*("me=e-1
277syn match foxproFunc "\<val\>\s*("me=e-1
278syn match foxproFunc "\<varr\%[ead]\>\s*("me=e-1
279syn match foxproFunc "\<vers\%[ion]\>\s*("me=e-1
280syn match foxproFunc "\<wbor\%[der]\>\s*("me=e-1
281syn match foxproFunc "\<wchi\%[ld]\>\s*("me=e-1
282syn match foxproFunc "\<wcol\%[s]\>\s*("me=e-1
283syn match foxproFunc "\<wexi\%[st]\>\s*("me=e-1
284syn match foxproFunc "\<wfon\%[t]\>\s*("me=e-1
285syn match foxproFunc "\<wlas\%[t]\>\s*("me=e-1
286syn match foxproFunc "\<wlco\%[l]\>\s*("me=e-1
287syn match foxproFunc "\<wlro\%[w]\>\s*("me=e-1
288syn match foxproFunc "\<wmax\%[imum]\>\s*("me=e-1
289syn match foxproFunc "\<wmin\%[imum]\>\s*("me=e-1
290syn match foxproFunc "\<wont\%[op]\>\s*("me=e-1
291syn match foxproFunc "\<wout\%[put]\>\s*("me=e-1
292syn match foxproFunc "\<wpar\%[ent]\>\s*("me=e-1
293syn match foxproFunc "\<wrea\%[d]\>\s*("me=e-1
294syn match foxproFunc "\<wrow\%[s]\>\s*("me=e-1
295syn match foxproFunc "\<wtit\%[le]\>\s*("me=e-1
296syn match foxproFunc "\<wvis\%[ible]\>\s*("me=e-1
297syn match foxproFunc "\<year\>\s*("me=e-1
298
299" Commands
300syn match foxproCmd "^\s*\<acce\%[pt]\>"
301syn match foxproCmd "^\s*\<acti\%[vate]\>\s*\<menu\>"
302syn match foxproCmd "^\s*\<acti\%[vate]\>\s*\<popu\%[p]\>"
303syn match foxproCmd "^\s*\<acti\%[vate]\>\s*\<scre\%[en]\>"
304syn match foxproCmd "^\s*\<acti\%[vate]\>\s*\<wind\%[ow]\>"
305syn match foxproCmd "^\s*\<appe\%[nd]\>"
306syn match foxproCmd "^\s*\<appe\%[nd]\>\s*\<from\>"
307syn match foxproCmd "^\s*\<appe\%[nd]\>\s*\<from\>\s*\<arra\%[y]\>"
308syn match foxproCmd "^\s*\<appe\%[nd]\>\s*\<gene\%[ral]\>"
309syn match foxproCmd "^\s*\<appe\%[nd]\>\s*\<memo\>"
310syn match foxproCmd "^\s*\<assi\%[st]\>"
311syn match foxproCmd "^\s*\<aver\%[age]\>"
312syn match foxproCmd "^\s*\<blan\%[k]\>"
313syn match foxproCmd "^\s*\<brow\%[se]\>"
314syn match foxproCmd "^\s*\<buil\%[d]\>\s*\<app\>"
315syn match foxproCmd "^\s*\<buil\%[d]\>\s*\<exe\>"
316syn match foxproCmd "^\s*\<buil\%[d]\>\s*\<proj\%[ect]\>"
317syn match foxproCmd "^\s*\<calc\%[ulate]\>"
318syn match foxproCmd "^\s*\<call\>"
319syn match foxproCmd "^\s*\<canc\%[el]\>"
320syn match foxproCmd "^\s*\<chan\%[ge]\>"
321syn match foxproCmd "^\s*\<clea\%[r]\>"
322syn match foxproCmd "^\s*\<clos\%[e]\>"
323syn match foxproCmd "^\s*\<clos\%[e]\>\s*\<memo\>"
324syn match foxproCmd "^\s*\<comp\%[ile]\>"
325syn match foxproCmd "^\s*\<cont\%[inue]\>"
326syn match foxproCmd "^\s*\<copy\>\s*\<file\>"
327syn match foxproCmd "^\s*\<copy\>\s*\<inde\%[xes]\>"
328syn match foxproCmd "^\s*\<copy\>\s*\<memo\>"
329syn match foxproCmd "^\s*\<copy\>\s*\<stru\%[cture]\>"
330syn match foxproCmd "^\s*\<copy\>\s*\<stru\%[cture]\>\s*\<exte\%[nded]\>"
331syn match foxproCmd "^\s*\<copy\>\s*\<tag\>"
332syn match foxproCmd "^\s*\<copy\>\s*\<to\>"
333syn match foxproCmd "^\s*\<copy\>\s*\<to\>\s*\<arra\%[y]\>"
334syn match foxproCmd "^\s*\<coun\%[t]\>"
335syn match foxproCmd "^\s*\<crea\%[te]\>"
336syn match foxproCmd "^\s*\<crea\%[te]\>\s*\<colo\%[r]\>\s*\<set\>"
337syn match foxproCmd "^\s*\<crea\%[te]\>\s*\<curs\%[or]\>"
338syn match foxproCmd "^\s*\<crea\%[te]\>\s*\<from\>"
339syn match foxproCmd "^\s*\<crea\%[te]\>\s*\<labe\%[l]\>"
340syn match foxproCmd "^\s*\<crea\%[te]\>\s*\<menu\>"
341syn match foxproCmd "^\s*\<crea\%[te]\>\s*\<proj\%[ect]\>"
342syn match foxproCmd "^\s*\<crea\%[te]\>\s*\<quer\%[y]\>"
343syn match foxproCmd "^\s*\<crea\%[te]\>\s*\<repo\%[rt]\>"
344syn match foxproCmd "^\s*\<crea\%[te]\>\s*\<scre\%[en]\>"
345syn match foxproCmd "^\s*\<crea\%[te]\>\s*\<tabl\%[e]\>"
346syn match foxproCmd "^\s*\<crea\%[te]\>\s*\<view\>"
347syn match foxproCmd "^\s*\<dde\>"
348syn match foxproCmd "^\s*\<deac\%[tivate]\>\s*\<menu\>"
349syn match foxproCmd "^\s*\<deac\%[tivate]\>\s*\<popu\%[p]\>"
350syn match foxproCmd "^\s*\<deac\%[tivate]\>\s*\<wind\%[ow]\>"
351syn match foxproCmd "^\s*\<decl\%[are]\>"
352syn match foxproCmd "^\s*\<defi\%[ne]\>\s*\<bar\>"
353syn match foxproCmd "^\s*\<defi\%[ne]\>\s*\<box\>"
354syn match foxproCmd "^\s*\<defi\%[ne]\>\s*\<menu\>"
355syn match foxproCmd "^\s*\<defi\%[ne]\>\s*\<pad\>"
356syn match foxproCmd "^\s*\<defi\%[ne]\>\s*\<popu\%[p]\>"
357syn match foxproCmd "^\s*\<defi\%[ne]\>\s*\<wind\%[ow]\>"
358syn match foxproCmd "^\s*\<dele\%[te]\>"
359syn match foxproCmd "^\s*\<dele\%[te]\>\s*\<file\>"
360syn match foxproCmd "^\s*\<dele\%[te]\>\s*\<tag\>"
361syn match foxproCmd "^\s*\<dime\%[nsion]\>"
362syn match foxproCmd "^\s*\<dire\%[ctory]\>"
363syn match foxproCmd "^\s*\<disp\%[lay]\>"
364syn match foxproCmd "^\s*\<disp\%[lay]\>\s*\<file\%[s]\>"
365syn match foxproCmd "^\s*\<disp\%[lay]\>\s*\<memo\%[ry]\>"
366syn match foxproCmd "^\s*\<disp\%[lay]\>\s*\<stat\%[us]\>"
367syn match foxproCmd "^\s*\<disp\%[lay]\>\s*\<stru\%[cture]\>"
368syn match foxproCmd "^\s*\<do\>"
369syn match foxproCmd "^\s*\<edit\>"
370syn match foxproCmd "^\s*\<ejec\%[t]\>"
371syn match foxproCmd "^\s*\<ejec\%[t]\>\s*\<page\>"
372syn match foxproCmd "^\s*\<eras\%[e]\>"
373syn match foxproCmd "^\s*\<exit\>"
374syn match foxproCmd "^\s*\<expo\%[rt]\>"
375syn match foxproCmd "^\s*\<exte\%[rnal]\>"
376syn match foxproCmd "^\s*\<file\%[r]\>"
377syn match foxproCmd "^\s*\<find\>"
378syn match foxproCmd "^\s*\<flus\%[h]\>"
379syn match foxproCmd "^\s*\<func\%[tion]\>"
380syn match foxproCmd "^\s*\<gath\%[er]\>"
381syn match foxproCmd "^\s*\<gete\%[xpr]\>"
382syn match foxproCmd "^\s*\<go\>"
383syn match foxproCmd "^\s*\<goto\>"
384syn match foxproCmd "^\s*\<help\>"
385syn match foxproCmd "^\s*\<hide\>\s*\<menu\>"
386syn match foxproCmd "^\s*\<hide\>\s*\<popu\%[p]\>"
387syn match foxproCmd "^\s*\<hide\>\s*\<wind\%[ow]\>"
388syn match foxproCmd "^\s*\<impo\%[rt]\>"
389syn match foxproCmd "^\s*\<inde\%[x]\>"
390syn match foxproCmd "^\s*\<inpu\%[t]\>"
391syn match foxproCmd "^\s*\<inse\%[rt]\>"
392syn match foxproCmd "^\s*\<join\>"
393syn match foxproCmd "^\s*\<keyb\%[oard]\>"
394syn match foxproCmd "^\s*\<labe\%[l]\>"
395syn match foxproCmd "^\s*\<list\>"
396syn match foxproCmd "^\s*\<load\>"
397syn match foxproCmd "^\s*\<loca\%[te]\>"
398syn match foxproCmd "^\s*\<loop\>"
399syn match foxproCmd "^\s*\<menu\>"
400syn match foxproCmd "^\s*\<menu\>\s*\<to\>"
401syn match foxproCmd "^\s*\<modi\%[fy]\>\s*\<comm\%[and]\>"
402syn match foxproCmd "^\s*\<modi\%[fy]\>\s*\<file\>"
403syn match foxproCmd "^\s*\<modi\%[fy]\>\s*\<gene\%[ral]\>"
404syn match foxproCmd "^\s*\<modi\%[fy]\>\s*\<labe\%[l]\>"
405syn match foxproCmd "^\s*\<modi\%[fy]\>\s*\<memo\>"
406syn match foxproCmd "^\s*\<modi\%[fy]\>\s*\<menu\>"
407syn match foxproCmd "^\s*\<modi\%[fy]\>\s*\<proj\%[ect]\>"
408syn match foxproCmd "^\s*\<modi\%[fy]\>\s*\<quer\%[y]\>"
409syn match foxproCmd "^\s*\<modi\%[fy]\>\s*\<repo\%[rt]\>"
410syn match foxproCmd "^\s*\<modi\%[fy]\>\s*\<scre\%[en]\>"
411syn match foxproCmd "^\s*\<modi\%[fy]\>\s*\<stru\%[cture]\>"
412syn match foxproCmd "^\s*\<modi\%[fy]\>\s*\<wind\%[ow]\>"
413syn match foxproCmd "^\s*\<move\>\s*\<popu\%[p]\>"
414syn match foxproCmd "^\s*\<move\>\s*\<wind\%[ow]\>"
415syn match foxproCmd "^\s*\<note\>"
416syn match foxproCmd "^\s*\<on\>\s*\<apla\%[bout]\>"
417syn match foxproCmd "^\s*\<on\>\s*\<bar\>"
418syn match foxproCmd "^\s*\<on\>\s*\<erro\%[r]\>"
419syn match foxproCmd "^\s*\<on\>\s*\<esca\%[pe]\>"
420syn match foxproCmd "^\s*\<on\>\s*\<exit\>\s*\<bar\>"
421syn match foxproCmd "^\s*\<on\>\s*\<exit\>\s*\<menu\>"
422syn match foxproCmd "^\s*\<on\>\s*\<exit\>\s*\<pad\>"
423syn match foxproCmd "^\s*\<on\>\s*\<exit\>\s*\<popu\%[p]\>"
424syn match foxproCmd "^\s*\<on\>\s*\<key\>"
425syn match foxproCmd "^\s*\<on\>\s*\<key\>\s*\<=\>"
426syn match foxproCmd "^\s*\<on\>\s*\<key\>\s*\<labe\%[l]\>"
427syn match foxproCmd "^\s*\<on\>\s*\<mach\%[elp]\>"
428syn match foxproCmd "^\s*\<on\>\s*\<pad\>"
429syn match foxproCmd "^\s*\<on\>\s*\<page\>"
430syn match foxproCmd "^\s*\<on\>\s*\<read\%[error]\>"
431syn match foxproCmd "^\s*\<on\>\s*\<sele\%[ction]\>\s*\<bar\>"
432syn match foxproCmd "^\s*\<on\>\s*\<sele\%[ction]\>\s*\<menu\>"
433syn match foxproCmd "^\s*\<on\>\s*\<sele\%[ction]\>\s*\<pad\>"
434syn match foxproCmd "^\s*\<on\>\s*\<sele\%[ction]\>\s*\<popu\%[p]\>"
435syn match foxproCmd "^\s*\<on\>\s*\<shut\%[down]\>"
436syn match foxproCmd "^\s*\<pack\>"
437syn match foxproCmd "^\s*\<para\%[meters]\>"
438syn match foxproCmd "^\s*\<play\>\s*\<macr\%[o]\>"
439syn match foxproCmd "^\s*\<pop\>\s*\<key\>"
440syn match foxproCmd "^\s*\<pop\>\s*\<menu\>"
441syn match foxproCmd "^\s*\<pop\>\s*\<popu\%[p]\>"
442syn match foxproCmd "^\s*\<priv\%[ate]\>"
443syn match foxproCmd "^\s*\<proc\%[edure]\>"
444syn match foxproCmd "^\s*\<publ\%[ic]\>"
445syn match foxproCmd "^\s*\<push\>\s*\<key\>"
446syn match foxproCmd "^\s*\<push\>\s*\<menu\>"
447syn match foxproCmd "^\s*\<push\>\s*\<popu\%[p]\>"
448syn match foxproCmd "^\s*\<quit\>"
449syn match foxproCmd "^\s*\<read\>"
450syn match foxproCmd "^\s*\<read\>\s*\<menu\>"
451syn match foxproCmd "^\s*\<reca\%[ll]\>"
452syn match foxproCmd "^\s*\<rein\%[dex]\>"
453syn match foxproCmd "^\s*\<rele\%[ase]\>"
454syn match foxproCmd "^\s*\<rele\%[ase]\>\s*\<modu\%[le]\>"
455syn match foxproCmd "^\s*\<rena\%[me]\>"
456syn match foxproCmd "^\s*\<repl\%[ace]\>"
457syn match foxproCmd "^\s*\<repl\%[ace]\>\s*\<from\>\s*\<arra\%[y]\>"
458syn match foxproCmd "^\s*\<repo\%[rt]\>"
459syn match foxproCmd "^\s*\<rest\%[ore]\>\s*\<from\>"
460syn match foxproCmd "^\s*\<rest\%[ore]\>\s*\<macr\%[os]\>"
461syn match foxproCmd "^\s*\<rest\%[ore]\>\s*\<scre\%[en]\>"
462syn match foxproCmd "^\s*\<rest\%[ore]\>\s*\<wind\%[ow]\>"
463syn match foxproCmd "^\s*\<resu\%[me]\>"
464syn match foxproCmd "^\s*\<retr\%[y]\>"
465syn match foxproCmd "^\s*\<retu\%[rn]\>"
466syn match foxproCmd "^\s*\<run\>"
467syn match foxproCmd "^\s*\<run\>\s*\/n"
468syn match foxproCmd "^\s*\<runs\%[cript]\>"
469syn match foxproCmd "^\s*\<save\>\s*\<macr\%[os]\>"
470syn match foxproCmd "^\s*\<save\>\s*\<scre\%[en]\>"
471syn match foxproCmd "^\s*\<save\>\s*\<to\>"
472syn match foxproCmd "^\s*\<save\>\s*\<wind\%[ows]\>"
473syn match foxproCmd "^\s*\<scat\%[ter]\>"
474syn match foxproCmd "^\s*\<scro\%[ll]\>"
475syn match foxproCmd "^\s*\<seek\>"
476syn match foxproCmd "^\s*\<sele\%[ct]\>"
477syn match foxproCmd "^\s*\<set\>"
478syn match foxproCmd "^\s*\<set\>\s*\<alte\%[rnate]\>"
479syn match foxproCmd "^\s*\<set\>\s*\<ansi\>"
480syn match foxproCmd "^\s*\<set\>\s*\<apla\%[bout]\>"
481syn match foxproCmd "^\s*\<set\>\s*\<auto\%[save]\>"
482syn match foxproCmd "^\s*\<set\>\s*\<bell\>"
483syn match foxproCmd "^\s*\<set\>\s*\<blin\%[k]\>"
484syn match foxproCmd "^\s*\<set\>\s*\<bloc\%[ksize]\>"
485syn match foxproCmd "^\s*\<set\>\s*\<bord\%[er]\>"
486syn match foxproCmd "^\s*\<set\>\s*\<brst\%[atus]\>"
487syn match foxproCmd "^\s*\<set\>\s*\<carr\%[y]\>"
488syn match foxproCmd "^\s*\<set\>\s*\<cent\%[ury]\>"
489syn match foxproCmd "^\s*\<set\>\s*\<clea\%[r]\>"
490syn match foxproCmd "^\s*\<set\>\s*\<cloc\%[k]\>"
491syn match foxproCmd "^\s*\<set\>\s*\<coll\%[ate]\>"
492syn match foxproCmd "^\s*\<set\>\s*\<colo\%[r]\>\s*\<of\>"
493syn match foxproCmd "^\s*\<set\>\s*\<colo\%[r]\>\s*\<of\>\s*\<sche\%[me]\>"
494syn match foxproCmd "^\s*\<set\>\s*\<colo\%[r]\>\s*\<set\>"
495syn match foxproCmd "^\s*\<set\>\s*\<colo\%[r]\>\s*\<to\>"
496syn match foxproCmd "^\s*\<set\>\s*\<comp\%[atible]\>"
497syn match foxproCmd "^\s*\<set\>\s*\<conf\%[irm]\>"
498syn match foxproCmd "^\s*\<set\>\s*\<cons\%[ole]\>"
499syn match foxproCmd "^\s*\<set\>\s*\<curr\%[ency]\>"
500syn match foxproCmd "^\s*\<set\>\s*\<curs\%[or]\>"
501syn match foxproCmd "^\s*\<set\>\s*\<date\>"
502syn match foxproCmd "^\s*\<set\>\s*\<debu\%[g]\>"
503syn match foxproCmd "^\s*\<set\>\s*\<deci\%[mals]\>"
504syn match foxproCmd "^\s*\<set\>\s*\<defa\%[ult]\>"
505syn match foxproCmd "^\s*\<set\>\s*\<dele\%[ted]\>"
506syn match foxproCmd "^\s*\<set\>\s*\<deli\%[miters]\>"
507syn match foxproCmd "^\s*\<set\>\s*\<deve\%[lopment]\>"
508syn match foxproCmd "^\s*\<set\>\s*\<devi\%[ce]\>"
509syn match foxproCmd "^\s*\<set\>\s*\<disp\%[lay]\>"
510syn match foxproCmd "^\s*\<set\>\s*\<dohi\%[story]\>"
511syn match foxproCmd "^\s*\<set\>\s*\<echo\>"
512syn match foxproCmd "^\s*\<set\>\s*\<esca\%[pe]\>"
513syn match foxproCmd "^\s*\<set\>\s*\<exac\%[t]\>"
514syn match foxproCmd "^\s*\<set\>\s*\<excl\%[usive]\>"
515syn match foxproCmd "^\s*\<set\>\s*\<fiel\%[ds]\>"
516syn match foxproCmd "^\s*\<set\>\s*\<filt\%[er]\>"
517syn match foxproCmd "^\s*\<set\>\s*\<fixe\%[d]\>"
518syn match foxproCmd "^\s*\<set\>\s*\<form\%[at]\>"
519syn match foxproCmd "^\s*\<set\>\s*\<full\%[path]\>"
520syn match foxproCmd "^\s*\<set\>\s*\<func\%[tion]\>"
521syn match foxproCmd "^\s*\<set\>\s*\<head\%[ings]\>"
522syn match foxproCmd "^\s*\<set\>\s*\<help\>"
523syn match foxproCmd "^\s*\<set\>\s*\<help\%[filter]\>"
524syn match foxproCmd "^\s*\<set\>\s*\<hour\%[s]\>"
525syn match foxproCmd "^\s*\<set\>\s*\<inde\%[x]\>"
526syn match foxproCmd "^\s*\<set\>\s*\<inte\%[nsity]\>"
527syn match foxproCmd "^\s*\<set\>\s*\<key\>"
528syn match foxproCmd "^\s*\<set\>\s*\<keyc\%[omp]\>"
529syn match foxproCmd "^\s*\<set\>\s*\<libr\%[ary]\>"
530syn match foxproCmd "^\s*\<set\>\s*\<lock\>"
531syn match foxproCmd "^\s*\<set\>\s*\<loge\%[rrors]\>"
532syn match foxproCmd "^\s*\<set\>\s*\<macd\%[esktop]\>"
533syn match foxproCmd "^\s*\<set\>\s*\<mach\%[elp]\>"
534syn match foxproCmd "^\s*\<set\>\s*\<mack\%[ey]\>"
535syn match foxproCmd "^\s*\<set\>\s*\<marg\%[in]\>"
536syn match foxproCmd "^\s*\<set\>\s*\<mark\>\s*\<of\>"
537syn match foxproCmd "^\s*\<set\>\s*\<mark\>\s*\<to\>"
538syn match foxproCmd "^\s*\<set\>\s*\<memo\%[width]\>"
539syn match foxproCmd "^\s*\<set\>\s*\<mess\%[age]\>"
540syn match foxproCmd "^\s*\<set\>\s*\<mous\%[e]\>"
541syn match foxproCmd "^\s*\<set\>\s*\<mult\%[ilocks]\>"
542syn match foxproCmd "^\s*\<set\>\s*\<near\>"
543syn match foxproCmd "^\s*\<set\>\s*\<nocp\%[trans]\>"
544syn match foxproCmd "^\s*\<set\>\s*\<noti\%[fy]\>"
545syn match foxproCmd "^\s*\<set\>\s*\<odom\%[eter]\>"
546syn match foxproCmd "^\s*\<set\>\s*\<opti\%[mize]\>"
547syn match foxproCmd "^\s*\<set\>\s*\<orde\%[r]\>"
548syn match foxproCmd "^\s*\<set\>\s*\<pale\%[tte]\>"
549syn match foxproCmd "^\s*\<set\>\s*\<path\>"
550syn match foxproCmd "^\s*\<set\>\s*\<pdse\%[tup]\>"
551syn match foxproCmd "^\s*\<set\>\s*\<poin\%[t]\>"
552syn match foxproCmd "^\s*\<set\>\s*\<prin\%[ter]\>"
553syn match foxproCmd "^\s*\<set\>\s*\<proc\%[edure]\>"
554syn match foxproCmd "^\s*\<set\>\s*\<read\%[border]\>"
555syn match foxproCmd "^\s*\<set\>\s*\<refr\%[esh]\>"
556syn match foxproCmd "^\s*\<set\>\s*\<rela\%[tion]\>"
557syn match foxproCmd "^\s*\<set\>\s*\<rela\%[tion]\>\s*\<off\>"
558syn match foxproCmd "^\s*\<set\>\s*\<repr\%[ocess]\>"
559syn match foxproCmd "^\s*\<set\>\s*\<reso\%[urce]\>"
560syn match foxproCmd "^\s*\<set\>\s*\<safe\%[ty]\>"
561syn match foxproCmd "^\s*\<set\>\s*\<scor\%[eboard]\>"
562syn match foxproCmd "^\s*\<set\>\s*\<sepa\%[rator]\>"
563syn match foxproCmd "^\s*\<set\>\s*\<shad\%[ows]\>"
564syn match foxproCmd "^\s*\<set\>\s*\<skip\>"
565syn match foxproCmd "^\s*\<set\>\s*\<skip\>\s*\<of\>"
566syn match foxproCmd "^\s*\<set\>\s*\<spac\%[e]\>"
567syn match foxproCmd "^\s*\<set\>\s*\<stat\%[us]\>"
568syn match foxproCmd "^\s*\<set\>\s*\<stat\%[us]\>\s*\<bar\>"
569syn match foxproCmd "^\s*\<set\>\s*\<step\>"
570syn match foxproCmd "^\s*\<set\>\s*\<stic\%[ky]\>"
571syn match foxproCmd "^\s*\<set\>\s*\<sysm\%[enu]\>"
572syn match foxproCmd "^\s*\<set\>\s*\<talk\>"
573syn match foxproCmd "^\s*\<set\>\s*\<text\%[merge]\>"
574syn match foxproCmd "^\s*\<set\>\s*\<text\%[merge]\>\s*\<deli\%[miters]\>"
575syn match foxproCmd "^\s*\<set\>\s*\<topi\%[c]\>"
576syn match foxproCmd "^\s*\<set\>\s*\<trbe\%[tween]\>"
577syn match foxproCmd "^\s*\<set\>\s*\<type\%[ahead]\>"
578syn match foxproCmd "^\s*\<set\>\s*\<udfp\%[arms]\>"
579syn match foxproCmd "^\s*\<set\>\s*\<uniq\%[ue]\>"
580syn match foxproCmd "^\s*\<set\>\s*\<view\>"
581syn match foxproCmd "^\s*\<set\>\s*\<volu\%[me]\>"
582syn match foxproCmd "^\s*\<set\>\s*\<wind\%[ow]\>\s*\<of\>\s*\<memo\>"
583syn match foxproCmd "^\s*\<set\>\s*\<xcmd\%[file]\>"
584syn match foxproCmd "^\s*\<show\>\s*\<get\>"
585syn match foxproCmd "^\s*\<show\>\s*\<gets\>"
586syn match foxproCmd "^\s*\<show\>\s*\<menu\>"
587syn match foxproCmd "^\s*\<show\>\s*\<obje\%[ct]\>"
588syn match foxproCmd "^\s*\<show\>\s*\<popu\%[p]\>"
589syn match foxproCmd "^\s*\<show\>\s*\<wind\%[ow]\>"
590syn match foxproCmd "^\s*\<size\>\s*\<popu\%[p]\>"
591syn match foxproCmd "^\s*\<skip\>"
592syn match foxproCmd "^\s*\<sort\>"
593syn match foxproCmd "^\s*\<stor\%[e]\>"
594syn match foxproCmd "^\s*\<sum\>"
595syn match foxproCmd "^\s*\<susp\%[end]\>"
596syn match foxproCmd "^\s*\<tota\%[l]\>"
597syn match foxproCmd "^\s*\<type\>"
598syn match foxproCmd "^\s*\<unlo\%[ck]\>"
599syn match foxproCmd "^\s*\<upda\%[te]\>"
600syn match foxproCmd "^\s*\<use\>"
601syn match foxproCmd "^\s*\<wait\>"
602syn match foxproCmd "^\s*\<zap\>"
603syn match foxproCmd "^\s*\<zoom\>\s*\<wind\%[ow]\>"
604
605" Enclosed Block
606syn match foxproEnBlk "^\s*\<do\>\s*\<case\>"
607syn match foxproEnBlk "^\s*\<case\>"
608syn match foxproEnBlk "^\s*\<othe\%[rwise]\>"
609syn match foxproEnBlk "^\s*\<endc\%[ase]\>"
610syn match foxproEnBlk "^\s*\<do\>\s*\<whil\%[e]\>"
611syn match foxproEnBlk "^\s*\<endd\%[o]\>"
612syn match foxproEnBlk "^\s*\<for\>"
613syn match foxproEnBlk "^\s*\<endf\%[or]\>"
614syn match foxproEnBlk "^\s*\<next\>"
615syn match foxproEnBlk "^\s*\<if\>"
616syn match foxproEnBlk "^\s*\<else\>"
617syn match foxproEnBlk "^\s*\<endi\%[f]\>"
618syn match foxproEnBlk "^\s*\<prin\%[tjob]\>"
619syn match foxproEnBlk "^\s*\<endp\%[rintjob]\>"
620syn match foxproEnBlk "^\s*\<scan\>"
621syn match foxproEnBlk "^\s*\<ends\%[can]\>"
622syn match foxproEnBlk "^\s*\<text\>"
623syn match foxproEnBlk "^\s*\<endt\%[ext]\>"
624
625" System Variables
626syn keyword foxproSysVar _alignment _assist _beautify _box _calcmem _calcvalue
627syn keyword foxproSysVar _cliptext _curobj _dblclick _diarydate _dos _foxdoc
628syn keyword foxproSysVar _foxgraph _gengraph _genmenu _genpd _genscrn _genxtab
629syn keyword foxproSysVar _indent _lmargin _mac _mline _padvance _pageno _pbpage
630syn keyword foxproSysVar _pcolno _pcopies _pdriver _pdsetup _pecode _peject _pepage
631syn keyword foxproSysVar _plength _plineno _ploffset _ppitch _pquality _pretext
632syn keyword foxproSysVar _pscode _pspacing _pwait _rmargin _shell _spellchk
633syn keyword foxproSysVar _startup _tabs _tally _text _throttle _transport _unix
634syn keyword foxproSysVar _windows _wrap
635
636" Strings
637syn region foxproString start=+"+ end=+"+ oneline
638syn region foxproString start=+'+ end=+'+ oneline
639syn region foxproString start=+\[+ end=+\]+ oneline
640
641" Constants
642syn match foxproConst "\.t\."
643syn match foxproConst "\.f\."
644
645"integer number, or floating point number without a dot and with "f".
646syn match foxproNumber "\<[0-9]\+\>"
647"floating point number, with dot, optional exponent
648syn match foxproFloat "\<[0-9]\+\.[0-9]*\(e[-+]\=[0-9]\+\)\=\>"
649"floating point number, starting with a dot, optional exponent
650syn match foxproFloat "\.[0-9]\+\(e[-+]\=[0-9]\+\)\=\>"
651"floating point number, without dot, with exponent
652syn match foxproFloat "\<[0-9]\+e[-+]\=[0-9]\+\>"
653
654syn match foxproComment "^\s*\*.*"
655syn match foxproComment "&&.*"
656
657"catch errors caused by wrong parenthesis
658syn region foxproParen transparent start='(' end=')' contains=ALLBUT,foxproParenErr
659syn match foxproParenErr ")"
660
661syn sync minlines=1 maxlines=3
662
663" Define the default highlighting.
664" For version 5.7 and earlier: only when not done already
665" For version 5.8 and later: only when an item doesn't have highlighting yet
666if version >= 508 || !exists("did_foxpro_syn_inits")
667 if version < 508
668 let did_foxpro_syn_inits = 1
669 command -nargs=+ HiLink hi link <args>
670 else
671 command -nargs=+ HiLink hi def link <args>
672 endif
673
674 HiLink foxproSpecial Special
675 HiLink foxproAtSymbol Special
676 HiLink foxproAtCmd Statement
677 HiLink foxproPreProc PreProc
678 HiLink foxproFunc Identifier
679 HiLink foxproCmd Statement
680 HiLink foxproEnBlk Type
681 HiLink foxproSysVar String
682 HiLink foxproString String
683 HiLink foxproConst Constant
684 HiLink foxproNumber Number
685 HiLink foxproFloat Float
686 HiLink foxproComment Comment
687 HiLink foxproParenErr Error
688
689 delcommand HiLink
690endif
691
692let b:current_syntax = "foxpro"