Merge branch 'vim-with-runtime' into feat/quickfix-title
[vim_extended.git] / runtime / syntax / focexec.vim
blob8be1b65cc434c100487a53f6efa4cbd356daa4a6
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 $
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?
14 " For version 5.x: Clear all syntax items
15 " For version 6.x: Quit when a syntax file was already loaded
16 if version < 600
17   syntax clear
18 elseif exists("b:current_syntax")
19   finish
20 endif
22 syn case match
24 " A bunch of useful keywords
25 syn keyword focexecTable        TABLE SUM BY ACROSS END PRINT HOLD LIST NOPRINT
26 syn keyword focexecTable        SUBFOOT SUBHEAD HEADING FOOTING PAGE-BREAK AS
27 syn keyword focexecTable        WHERE AND OR NOSPLIT FORMAT
28 syn keyword focexecModify       MODIFY DATA ON FIXFORM PROMPT MATCH COMPUTE
29 syn keyword focexecModify       GOTO CASE ENDCASE TYPE NOMATCH REJECT INCLUDE
30 syn keyword focexecModify       CONTINUE FROM
31 syn keyword focexecNormal       CHECK FILE CREATE EX SET IF FILEDEF DEFINE
32 syn keyword focexecNormal       REBUILD IF RECORDLIMIT FI EQ JOIN
33 syn keyword focexecJoin         IN TO
34 syn keyword focexecFileDef      DISK
35 syn keyword focexecSet          MSG ALL
36 syn match   focexecDash         "-RUN"
37 syn match   focexecDash         "-PROMPT"
38 syn match   focexecDash         "-WINFORM"
40 " String and Character constants
41 syn region  focexecString1      start=+"+ end=+"+
42 syn region  focexecString2      start=+'+ end=+'+
44 "amper variables
45 syn match   focexecAmperVar     "&&\=[A-Z_]\+"
47 "fuse functions
48 syn keyword focexecFuse GETUSER GETUSR WHOAMI FEXERR ASIS GETTOK UPCASE LOCASE
49 syn keyword focexecFuse SUBSTR TODAY TODAYI POSIT HHMMSS BYTVAL EDAUT1 BITVAL
50 syn keyword focexecFuse BITSON FGETENV FPUTENV HEXBYT SPAWN YM YMI JULDAT
51 syn keyword focexecFuse JULDATI DOWK DOWKI DOWKLI CHGDAT CHGDATI FTOA ATODBL
52 syn keyword focexecFuse SOUNDEX RJUST REVERSE PARAG OVRLAY LJUST CTRFLD CTRAN
53 syn keyword focexecFuse CHKFMT ARGLEN GREGDT GREGDTI DTYMD DTYMDI DTDMY DTDMYI
54 syn keyword focexecFuse DTYDM DTYDMI DTMYD DTMYDI DTDYM DTDYMI DAYMD DAYMDI
55 syn keyword focexecFuse DAMDY DAMDYI DADMY DADMYI AYM AYMI AYMD AYMDI CHKPCK
56 syn keyword focexecFuse IMOD FMOD DMOD PCKOUT EXP BAR SPELLNM SPELLNUM RTCIVP
57 syn keyword focexecFuse PRDUNI PRDNOR RDNORM RDUNIF LCWORD ITOZ RLPHLD IBIPRO
58 syn keyword focexecFuse IBIPRW IBIPRC IBIPRU IBIRCP PTHDAT ITOPACK ITONUM
59 syn keyword focexecFuse DSMEXEC DSMEVAL DSMERRC MSMEXEC MSMEVAL MSMERRC EXTDXI
60 syn keyword focexecFuse BAANHASH EDAYSI DTOG GTOD HSETPT HPART HTIME HNAME
61 syn keyword focexecFuse HADD HDIFF HDATE HGETC HCNVRT HDTTM HMIDNT TEMPPATH
62 syn keyword focexecFuse DATEADD DATEDIF DATEMOV DATECVT EURHLD EURXCH FINDFOC
63 syn keyword focexecFuse FERRMES CNCTUSR CURRPATH USERPATH SYSTEM ASKYN
64 syn keyword focexecFuse FUSEMENU POPEDIT POPFILE
66 syn match   focexecNumber       "\<\d\+\>"
67 syn match   focexecNumber       "\<\d\+\.\d*\>"
69 syn match   focexecComment      "-\*.*"
71 " Define the default highlighting.
72 " For version 5.7 and earlier: only when not done already
73 " For version 5.8 and later: only when an item doesn't have highlighting yet
74 if version >= 508 || !exists("did_focexec_syntax_inits")
75   if version < 508
76     let did_focexec_syntax_inits = 1
77     command -nargs=+ HiLink hi link <args>
78   else
79     command -nargs=+ HiLink hi def link <args>
80   endif
82   HiLink focexecString1         String
83   HiLink focexecString2         String
84   HiLink focexecNumber          Number
85   HiLink focexecComment         Comment
86   HiLink focexecTable           Keyword
87   HiLink focexecModify          Keyword
88   HiLink focexecNormal          Keyword
89   HiLink focexecSet             Keyword
90   HiLink focexecDash            Keyword
91   HiLink focexecFileDef         Keyword
92   HiLink focexecJoin            Keyword
93   HiLink focexecAmperVar        Identifier
94   HiLink focexecFuse            Function
96   delcommand HiLink
97 endif
99 let b:current_syntax = "focexec"
101 " vim: ts=8