home *** CD-ROM | disk | FTP | other *** search
/ vim.ftp.fu-berlin.de / 2015-02-03.vim.ftp.fu-berlin.de.tar / vim.ftp.fu-berlin.de / runtime / dos / syntax / foxpro.vim < prev    next >
Encoding:
Text File  |  2010-08-14  |  33.1 KB  |  728 lines

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