mirror of
				https://github.com/vim/vim.git
				synced 2025-11-03 09:44:48 -05: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"
 |