focexec.vim 3.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. " Vim syntax file
  2. " Language: Focus Executable
  3. " Maintainer: Rob Brady <robb@datatone.com>
  4. " Last Change: $Date: 2004/06/13 15:38:04 $
  5. " URL: http://www.datatone.com/~robb/vim/syntax/focexec.vim
  6. " $Revision: 1.1 $
  7. " this is a very simple syntax file - I will be improving it
  8. " one thing is how to do computes
  9. " I don't like that &vars and FUSE() functions highlight to the same color
  10. " I think some of these things should get different highlights -
  11. " should MODIFY commands look different than TABLE?
  12. " quit when a syntax file was already loaded
  13. if exists("b:current_syntax")
  14. finish
  15. endif
  16. syn case match
  17. " A bunch of useful keywords
  18. syn keyword focexecTable TABLE SUM BY ACROSS END PRINT HOLD LIST NOPRINT
  19. syn keyword focexecTable SUBFOOT SUBHEAD HEADING FOOTING PAGE-BREAK AS
  20. syn keyword focexecTable WHERE AND OR NOSPLIT FORMAT
  21. syn keyword focexecModify MODIFY DATA ON FIXFORM PROMPT MATCH COMPUTE
  22. syn keyword focexecModify GOTO CASE ENDCASE TYPE NOMATCH REJECT INCLUDE
  23. syn keyword focexecModify CONTINUE FROM
  24. syn keyword focexecNormal CHECK FILE CREATE EX SET IF FILEDEF DEFINE
  25. syn keyword focexecNormal REBUILD IF RECORDLIMIT FI EQ JOIN
  26. syn keyword focexecJoin IN TO
  27. syn keyword focexecFileDef DISK
  28. syn keyword focexecSet MSG ALL
  29. syn match focexecDash "-RUN"
  30. syn match focexecDash "-PROMPT"
  31. syn match focexecDash "-WINFORM"
  32. " String and Character constants
  33. syn region focexecString1 start=+"+ end=+"+
  34. syn region focexecString2 start=+'+ end=+'+
  35. "amper variables
  36. syn match focexecAmperVar "&&\=[A-Z_]\+"
  37. "fuse functions
  38. syn keyword focexecFuse GETUSER GETUSR WHOAMI FEXERR ASIS GETTOK UPCASE LOCASE
  39. syn keyword focexecFuse SUBSTR TODAY TODAYI POSIT HHMMSS BYTVAL EDAUT1 BITVAL
  40. syn keyword focexecFuse BITSON FGETENV FPUTENV HEXBYT SPAWN YM YMI JULDAT
  41. syn keyword focexecFuse JULDATI DOWK DOWKI DOWKLI CHGDAT CHGDATI FTOA ATODBL
  42. syn keyword focexecFuse SOUNDEX RJUST REVERSE PARAG OVRLAY LJUST CTRFLD CTRAN
  43. syn keyword focexecFuse CHKFMT ARGLEN GREGDT GREGDTI DTYMD DTYMDI DTDMY DTDMYI
  44. syn keyword focexecFuse DTYDM DTYDMI DTMYD DTMYDI DTDYM DTDYMI DAYMD DAYMDI
  45. syn keyword focexecFuse DAMDY DAMDYI DADMY DADMYI AYM AYMI AYMD AYMDI CHKPCK
  46. syn keyword focexecFuse IMOD FMOD DMOD PCKOUT EXP BAR SPELLNM SPELLNUM RTCIVP
  47. syn keyword focexecFuse PRDUNI PRDNOR RDNORM RDUNIF LCWORD ITOZ RLPHLD IBIPRO
  48. syn keyword focexecFuse IBIPRW IBIPRC IBIPRU IBIRCP PTHDAT ITOPACK ITONUM
  49. syn keyword focexecFuse DSMEXEC DSMEVAL DSMERRC MSMEXEC MSMEVAL MSMERRC EXTDXI
  50. syn keyword focexecFuse BAANHASH EDAYSI DTOG GTOD HSETPT HPART HTIME HNAME
  51. syn keyword focexecFuse HADD HDIFF HDATE HGETC HCNVRT HDTTM HMIDNT TEMPPATH
  52. syn keyword focexecFuse DATEADD DATEDIF DATEMOV DATECVT EURHLD EURXCH FINDFOC
  53. syn keyword focexecFuse FERRMES CNCTUSR CURRPATH USERPATH SYSTEM ASKYN
  54. syn keyword focexecFuse FUSEMENU POPEDIT POPFILE
  55. syn match focexecNumber "\<\d\+\>"
  56. syn match focexecNumber "\<\d\+\.\d*\>"
  57. syn match focexecComment "-\*.*"
  58. " Define the default highlighting.
  59. " Only when an item doesn't have highlighting yet
  60. hi def link focexecString1 String
  61. hi def link focexecString2 String
  62. hi def link focexecNumber Number
  63. hi def link focexecComment Comment
  64. hi def link focexecTable Keyword
  65. hi def link focexecModify Keyword
  66. hi def link focexecNormal Keyword
  67. hi def link focexecSet Keyword
  68. hi def link focexecDash Keyword
  69. hi def link focexecFileDef Keyword
  70. hi def link focexecJoin Keyword
  71. hi def link focexecAmperVar Identifier
  72. hi def link focexecFuse Function
  73. let b:current_syntax = "focexec"
  74. " vim: ts=8