blob: 54f4c0d55ad077d1c46f5caf03ca13004071c860 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim syntax file
2" Language: Focus Executable
3" Maintainer: Rob Brady <robb@datatone.com>
Bram Moolenaar5c736222010-01-06 20:54:52 +01004" Last Change: $Date: 2004/06/13 15:38:04 $
Bram Moolenaar071d4272004-06-13 20:20:40 +00005" URL: http://www.datatone.com/~robb/vim/syntax/focexec.vim
Bram Moolenaar5c736222010-01-06 20:54:52 +01006" $Revision: 1.1 $
Bram Moolenaar071d4272004-06-13 20:20:40 +00007
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
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020014" quit when a syntax file was already loaded
15if exists("b:current_syntax")
Bram Moolenaar071d4272004-06-13 20:20:40 +000016 finish
17endif
18
19syn case match
20
21" A bunch of useful keywords
22syn keyword focexecTable TABLE SUM BY ACROSS END PRINT HOLD LIST NOPRINT
23syn keyword focexecTable SUBFOOT SUBHEAD HEADING FOOTING PAGE-BREAK AS
24syn keyword focexecTable WHERE AND OR NOSPLIT FORMAT
25syn keyword focexecModify MODIFY DATA ON FIXFORM PROMPT MATCH COMPUTE
26syn keyword focexecModify GOTO CASE ENDCASE TYPE NOMATCH REJECT INCLUDE
27syn keyword focexecModify CONTINUE FROM
28syn keyword focexecNormal CHECK FILE CREATE EX SET IF FILEDEF DEFINE
29syn keyword focexecNormal REBUILD IF RECORDLIMIT FI EQ JOIN
30syn keyword focexecJoin IN TO
31syn keyword focexecFileDef DISK
32syn keyword focexecSet MSG ALL
33syn match focexecDash "-RUN"
34syn match focexecDash "-PROMPT"
35syn match focexecDash "-WINFORM"
36
37" String and Character constants
38syn region focexecString1 start=+"+ end=+"+
39syn region focexecString2 start=+'+ end=+'+
40
41"amper variables
42syn match focexecAmperVar "&&\=[A-Z_]\+"
43
44"fuse functions
45syn keyword focexecFuse GETUSER GETUSR WHOAMI FEXERR ASIS GETTOK UPCASE LOCASE
46syn keyword focexecFuse SUBSTR TODAY TODAYI POSIT HHMMSS BYTVAL EDAUT1 BITVAL
47syn keyword focexecFuse BITSON FGETENV FPUTENV HEXBYT SPAWN YM YMI JULDAT
48syn keyword focexecFuse JULDATI DOWK DOWKI DOWKLI CHGDAT CHGDATI FTOA ATODBL
49syn keyword focexecFuse SOUNDEX RJUST REVERSE PARAG OVRLAY LJUST CTRFLD CTRAN
50syn keyword focexecFuse CHKFMT ARGLEN GREGDT GREGDTI DTYMD DTYMDI DTDMY DTDMYI
51syn keyword focexecFuse DTYDM DTYDMI DTMYD DTMYDI DTDYM DTDYMI DAYMD DAYMDI
52syn keyword focexecFuse DAMDY DAMDYI DADMY DADMYI AYM AYMI AYMD AYMDI CHKPCK
53syn keyword focexecFuse IMOD FMOD DMOD PCKOUT EXP BAR SPELLNM SPELLNUM RTCIVP
54syn keyword focexecFuse PRDUNI PRDNOR RDNORM RDUNIF LCWORD ITOZ RLPHLD IBIPRO
55syn keyword focexecFuse IBIPRW IBIPRC IBIPRU IBIRCP PTHDAT ITOPACK ITONUM
56syn keyword focexecFuse DSMEXEC DSMEVAL DSMERRC MSMEXEC MSMEVAL MSMERRC EXTDXI
57syn keyword focexecFuse BAANHASH EDAYSI DTOG GTOD HSETPT HPART HTIME HNAME
58syn keyword focexecFuse HADD HDIFF HDATE HGETC HCNVRT HDTTM HMIDNT TEMPPATH
59syn keyword focexecFuse DATEADD DATEDIF DATEMOV DATECVT EURHLD EURXCH FINDFOC
60syn keyword focexecFuse FERRMES CNCTUSR CURRPATH USERPATH SYSTEM ASKYN
61syn keyword focexecFuse FUSEMENU POPEDIT POPFILE
62
63syn match focexecNumber "\<\d\+\>"
64syn match focexecNumber "\<\d\+\.\d*\>"
65
66syn match focexecComment "-\*.*"
67
68" Define the default highlighting.
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020069" Only when an item doesn't have highlighting yet
70command -nargs=+ HiLink hi def link <args>
Bram Moolenaar071d4272004-06-13 20:20:40 +000071
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020072HiLink focexecString1 String
73HiLink focexecString2 String
74HiLink focexecNumber Number
75HiLink focexecComment Comment
76HiLink focexecTable Keyword
77HiLink focexecModify Keyword
78HiLink focexecNormal Keyword
79HiLink focexecSet Keyword
80HiLink focexecDash Keyword
81HiLink focexecFileDef Keyword
82HiLink focexecJoin Keyword
83HiLink focexecAmperVar Identifier
84HiLink focexecFuse Function
Bram Moolenaar071d4272004-06-13 20:20:40 +000085
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020086delcommand HiLink
Bram Moolenaar071d4272004-06-13 20:20:40 +000087
88let b:current_syntax = "focexec"
89
90" vim: ts=8