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