blob: 187fd50dbf7a9ef4ab46b928faff0d6614f9defc [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
Bram Moolenaar6c391a72021-09-09 21:55:11 +020011" I think some of these things should get different highlights -
Bram Moolenaar071d4272004-06-13 20:20:40 +000012" 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
Bram Moolenaar071d4272004-06-13 20:20:40 +000070
Bram Moolenaarf37506f2016-08-31 22:22:10 +020071hi 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
Bram Moolenaar071d4272004-06-13 20:20:40 +000084
Bram Moolenaar071d4272004-06-13 20:20:40 +000085
86let b:current_syntax = "focexec"
87
88" vim: ts=8