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 hilights - 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