" Vim syntax file" Language: Focus Executable" Maintainer: Rob Brady <robb@datatone.com>" Last Change: $Date: 2004/06/13 15:38:04 $" URL: http://www.datatone.com/~robb/vim/syntax/focexec.vim" $Revision: 1.1 $" this is a very simple syntax file - I will be improving it" one thing is how to do computes" I don't like that &vars and FUSE() functions highlight to the same color" I think some of these things should get different hilights -" should MODIFY commands look different than TABLE?" For version 5.x: Clear all syntax items" For version 6.x: Quit when a syntax file was already loadedif version < 600 syntax clearelseif exists("b:current_syntax") finishendifsyn case match" A bunch of useful keywordssyn keyword focexecTable TABLE SUM BY ACROSS END PRINT HOLD LIST NOPRINTsyn keyword focexecTable SUBFOOT SUBHEAD HEADING FOOTING PAGE-BREAK ASsyn keyword focexecTable WHERE AND OR NOSPLIT FORMATsyn keyword focexecModify MODIFY DATA ON FIXFORM PROMPT MATCH COMPUTEsyn keyword focexecModify GOTO CASE ENDCASE TYPE NOMATCH REJECT INCLUDEsyn keyword focexecModify CONTINUE FROMsyn keyword focexecNormal CHECK FILE CREATE EX SET IF FILEDEF DEFINEsyn keyword focexecNormal REBUILD IF RECORDLIMIT FI EQ JOINsyn keyword focexecJoin IN TOsyn keyword focexecFileDef DISKsyn keyword focexecSet MSG ALLsyn match focexecDash "-RUN"syn match focexecDash "-PROMPT"syn match focexecDash "-WINFORM"" String and Character constantssyn region focexecString1 start=+"+ end=+"+syn region focexecString2 start=+'+ end=+'+"amper variablessyn match focexecAmperVar "&&\=[A-Z_]\+""fuse functionssyn keyword focexecFuse GETUSER GETUSR WHOAMI FEXERR ASIS GETTOK UPCASE LOCASEsyn keyword focexecFuse SUBSTR TODAY TODAYI POSIT HHMMSS BYTVAL EDAUT1 BITVALsyn keyword focexecFuse BITSON FGETENV FPUTENV HEXBYT SPAWN YM YMI JULDATsyn keyword focexecFuse JULDATI DOWK DOWKI DOWKLI CHGDAT CHGDATI FTOA ATODBLsyn keyword focexecFuse SOUNDEX RJUST REVERSE PARAG OVRLAY LJUST CTRFLD CTRANsyn keyword focexecFuse CHKFMT ARGLEN GREGDT GREGDTI DTYMD DTYMDI DTDMY DTDMYIsyn keyword focexecFuse DTYDM DTYDMI DTMYD DTMYDI DTDYM DTDYMI DAYMD DAYMDIsyn keyword focexecFuse DAMDY DAMDYI DADMY DADMYI AYM AYMI AYMD AYMDI CHKPCKsyn keyword focexecFuse IMOD FMOD DMOD PCKOUT EXP BAR SPELLNM SPELLNUM RTCIVPsyn keyword focexecFuse PRDUNI PRDNOR RDNORM RDUNIF LCWORD ITOZ RLPHLD IBIPROsyn keyword focexecFuse IBIPRW IBIPRC IBIPRU IBIRCP PTHDAT ITOPACK ITONUMsyn keyword focexecFuse DSMEXEC DSMEVAL DSMERRC MSMEXEC MSMEVAL MSMERRC EXTDXIsyn keyword focexecFuse BAANHASH EDAYSI DTOG GTOD HSETPT HPART HTIME HNAMEsyn keyword focexecFuse HADD HDIFF HDATE HGETC HCNVRT HDTTM HMIDNT TEMPPATHsyn keyword focexecFuse DATEADD DATEDIF DATEMOV DATECVT EURHLD EURXCH FINDFOCsyn keyword focexecFuse FERRMES CNCTUSR CURRPATH USERPATH SYSTEM ASKYNsyn keyword focexecFuse FUSEMENU POPEDIT POPFILEsyn match focexecNumber "\<\d\+\>"syn match focexecNumber "\<\d\+\.\d*\>"syn match focexecComment "-\*.*"" Define the default highlighting." For version 5.7 and earlier: only when not done already" For version 5.8 and later: only when an item doesn't have highlighting yetif version >= 508 || !exists("did_focexec_syntax_inits") if version < 508 let did_focexec_syntax_inits = 1 command -nargs=+ HiLink hi link <args> else command -nargs=+ HiLink hi def link <args> endif HiLink focexecString1 String HiLink focexecString2 String HiLink focexecNumber Number HiLink focexecComment Comment HiLink focexecTable Keyword HiLink focexecModify Keyword HiLink focexecNormal Keyword HiLink focexecSet Keyword HiLink focexecDash Keyword HiLink focexecFileDef Keyword HiLink focexecJoin Keyword HiLink focexecAmperVar Identifier HiLink focexecFuse Function delcommand HiLinkendiflet b:current_syntax = "focexec"" vim: ts=8
" Vim syntax file
" Language: Focus Executable
" Maintainer: Rob Brady <robb@datatone.com>
" Last Change: $Date: 2004/06/13 15:38:04 $
" URL: http://www.datatone.com/~robb/vim/syntax/focexec.vim
" $Revision: 1.1 $
" this is a very simple syntax file - I will be improving it
" one thing is how to do computes
" I don't like that &vars and FUSE() functions highlight to the same color
" I think some of these things should get different hilights -
" should MODIFY commands look different than TABLE?
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
if version < 600
syntax clear
elseif exists("b:current_syntax")
finish
endif
syn case match
" A bunch of useful keywords
syn keyword focexecTable TABLE SUM BY ACROSS END PRINT HOLD LIST NOPRINT
syn keyword focexecTable SUBFOOT SUBHEAD HEADING FOOTING PAGE-BREAK AS
syn keyword focexecTable WHERE AND OR NOSPLIT FORMAT
syn keyword focexecModify MODIFY DATA ON FIXFORM PROMPT MATCH COMPUTE
syn keyword focexecModify GOTO CASE ENDCASE TYPE NOMATCH REJECT INCLUDE
syn keyword focexecModify CONTINUE FROM
syn keyword focexecNormal CHECK FILE CREATE EX SET IF FILEDEF DEFINE
syn keyword focexecNormal REBUILD IF RECORDLIMIT FI EQ JOIN
syn keyword focexecJoin IN TO
syn keyword focexecFileDef DISK
syn keyword focexecSet MSG ALL
syn match focexecDash "-RUN"
syn match focexecDash "-PROMPT"
syn match focexecDash "-WINFORM"
" String and Character constants
syn region focexecString1 start=+"+ end=+"+
syn region focexecString2 start=+'+ end=+'+
"amper variables
syn match focexecAmperVar "&&\=[A-Z_]\+"
"fuse functions
syn keyword focexecFuse GETUSER GETUSR WHOAMI FEXERR ASIS GETTOK UPCASE LOCASE
syn keyword focexecFuse SUBSTR TODAY TODAYI POSIT HHMMSS BYTVAL EDAUT1 BITVAL
syn keyword focexecFuse BITSON FGETENV FPUTENV HEXBYT SPAWN YM YMI JULDAT
syn keyword focexecFuse JULDATI DOWK DOWKI DOWKLI CHGDAT CHGDATI FTOA ATODBL
syn keyword focexecFuse SOUNDEX RJUST REVERSE PARAG OVRLAY LJUST CTRFLD CTRAN
syn keyword focexecFuse CHKFMT ARGLEN GREGDT GREGDTI DTYMD DTYMDI DTDMY DTDMYI
syn keyword focexecFuse DTYDM DTYDMI DTMYD DTMYDI DTDYM DTDYMI DAYMD DAYMDI
syn keyword focexecFuse DAMDY DAMDYI DADMY DADMYI AYM AYMI AYMD AYMDI CHKPCK
syn keyword focexecFuse IMOD FMOD DMOD PCKOUT EXP BAR SPELLNM SPELLNUM RTCIVP
syn keyword focexecFuse PRDUNI PRDNOR RDNORM RDUNIF LCWORD ITOZ RLPHLD IBIPRO
syn keyword focexecFuse IBIPRW IBIPRC IBIPRU IBIRCP PTHDAT ITOPACK ITONUM
syn keyword focexecFuse DSMEXEC DSMEVAL DSMERRC MSMEXEC MSMEVAL MSMERRC EXTDXI
syn keyword focexecFuse BAANHASH EDAYSI DTOG GTOD HSETPT HPART HTIME HNAME
syn keyword focexecFuse HADD HDIFF HDATE HGETC HCNVRT HDTTM HMIDNT TEMPPATH
syn keyword focexecFuse DATEADD DATEDIF DATEMOV DATECVT EURHLD EURXCH FINDFOC
syn keyword focexecFuse FERRMES CNCTUSR CURRPATH USERPATH SYSTEM ASKYN
syn keyword focexecFuse FUSEMENU POPEDIT POPFILE
syn match focexecNumber "\<\d\+\>"
syn match focexecNumber "\<\d\+\.\d*\>"
syn match focexecComment "-\*.*"
" Define the default highlighting.
" For version 5.7 and earlier: only when not done already
" For version 5.8 and later: only when an item doesn't have highlighting yet
if version >= 508 || !exists("did_focexec_syntax_inits")
if version < 508
let did_focexec_syntax_inits = 1
command -nargs=+ HiLink hi link <args>
else
command -nargs=+ HiLink hi def link <args>
endif
HiLink focexecString1 String
HiLink focexecString2 String
HiLink focexecNumber Number
HiLink focexecComment Comment
HiLink focexecTable Keyword
HiLink focexecModify Keyword
HiLink focexecNormal Keyword
HiLink focexecSet Keyword
HiLink focexecDash Keyword
HiLink focexecFileDef Keyword
HiLink focexecJoin Keyword
HiLink focexecAmperVar Identifier
HiLink focexecFuse Function
delcommand HiLink
endif
let b:current_syntax = "focexec"
" vim: ts=8