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 / mac / vim54rt.sit / runtime / syntax / focexec.vim < prev    next >
Encoding:
Text File  |  1999-08-14  |  3.7 KB  |  90 lines  |  [TEXT/ALFA]

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