mirror of
				https://github.com/vim/vim.git
				synced 2025-10-30 09:47:20 -04: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" |