mirror of
https://github.com/neovim/neovim.git
synced 2024-12-25 05:35:10 -07:00
197 lines
6.1 KiB
VimL
197 lines
6.1 KiB
VimL
|
" 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"
|