1" Vim syntax file 2" Language: Informix 4GL 3" Maintainer: Rafal M. Sulejman <rms@poczta.onet.pl> 4" Update: 26 Sep 2002 5" Changes: 6" - Dynamic 4GL/FourJs/4GL 7.30 pseudo comment directives (Julian Bridle) 7" - Conditionally allow case insensitive keywords (Julian Bridle) 8" 9 10" For version 5.x: Clear all syntax items 11" For version 6.x: Quit when a syntax file was already loaded 12if version < 600 13 syntax clear 14elseif exists("b:current_syntax") 15 finish 16endif 17 18if exists("fgl_ignore_case") 19 syntax case ignore 20else 21 syntax case match 22endif 23syn keyword fglKeyword ABORT ABS ABSOLUTE ACCEPT ACCESS ACOS ADD AFTER ALL 24syn keyword fglKeyword ALLOCATE ALTER AND ANSI ANY APPEND ARG_VAL ARRAY ARR_COUNT 25syn keyword fglKeyword ARR_CURR AS ASC ASCENDING ASCII ASIN AT ATAN ATAN2 ATTACH 26syn keyword fglKeyword ATTRIBUTE ATTRIBUTES AUDIT AUTHORIZATION AUTO AUTONEXT AVERAGE AVG 27syn keyword fglKeyword BEFORE BEGIN BETWEEN BLACK BLINK BLUE BOLD BORDER BOTH BOTTOM 28syn keyword fglKeyword BREAK BUFFERED BY BYTE 29syn keyword fglKeyword CALL CASCADE CASE CHAR CHARACTER CHARACTER_LENGTH CHAR_LENGTH 30syn keyword fglKeyword CHECK CLASS_ORIGIN CLEAR CLIPPED CLOSE CLUSTER COLOR 31syn keyword fglKeyword COLUMN COLUMNS COMMAND COMMENT COMMENTS COMMIT COMMITTED 32syn keyword fglKeyword COMPOSITES COMPRESS CONCURRENT CONNECT CONNECTION 33syn keyword fglKeyword CONNECTION_ALIAS CONSTRAINED CONSTRAINT CONSTRAINTS CONSTRUCT 34syn keyword fglKeyword CONTINUE CONTROL COS COUNT CREATE CURRENT CURSOR CYAN 35syn keyword fglKeyword DATA DATABASE DATASKIP DATE DATETIME DAY DBA DBINFO DBSERVERNAME 36syn keyword fglKeyword DEALLOCATE DEBUG DEC DECIMAL DECLARE DEFAULT DEFAULTS DEFER 37syn keyword fglKeyword DEFERRED DEFINE DELETE DELIMITER DELIMITERS DESC DESCENDING 38syn keyword fglKeyword DESCRIBE DESCRIPTOR DETACH DIAGNOSTICS DIM DIRTY DISABLED 39syn keyword fglKeyword DISCONNECT DISPLAY DISTINCT DISTRIBUTIONS DO DORMANT DOUBLE 40syn keyword fglKeyword DOWN DOWNSHIFT DROP 41syn keyword fglKeyword EACH ELIF ELSE ENABLED END ENTRY ERROR ERRORLOG ERR_GET 42syn keyword fglKeyword ERR_PRINT ERR_QUIT ESC ESCAPE EVERY EXCEPTION EXCLUSIVE 43syn keyword fglKeyword EXEC EXECUTE EXISTS EXIT EXP EXPLAIN EXPRESSION EXTEND EXTENT 44syn keyword fglKeyword EXTERN EXTERNAL 45syn keyword fglKeyword F1 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F2 F20 F21 F22 F23 46syn keyword fglKeyword F24 F25 F26 F27 F28 F29 F3 F30 F31 F32 F33 F34 F35 F36 F37 F38 47syn keyword fglKeyword F39 F4 F40 F41 F42 F43 F44 F45 F46 F47 F48 F49 F5 F50 F51 F52 48syn keyword fglKeyword F53 F54 F55 F56 F57 F58 F59 F6 F60 F61 F62 F63 F64 F7 F8 F9 49syn keyword fglKeyword FALSE FETCH FGL_GETENV FGL_KEYVAL FGL_LASTKEY FIELD FIELD_TOUCHED 50syn keyword fglKeyword FILE FILLFACTOR FILTERING FINISH FIRST FLOAT FLUSH FOR 51syn keyword fglKeyword FOREACH FOREIGN FORM FORMAT FORMONLY FORTRAN FOUND FRACTION 52syn keyword fglKeyword FRAGMENT FREE FROM FUNCTION GET_FLDBUF GLOBAL GLOBALS GO GOTO 53syn keyword fglKeyword GRANT GREEN GROUP HAVING HEADER HELP HEX HIDE HIGH HOLD HOUR 54syn keyword fglKeyword IDATA IF ILENGTH IMMEDIATE IN INCLUDE INDEX INDEXES INDICATOR 55syn keyword fglKeyword INFIELD INIT INITIALIZE INPUT INSERT INSTRUCTIONS INT INTEGER 56syn keyword fglKeyword INTERRUPT INTERVAL INTO INT_FLAG INVISIBLE IS ISAM ISOLATION 57syn keyword fglKeyword ITYPE 58syn keyword fglKeyword KEY LABEL 59syn keyword fglKeyword LANGUAGE LAST LEADING LEFT LENGTH LET LIKE LINE 60syn keyword fglKeyword LINENO LINES LOAD LOCATE LOCK LOG LOG10 LOGN LONG LOW 61syn keyword fglKeyword MAGENTA MAIN MARGIN MATCHES MAX MDY MEDIUM MEMORY MENU MESSAGE 62syn keyword fglKeyword MESSAGE_LENGTH MESSAGE_TEXT MIN MINUTE MOD MODE MODIFY MODULE 63syn keyword fglKeyword MONEY MONTH MORE 64syn keyword fglKeyword NAME NCHAR NEED NEW NEXT NEXTPAGE NO NOCR NOENTRY NONE NORMAL 65syn keyword fglKeyword NOT NOTFOUND NULL NULLABLE NUMBER NUMERIC NUM_ARGS NVARCHAR 66syn keyword fglKeyword OCTET_LENGTH OF OFF OLD ON ONLY OPEN OPTIMIZATION OPTION OPTIONS 67syn keyword fglKeyword OR ORDER OTHERWISE OUTER OUTPUT 68syn keyword fglKeyword PAGE PAGENO PAUSE PDQPRIORITY PERCENT PICTURE PIPE POW PRECISION 69syn keyword fglKeyword PREPARE PREVIOUS PREVPAGE PRIMARY PRINT PRINTER PRIOR PRIVATE 70syn keyword fglKeyword PRIVILEGES PROCEDURE PROGRAM PROMPT PUBLIC PUT 71syn keyword fglKeyword QUIT QUIT_FLAG 72syn keyword fglKeyword RAISE RANGE READ READONLY REAL RECORD RECOVER RED REFERENCES 73syn keyword fglKeyword REFERENCING REGISTER RELATIVE REMAINDER REMOVE RENAME REOPTIMIZATION 74syn keyword fglKeyword REPEATABLE REPORT REQUIRED RESOLUTION RESOURCE RESTRICT 75syn keyword fglKeyword RESUME RETURN RETURNED_SQLSTATE RETURNING REVERSE REVOKE RIGHT 76syn keyword fglKeyword ROBIN ROLE ROLLBACK ROLLFORWARD ROOT ROUND ROW ROWID ROWIDS 77syn keyword fglKeyword ROWS ROW_COUNT RUN 78syn keyword fglKeyword SCALE SCHEMA SCREEN SCROLL SCR_LINE SECOND SECTION SELECT 79syn keyword fglKeyword SERIAL SERIALIZABLE SERVER_NAME SESSION SET SET_COUNT SHARE 80syn keyword fglKeyword SHORT SHOW SITENAME SIZE SIZEOF SKIP SLEEP SMALLFLOAT SMALLINT 81syn keyword fglKeyword SOME SPACE SPACES SQL SQLAWARN SQLCA SQLCODE SQLERRD SQLERRM 82syn keyword fglKeyword SQLERROR SQLERRP SQLSTATE SQLWARNING SQRT STABILITY START 83syn keyword fglKeyword STARTLOG STATIC STATISTICS STATUS STDEV STEP STOP STRING STRUCT 84syn keyword fglKeyword SUBCLASS_ORIGIN SUM SWITCH SYNONYM SYSTEM 85syn keyword fglKeyword SysBlobs SysChecks SysColAuth SysColDepend SysColumns 86syn keyword fglKeyword SysConstraints SysDefaults SysDepend SysDistrib SysFragAuth 87syn keyword fglKeyword SysFragments SysIndexes SysObjState SysOpClstr SysProcAuth 88syn keyword fglKeyword SysProcBody SysProcPlan SysProcedures SysReferences SysRoleAuth 89syn keyword fglKeyword SysSynTable SysSynonyms SysTabAuth SysTables SysTrigBody 90syn keyword fglKeyword SysTriggers SysUsers SysViews SysViolations 91syn keyword fglKeyword TAB TABLE TABLES TAN TEMP TEXT THEN THROUGH THRU TIME TO 92syn keyword fglKeyword TODAY TOP TOTAL TRACE TRAILER TRAILING TRANSACTION TRIGGER 93syn keyword fglKeyword TRIGGERS TRIM TRUE TRUNC TYPE TYPEDEF 94syn keyword fglKeyword UNCOMMITTED UNCONSTRAINED UNDERLINE UNION UNIQUE UNITS UNLOAD 95syn keyword fglKeyword UNLOCK UNSIGNED UP UPDATE UPSHIFT USER USING 96syn keyword fglKeyword VALIDATE VALUE VALUES VARCHAR VARIABLES VARIANCE VARYING 97syn keyword fglKeyword VERIFY VIEW VIOLATIONS 98syn keyword fglKeyword WAIT WAITING WARNING WEEKDAY WHEN WHENEVER WHERE WHILE WHITE 99syn keyword fglKeyword WINDOW WITH WITHOUT WORDWRAP WORK WRAP WRITE 100syn keyword fglKeyword YEAR YELLOW 101syn keyword fglKeyword ZEROFILL 102 103" Strings and characters: 104syn region fglString start=+"+ skip=+\\\\\|\\"+ end=+"+ 105syn region fglString start=+'+ skip=+\\\\\|\\"+ end=+'+ 106 107" Numbers: 108syn match fglNumber "-\=\<[0-9]*\.\=[0-9_]\>" 109 110" Comments: 111syn region fglComment start="{" end="}" 112syn match fglComment "--.*" 113syn match fglComment "#.*" 114 115" Not a comment even though it looks like one (Dynamic 4GL/FourJs directive) 116syn match fglSpecial "--#" 117syn match fglSpecial "--@" 118 119syn sync ccomment fglComment 120 121" Define the default highlighting. 122" For version 5.7 and earlier: only when not done already 123" For version 5.8 and later: only when an item doesn't have highlighting yet 124if version >= 508 || !exists("did_fgl_syntax_inits") 125 if version < 508 126 let did_fgl_syntax_inits = 1 127 command -nargs=+ HiLink hi link <args> 128 else 129 command -nargs=+ HiLink hi def link <args> 130 endif 131 132 HiLink fglComment Comment 133 "HiLink fglKeyword fglSpecial 134 HiLink fglKeyword fglStatement 135 HiLink fglNumber Number 136 HiLink fglOperator fglStatement 137 HiLink fglSpecial Special 138 HiLink fglStatement Statement 139 HiLink fglString String 140 HiLink fglType Type 141 142 delcommand HiLink 143endif 144 145let b:current_syntax = "fgl" 146 147" vim: ts=8 148