diff --git a/runtime/syntax/kix.vim b/runtime/syntax/kix.vim
new file mode 100644
index 0000000..62dc325
--- /dev/null
+++ b/runtime/syntax/kix.vim
@@ -0,0 +1,182 @@
+" Vim syntax file
+" Language:	KixTart 95, Kix2001 Windows script language http://kixtart.org/
+" Maintainer:	Richard Howarth <rhowarth@sgb.co.uk>
+" Last Change:	2003 May 11
+" URL:		http://www.howsoft.demon.co.uk/
+
+" KixTart files identified by *.kix extension.
+
+" Amendment History:
+" 26 April 2001: RMH
+"    Removed development comments from distro version
+"    Renamed "Kix*" to "kix*" for consistancy
+"    Changes made in preperation for VIM version 5.8/6.00
+
+" TODO:
+"	Handle arrays highlighting
+"	Handle object highlighting
+" The next two may not be possible:
+"	Work out how to error too many "(", i.e. (() should be an error.
+"	Similarly, "if" without "endif" and similar constructs should error.
+
+" Clear legacy syntax rules for version 5.x, exit if already processed for version 6+
+if version < 600
+	syn clear
+elseif exists("b:current_syntax")
+	finish
+endif
+
+syn case match
+syn keyword kixTODO		TODO FIX XXX contained
+
+" Case insensitive language.
+syn case ignore
+
+" Kix statements
+syn match   kixStatement	"?"
+syn keyword kixStatement	beep big break
+syn keyword kixStatement	call cd cls color cookie1 copy
+syn keyword kixStatement	del dim display
+syn keyword kixStatement	exit
+syn keyword kixStatement	flushkb
+syn keyword kixStatement	get gets global go gosub goto
+syn keyword kixStatement	md
+syn keyword kixStatement	password play
+syn keyword kixStatement	quit
+syn keyword kixStatement	rd return run
+syn keyword kixStatement	set setl setm settime shell sleep small
+syn keyword kixStatement	use
+
+" Kix2001
+syn keyword kixStatement	debug function endfunction redim
+
+" Simple variables
+syn match   kixNotVar		"\$\$\|@@\|%%" transparent contains=NONE
+syn match   kixLocalVar		"\$\w\+"
+syn match   kixMacro		"@\w\+"
+syn match   kixEnvVar		"%\w\+"
+
+" Destination labels
+syn match   kixLabel		":\w\+\>"
+
+" Identify strings, trap unterminated strings
+syn match   kixStringError      +".*\|'.*+
+syn region  kixDoubleString	oneline start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=kixLocalVar,kixMacro,kixEnvVar,kixNotVar
+syn region  kixSingleString	oneline start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=kixLocalVar,kixMacro,kixEnvVar,kixNotVar
+
+" Operators
+syn match   kixOperator		"+\|-\|\*\|/\|=\|&\||"
+syn keyword kixOperator		and or
+" Kix2001
+syn match   kixOperator		"=="
+syn keyword kixOperator		not
+
+" Numeric constants
+syn match   kixInteger		"-\=\<\d\+\>" contains=NONE
+syn match   kixFloat		"-\=\.\d\+\>\|-\=\<\d\+\.\d\+\>" contains=NONE
+
+" Hex numeric constants
+syn match   kixHex		"\&\x\+\>" contains=NONE
+
+" Other contants
+" Kix2001
+syn keyword kixConstant		on off
+
+" Comments
+syn match   kixComment		";.*$" contains=kixTODO
+
+" Trap unmatched parenthesis
+syn match   kixParenCloseError	")"
+syn region  kixParen		oneline transparent start="(" end=")" contains=ALLBUT,kixParenCloseError
+
+" Functions (Builtin + UDF)
+syn match   kixFunction		"\w\+("he=e-1,me=e-1 contains=ALL
+
+" Trap unmatched brackets
+syn match   kixBrackCloseError	"\]"
+syn region  kixBrack		transparent start="\[" end="\]" contains=ALLBUT,kixBrackCloseError
+
+" Clusters for ALLBUT shorthand
+syn cluster kixIfBut		contains=kixIfError,kixSelectOK,kixDoOK,kixWhileOK,kixForEachOK,kixForNextOK
+syn cluster kixSelectBut	contains=kixSelectError,kixIfOK,kixDoOK,kixWhileOK,kixForEachOK,kixForNextOK
+syn cluster kixDoBut		contains=kixDoError,kixSelectOK,kixIfOK,kixWhileOK,kixForEachOK,kixForNextOK
+syn cluster kixWhileBut		contains=kixWhileError,kixSelectOK,kixIfOK,kixDoOK,kixForEachOK,kixForNextOK
+syn cluster kixForEachBut	contains=kixForEachError,kixSelectOK,kixIfOK,kixDoOK,kixForNextOK,kixWhileOK
+syn cluster kixForNextBut	contains=kixForNextError,kixSelectOK,kixIfOK,kixDoOK,kixForEachOK,kixWhileOK
+" Condtional construct errors.
+syn match   kixIfError		"\<if\>\|\<else\>\|\<endif\>"
+syn match   kixIfOK		contained "\<if\>\|\<else\>\|\<endif\>"
+syn region  kixIf		transparent matchgroup=kixIfOK start="\<if\>" end="\<endif\>" contains=ALLBUT,@kixIfBut
+syn match   kixSelectError	"\<select\>\|\<case\>\|\<endselect\>"
+syn match   kixSelectOK		contained "\<select\>\|\<case\>\|\<endselect\>"
+syn region  kixSelect		transparent matchgroup=kixSelectOK start="\<select\>" end="\<endselect\>" contains=ALLBUT,@kixSelectBut
+
+" Program control constructs.
+syn match   kixDoError		"\<do\>\|\<until\>"
+syn match   kixDoOK		contained "\<do\>\|\<until\>"
+syn region  kixDo		transparent matchgroup=kixDoOK start="\<do\>" end="\<until\>" contains=ALLBUT,@kixDoBut
+syn match   kixWhileError	"\<while\>\|\<loop\>"
+syn match   kixWhileOK		contained "\<while\>\|\<loop\>"
+syn region  kixWhile		transparent matchgroup=kixWhileOK start="\<while\>" end="\<loop\>" contains=ALLBUT,@kixWhileBut
+syn match   kixForNextError	"\<for\>\|\<to\>\|\<step\>\|\<next\>"
+syn match   kixForNextOK	contained "\<for\>\|\<to\>\|\<step\>\|\<next\>"
+syn region  kixForNext		transparent matchgroup=kixForNextOK start="\<for\>" end="\<next\>" contains=ALLBUT,@kixForBut
+syn match   kixForEachError	"\<for each\>\|\<in\>\|\<next\>"
+syn match   kixForEachOK	contained "\<for each\>\|\<in\>\|\<next\>"
+syn region  kixForEach		transparent matchgroup=kixForEachOK start="\<for each\>" end="\<next\>" contains=ALLBUT,@kixForEachBut
+
+" Expressions
+syn match   kixExpression	"<\|>\|<=\|>=\|<>"
+
+
+" Default highlighting.
+" Version < 5.8 set default highlight if file not already processed.
+" Version >= 5.8 set default highlight only if it doesn't already have a value.
+if version > 508 || !exists("did_kix_syn_inits")
+	if version < 508
+		let did_kix_syn_inits=1
+		command -nargs=+ HiLink hi link <args>
+	else
+		command -nargs=+ HiLink hi def link <args>
+	endif
+
+	HiLink kixDoubleString		String
+	HiLink kixSingleString		String
+	HiLink kixStatement		Statement
+	HiLink kixRepeat		Repeat
+	HiLink kixComment		Comment
+	HiLink kixBuiltin		Function
+	HiLink kixLocalVar		Special
+	HiLink kixMacro			Special
+	HiLink kixEnvVar		Special
+	HiLink kixLabel			Type
+	HiLink kixFunction		Function
+	HiLink kixInteger		Number
+	HiLink kixHex			Number
+	HiLink kixFloat			Number
+	HiLink kixOperator		Operator
+	HiLink kixExpression		Operator
+
+	HiLink kixParenCloseError	Error
+	HiLink kixBrackCloseError	Error
+	HiLink kixStringError		Error
+
+	HiLink kixWhileError		Error
+	HiLink kixWhileOK		Conditional
+	HiLink kixDoError		Error
+	HiLink kixDoOK			Conditional
+	HiLink kixIfError		Error
+	HiLink kixIfOK			Conditional
+	HiLink kixSelectError		Error
+	HiLink kixSelectOK		Conditional
+	HiLink kixForNextError		Error
+	HiLink kixForNextOK		Conditional
+	HiLink kixForEachError		Error
+	HiLink kixForEachOK		Conditional
+
+	delcommand HiLink
+endif
+
+let b:current_syntax = "kix"
+
+" vim: ts=8 sw=2
