codekingpro/portable-devtools
114k
1" Vim syntax file2" 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 306 7" quit when a syntax file was already loaded8if exists("b:current_syntax")9 finish10endif11 12syn case ignore13 14 15 16" === Comment syntax group ===17syn region sqlComment start="{" end="}" contains=sqlTodo18syn match sqlComment "--.*$" contains=sqlTodo19syn sync ccomment sqlComment20 21 22 23" === Constant syntax group ===24" = Boolean subgroup =25syn keyword sqlBoolean true false26syn keyword sqlBoolean null27syn keyword sqlBoolean public user28syn keyword sqlBoolean current today29syn keyword sqlBoolean year month day hour minute second fraction30 31" = String subgroup =32syn region sqlString start=+"+ end=+"+33syn region sqlString start=+'+ end=+'+34 35" = Numbers subgroup =36syn match sqlNumber "-\=\<\d*\.\=[0-9_]\>"37 38 39 40" === Statement syntax group ===41" SQL42syn keyword sqlStatement allocate alter43syn keyword sqlStatement begin44syn keyword sqlStatement close commit connect create45syn keyword sqlStatement database deallocate declare delete describe disconnect drop46syn keyword sqlStatement execute fetch flush free get grant info insert47syn keyword sqlStatement load lock open output48syn keyword sqlStatement prepare put49syn keyword sqlStatement rename revoke rollback select set start stop50syn keyword sqlStatement truncate unload unlock update51syn keyword sqlStatement whenever52" SPL53syn keyword sqlStatement call continue define54syn keyword sqlStatement exit55syn keyword sqlStatement let56syn keyword sqlStatement return system trace57 58" = Conditional subgroup =59" SPL60syn keyword sqlConditional elif else if then61syn keyword sqlConditional case62" Highlight "end if" with one or more separating spaces63syn match sqlConditional "end \+if"64 65" = Repeat subgroup =66" SQL/SPL67" Handle SQL triggers' "for each row" clause and SPL "for" loop68syn match sqlRepeat "for\( \+each \+row\)\="69" SPL70syn keyword sqlRepeat foreach while71" Highlight "end for", etc. with one or more separating spaces72syn match sqlRepeat "end \+for"73syn match sqlRepeat "end \+foreach"74syn match sqlRepeat "end \+while"75 76" = Exception subgroup =77" SPL78syn match sqlException "on \+exception"79syn match sqlException "end \+exception"80syn match sqlException "end \+exception \+with \+resume"81syn match sqlException "raise \+exception"82 83" = Keyword subgroup =84" SQL85syn keyword sqlKeyword aggregate add as authorization autofree by86syn keyword sqlKeyword cache cascade check cluster collation87syn keyword sqlKeyword column connection constraint cross88syn keyword sqlKeyword dataskip debug default deferred_prepare89syn keyword sqlKeyword descriptor diagnostics90syn keyword sqlKeyword each escape explain external91syn keyword sqlKeyword file foreign fragment from function92syn keyword sqlKeyword group having93syn keyword sqlKeyword immediate index inner into isolation94syn keyword sqlKeyword join key95syn keyword sqlKeyword left level log96syn keyword sqlKeyword mode modify mounting new no97syn keyword sqlKeyword object of old optical option98syn keyword sqlKeyword optimization order outer99syn keyword sqlKeyword pdqpriority pload primary procedure100syn keyword sqlKeyword references referencing release reserve101syn keyword sqlKeyword residency right role routine row102syn keyword sqlKeyword schedule schema scratch session set103syn keyword sqlKeyword statement statistics synonym104syn keyword sqlKeyword table temp temporary timeout to transaction trigger105syn keyword sqlKeyword using values view violations106syn keyword sqlKeyword where with work107" Highlight "on" (if it's not followed by some words we've already handled)108syn match sqlKeyword "on \+\(exception\)\@!"109" SPL110" Highlight "end" (if it's not followed by some words we've already handled)111syn match sqlKeyword "end \+\(if\|for\|foreach\|while\|exception\)\@!"112syn keyword sqlKeyword resume returning113 114" = Operator subgroup =115" SQL116syn keyword sqlOperator not and or117syn keyword sqlOperator in is any some all between exists118syn keyword sqlOperator like matches119syn keyword sqlOperator union intersect120syn keyword sqlOperator distinct unique121 122 123 124" === Identifier syntax group ===125" = Function subgroup =126" SQL127syn keyword sqlFunction abs acos asin atan atan2 avg128syn keyword sqlFunction cardinality cast char_length character_length cos count129syn keyword sqlFunction exp filetoblob filetoclob hex130syn keyword sqlFunction initcap length logn log10 lower lpad131syn keyword sqlFunction min max mod octet_length pow range replace root round rpad132syn keyword sqlFunction sin sqrt stdev substr substring sum133syn keyword sqlFunction to_char tan to_date trim trunc upper variance134 135 136 137" === Type syntax group ===138" SQL139syn keyword sqlType blob boolean byte char character clob140syn keyword sqlType date datetime dec decimal double141syn keyword sqlType float int int8 integer interval list lvarchar142syn keyword sqlType money multiset nchar numeric nvarchar143syn keyword sqlType real serial serial8 smallfloat smallint144syn keyword sqlType text varchar varying145 146 147 148" === Todo syntax group ===149syn keyword sqlTodo TODO FIXME XXX DEBUG NOTE150 151 152 153" Define the default highlighting.154" Only when an item doesn't have highlighting yet155 156 157" === Comment syntax group ===158hi def link sqlComment Comment159 160" === Constant syntax group ===161hi def link sqlNumber Number162hi def link sqlBoolean Boolean163hi def link sqlString String164 165" === Statement syntax group ===166hi def link sqlStatement Statement167hi def link sqlConditional Conditional168hi def link sqlRepeat Repeat169hi def link sqlKeyword Keyword170hi def link sqlOperator Operator171hi def link sqlException Exception172 173" === Identifier syntax group ===174hi def link sqlFunction Function175 176" === Type syntax group ===177hi def link sqlType Type178 179" === Todo syntax group ===180hi def link sqlTodo Todo181 182 183let b:current_syntax = "sqlinformix"184 