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