sqlinformix.vim (5902B)
1 " Vim syntax file 2 " Informix Structured Query Language (SQL) and Stored Procedure Language (SPL) 3 " Language: SQL, SPL (Informix Dynamic Server 2000 v9.2) 4 " Maintainer: Dean Hill <dhill@hotmail.com> 5 " Last Change: 2004 Aug 30 6 7 " quit when a syntax file was already loaded 8 if exists("b:current_syntax") 9 finish 10 endif 11 12 syn case ignore 13 14 15 16 " === Comment syntax group === 17 syn region sqlComment start="{" end="}" contains=sqlTodo 18 syn match sqlComment "--.*$" contains=sqlTodo 19 syn sync ccomment sqlComment 20 21 22 23 " === Constant syntax group === 24 " = Boolean subgroup = 25 syn keyword sqlBoolean true false 26 syn keyword sqlBoolean null 27 syn keyword sqlBoolean public user 28 syn keyword sqlBoolean current today 29 syn keyword sqlBoolean year month day hour minute second fraction 30 31 " = String subgroup = 32 syn region sqlString start=+"+ end=+"+ 33 syn region sqlString start=+'+ end=+'+ 34 35 " = Numbers subgroup = 36 syn match sqlNumber "-\=\<\d*\.\=[0-9_]\>" 37 38 39 40 " === Statement syntax group === 41 " SQL 42 syn keyword sqlStatement allocate alter 43 syn keyword sqlStatement begin 44 syn keyword sqlStatement close commit connect create 45 syn keyword sqlStatement database deallocate declare delete describe disconnect drop 46 syn keyword sqlStatement execute fetch flush free get grant info insert 47 syn keyword sqlStatement load lock open output 48 syn keyword sqlStatement prepare put 49 syn keyword sqlStatement rename revoke rollback select set start stop 50 syn keyword sqlStatement truncate unload unlock update 51 syn keyword sqlStatement whenever 52 " SPL 53 syn keyword sqlStatement call continue define 54 syn keyword sqlStatement exit 55 syn keyword sqlStatement let 56 syn keyword sqlStatement return system trace 57 58 " = Conditional subgroup = 59 " SPL 60 syn keyword sqlConditional elif else if then 61 syn keyword sqlConditional case 62 " Highlight "end if" with one or more separating spaces 63 syn match sqlConditional "end \+if" 64 65 " = Repeat subgroup = 66 " SQL/SPL 67 " Handle SQL triggers' "for each row" clause and SPL "for" loop 68 syn match sqlRepeat "for\( \+each \+row\)\=" 69 " SPL 70 syn keyword sqlRepeat foreach while 71 " Highlight "end for", etc. with one or more separating spaces 72 syn match sqlRepeat "end \+for" 73 syn match sqlRepeat "end \+foreach" 74 syn match sqlRepeat "end \+while" 75 76 " = Exception subgroup = 77 " SPL 78 syn match sqlException "on \+exception" 79 syn match sqlException "end \+exception" 80 syn match sqlException "end \+exception \+with \+resume" 81 syn match sqlException "raise \+exception" 82 83 " = Keyword subgroup = 84 " SQL 85 syn keyword sqlKeyword aggregate add as authorization autofree by 86 syn keyword sqlKeyword cache cascade check cluster collation 87 syn keyword sqlKeyword column connection constraint cross 88 syn keyword sqlKeyword dataskip debug default deferred_prepare 89 syn keyword sqlKeyword descriptor diagnostics 90 syn keyword sqlKeyword each escape explain external 91 syn keyword sqlKeyword file foreign fragment from function 92 syn keyword sqlKeyword group having 93 syn keyword sqlKeyword immediate index inner into isolation 94 syn keyword sqlKeyword join key 95 syn keyword sqlKeyword left level log 96 syn keyword sqlKeyword mode modify mounting new no 97 syn keyword sqlKeyword object of old optical option 98 syn keyword sqlKeyword optimization order outer 99 syn keyword sqlKeyword pdqpriority pload primary procedure 100 syn keyword sqlKeyword references referencing release reserve 101 syn keyword sqlKeyword residency right role routine row 102 syn keyword sqlKeyword schedule schema scratch session set 103 syn keyword sqlKeyword statement statistics synonym 104 syn keyword sqlKeyword table temp temporary timeout to transaction trigger 105 syn keyword sqlKeyword using values view violations 106 syn keyword sqlKeyword where with work 107 " Highlight "on" (if it's not followed by some words we've already handled) 108 syn match sqlKeyword "on \+\(exception\)\@!" 109 " SPL 110 " Highlight "end" (if it's not followed by some words we've already handled) 111 syn match sqlKeyword "end \+\(if\|for\|foreach\|while\|exception\)\@!" 112 syn keyword sqlKeyword resume returning 113 114 " = Operator subgroup = 115 " SQL 116 syn keyword sqlOperator not and or 117 syn keyword sqlOperator in is any some all between exists 118 syn keyword sqlOperator like matches 119 syn keyword sqlOperator union intersect 120 syn keyword sqlOperator distinct unique 121 122 123 124 " === Identifier syntax group === 125 " = Function subgroup = 126 " SQL 127 syn keyword sqlFunction abs acos asin atan atan2 avg 128 syn keyword sqlFunction cardinality cast char_length character_length cos count 129 syn keyword sqlFunction exp filetoblob filetoclob hex 130 syn keyword sqlFunction initcap length logn log10 lower lpad 131 syn keyword sqlFunction min max mod octet_length pow range replace root round rpad 132 syn keyword sqlFunction sin sqrt stdev substr substring sum 133 syn keyword sqlFunction to_char tan to_date trim trunc upper variance 134 135 136 137 " === Type syntax group === 138 " SQL 139 syn keyword sqlType blob boolean byte char character clob 140 syn keyword sqlType date datetime dec decimal double 141 syn keyword sqlType float int int8 integer interval list lvarchar 142 syn keyword sqlType money multiset nchar numeric nvarchar 143 syn keyword sqlType real serial serial8 smallfloat smallint 144 syn keyword sqlType text varchar varying 145 146 147 148 " === Todo syntax group === 149 syn keyword sqlTodo TODO FIXME XXX DEBUG NOTE 150 151 152 153 " Define the default highlighting. 154 " Only when an item doesn't have highlighting yet 155 156 157 " === Comment syntax group === 158 hi def link sqlComment Comment 159 160 " === Constant syntax group === 161 hi def link sqlNumber Number 162 hi def link sqlBoolean Boolean 163 hi def link sqlString String 164 165 " === Statement syntax group === 166 hi def link sqlStatement Statement 167 hi def link sqlConditional Conditional 168 hi def link sqlRepeat Repeat 169 hi def link sqlKeyword Keyword 170 hi def link sqlOperator Operator 171 hi def link sqlException Exception 172 173 " === Identifier syntax group === 174 hi def link sqlFunction Function 175 176 " === Type syntax group === 177 hi def link sqlType Type 178 179 " === Todo syntax group === 180 hi def link sqlTodo Todo 181 182 183 let b:current_syntax = "sqlinformix"