updated for version 7.0014
diff --git a/runtime/syntax/sqlinformix.vim b/runtime/syntax/sqlinformix.vim
new file mode 100644
index 0000000..b4d0236
--- /dev/null
+++ b/runtime/syntax/sqlinformix.vim
@@ -0,0 +1,196 @@
+" 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"