home *** CD-ROM | disk | FTP | other *** search
- " Vim syntax file
- " Informix Structured Query Language (SQL) and Stored Procedure Language (SPL)
- " Language: SQL, SPL (Informix Dynamic Server 2000 v9.2)
- " Maintainer: Dean Hill <dhill@hotmail.com>
- " Last Change: 2004 Aug 30
-
- " For version 5.x: Clear all syntax items
- " For version 6.x: Quit when a syntax file was already loaded
- if version < 600
- syntax clear
- elseif exists("b:current_syntax")
- finish
- endif
-
- syn case ignore
-
-
-
- " === Comment syntax group ===
- syn region sqlComment start="{" end="}" contains=sqlTodo
- syn match sqlComment "--.*$" contains=sqlTodo
- syn sync ccomment sqlComment
-
-
-
- " === Constant syntax group ===
- " = Boolean subgroup =
- syn keyword sqlBoolean true false
- syn keyword sqlBoolean null
- syn keyword sqlBoolean public user
- syn keyword sqlBoolean current today
- syn keyword sqlBoolean year month day hour minute second fraction
-
- " = String subgroup =
- syn region sqlString start=+"+ end=+"+
- syn region sqlString start=+'+ end=+'+
-
- " = Numbers subgroup =
- syn match sqlNumber "-\=\<\d*\.\=[0-9_]\>"
-
-
-
- " === Statement syntax group ===
- " SQL
- syn keyword sqlStatement allocate alter
- syn keyword sqlStatement begin
- syn keyword sqlStatement close commit connect create
- syn keyword sqlStatement database deallocate declare delete describe disconnect drop
- syn keyword sqlStatement execute fetch flush free get grant info insert
- syn keyword sqlStatement load lock open output
- syn keyword sqlStatement prepare put
- syn keyword sqlStatement rename revoke rollback select set start stop
- syn keyword sqlStatement truncate unload unlock update
- syn keyword sqlStatement whenever
- " SPL
- syn keyword sqlStatement call continue define
- syn keyword sqlStatement exit
- syn keyword sqlStatement let
- syn keyword sqlStatement return system trace
-
- " = Conditional subgroup =
- " SPL
- syn keyword sqlConditional elif else if then
- syn keyword sqlConditional case
- " Highlight "end if" with one or more separating spaces
- syn match sqlConditional "end \+if"
-
- " = Repeat subgroup =
- " SQL/SPL
- " Handle SQL triggers' "for each row" clause and SPL "for" loop
- syn match sqlRepeat "for\( \+each \+row\)\="
- " SPL
- syn keyword sqlRepeat foreach while
- " Highlight "end for", etc. with one or more separating spaces
- syn match sqlRepeat "end \+for"
- syn match sqlRepeat "end \+foreach"
- syn match sqlRepeat "end \+while"
-
- " = Exception subgroup =
- " SPL
- syn match sqlException "on \+exception"
- syn match sqlException "end \+exception"
- syn match sqlException "end \+exception \+with \+resume"
- syn match sqlException "raise \+exception"
-
- " = Keyword subgroup =
- " SQL
- syn keyword sqlKeyword aggregate add as authorization autofree by
- syn keyword sqlKeyword cache cascade check cluster collation
- syn keyword sqlKeyword column connection constraint cross
- syn keyword sqlKeyword dataskip debug default deferred_prepare
- syn keyword sqlKeyword descriptor diagnostics
- syn keyword sqlKeyword each escape explain external
- syn keyword sqlKeyword file foreign fragment from function
- syn keyword sqlKeyword group having
- syn keyword sqlKeyword immediate index inner into isolation
- syn keyword sqlKeyword join key
- syn keyword sqlKeyword left level log
- syn keyword sqlKeyword mode modify mounting new no
- syn keyword sqlKeyword object of old optical option
- syn keyword sqlKeyword optimization order outer
- syn keyword sqlKeyword pdqpriority pload primary procedure
- syn keyword sqlKeyword references referencing release reserve
- syn keyword sqlKeyword residency right role routine row
- syn keyword sqlKeyword schedule schema scratch session set
- syn keyword sqlKeyword statement statistics synonym
- syn keyword sqlKeyword table temp temporary timeout to transaction trigger
- syn keyword sqlKeyword using values view violations
- syn keyword sqlKeyword where with work
- " Highlight "on" (if it's not followed by some words we've already handled)
- syn match sqlKeyword "on \+\(exception\)\@!"
- " SPL
- " Highlight "end" (if it's not followed by some words we've already handled)
- syn match sqlKeyword "end \+\(if\|for\|foreach\|while\|exception\)\@!"
- syn keyword sqlKeyword resume returning
-
- " = Operator subgroup =
- " SQL
- syn keyword sqlOperator not and or
- syn keyword sqlOperator in is any some all between exists
- syn keyword sqlOperator like matches
- syn keyword sqlOperator union intersect
- syn keyword sqlOperator distinct unique
-
-
-
- " === Identifier syntax group ===
- " = Function subgroup =
- " SQL
- syn keyword sqlFunction abs acos asin atan atan2 avg
- syn keyword sqlFunction cardinality cast char_length character_length cos count
- syn keyword sqlFunction exp filetoblob filetoclob hex
- syn keyword sqlFunction initcap length logn log10 lower lpad
- syn keyword sqlFunction min max mod octet_length pow range replace root round rpad
- syn keyword sqlFunction sin sqrt stdev substr substring sum
- syn keyword sqlFunction to_char tan to_date trim trunc upper variance
-
-
-
- " === Type syntax group ===
- " SQL
- syn keyword sqlType blob boolean byte char character clob
- syn keyword sqlType date datetime dec decimal double
- syn keyword sqlType float int int8 integer interval list lvarchar
- syn keyword sqlType money multiset nchar numeric nvarchar
- syn keyword sqlType real serial serial8 smallfloat smallint
- syn keyword sqlType text varchar varying
-
-
-
- " === Todo syntax group ===
- syn keyword sqlTodo TODO FIXME XXX DEBUG NOTE
-
-
-
- " Define the default highlighting.
- " For version 5.7 and earlier: only when not done already
- " For version 5.8 and later: only when an item doesn't have highlighting yet
- if version >= 508 || !exists("did_sql_syn_inits")
- if version < 508
- let did_sql_syn_inits = 1
- command -nargs=+ HiLink hi link <args>
- else
- command -nargs=+ HiLink hi def link <args>
- endif
-
-
- " === Comment syntax group ===
- HiLink sqlComment Comment
-
- " === Constant syntax group ===
- HiLink sqlNumber Number
- HiLink sqlBoolean Boolean
- HiLink sqlString String
-
- " === Statment syntax group ===
- HiLink sqlStatement Statement
- HiLink sqlConditional Conditional
- HiLink sqlRepeat Repeat
- HiLink sqlKeyword Keyword
- HiLink sqlOperator Operator
- HiLink sqlException Exception
-
- " === Identifier syntax group ===
- HiLink sqlFunction Function
-
- " === Type syntax group ===
- HiLink sqlType Type
-
- " === Todo syntax group ===
- HiLink sqlTodo Todo
-
- delcommand HiLink
- endif
-
- let b:current_syntax = "sqlinformix"
-