foxpro.vim 32 KB

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