xref: /vim-8.2.3635/runtime/syntax/focexec.vim (revision 6c391a74)
1" Vim syntax file
2" Language:	Focus Executable
3" Maintainer:	Rob Brady <[email protected]>
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
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 highlights -
12"  should MODIFY commands look different than TABLE?
13
14" quit when a syntax file was already loaded
15if exists("b:current_syntax")
16  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.
69" Only when an item doesn't have highlighting yet
70
71hi def link focexecString1		String
72hi def link focexecString2		String
73hi def link focexecNumber		Number
74hi def link focexecComment		Comment
75hi def link focexecTable		Keyword
76hi def link focexecModify		Keyword
77hi def link focexecNormal		Keyword
78hi def link focexecSet		Keyword
79hi def link focexecDash		Keyword
80hi def link focexecFileDef		Keyword
81hi def link focexecJoin		Keyword
82hi def link focexecAmperVar	Identifier
83hi def link focexecFuse		Function
84
85
86let b:current_syntax = "focexec"
87
88" vim: ts=8
89