diff --git a/runtime/syntax/uil.vim b/runtime/syntax/uil.vim
new file mode 100644
index 0000000..bdc4e95
--- /dev/null
+++ b/runtime/syntax/uil.vim
@@ -0,0 +1,85 @@
+" Vim syntax file
+" Language:	Motif UIL (User Interface Language)
+" Maintainer:	Thomas Koehler <jean-luc@picard.franken.de>
+" Last Change:	2002 Sep 20
+" URL:		http://jeanluc-picard.de/vim/syntax/uil.vim
+
+" Quit when a syntax file was already loaded
+if version < 600
+   syntax clear
+elseif exists("b:current_syntax")
+  finish
+endif
+
+" A bunch of useful keywords
+syn keyword uilType	arguments	callbacks	color
+syn keyword uilType	compound_string	controls	end
+syn keyword uilType	exported	file		include
+syn keyword uilType	module		object		procedure
+syn keyword uilType	user_defined	xbitmapfile
+
+syn keyword uilTodo contained	TODO
+
+" String and Character contstants
+" Highlight special characters (those which have a backslash) differently
+syn match   uilSpecial contained "\\\d\d\d\|\\."
+syn region  uilString		start=+"+  skip=+\\\\\|\\"+  end=+"+  contains=uilSpecial
+syn match   uilCharacter	"'[^\\]'"
+syn region  uilString		start=+'+  skip=+\\\\\|\\"+  end=+'+  contains=uilSpecial
+syn match   uilSpecialCharacter	"'\\.'"
+syn match   uilSpecialStatement	"Xm[^ =(){}]*"
+syn match   uilSpecialFunction	"MrmNcreateCallback"
+syn match   uilRessource	"XmN[^ =(){}]*"
+
+syn match  uilNumber		"-\=\<\d*\.\=\d\+\(e\=f\=\|[uU]\=[lL]\=\)\>"
+syn match  uilNumber		"0[xX][0-9a-fA-F]\+\>"
+
+syn region uilComment		start="/\*"  end="\*/" contains=uilTodo
+syn match  uilComment		"!.*" contains=uilTodo
+syn match  uilCommentError	"\*/"
+
+syn region uilPreCondit		start="^#\s*\(if\>\|ifdef\>\|ifndef\>\|elif\>\|else\>\|endif\>\)"  skip="\\$"  end="$" contains=uilComment,uilString,uilCharacter,uilNumber,uilCommentError
+syn match  uilIncluded contained "<[^>]*>"
+syn match  uilInclude		"^#\s*include\s\+." contains=uilString,uilIncluded
+syn match  uilLineSkip		"\\$"
+syn region uilDefine		start="^#\s*\(define\>\|undef\>\)" end="$" contains=uilLineSkip,uilComment,uilString,uilCharacter,uilNumber,uilCommentError
+
+syn sync ccomment uilComment
+
+" 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_uil_syn_inits")
+  if version < 508
+    let did_uil_syn_inits = 1
+    command -nargs=+ HiLink hi link <args>
+  else
+    command -nargs=+ HiLink hi def link <args>
+  endif
+
+  " The default highlighting.
+  HiLink uilCharacter		uilString
+  HiLink uilSpecialCharacter	uilSpecial
+  HiLink uilNumber		uilString
+  HiLink uilCommentError	uilError
+  HiLink uilInclude		uilPreCondit
+  HiLink uilDefine		uilPreCondit
+  HiLink uilIncluded		uilString
+  HiLink uilSpecialFunction	uilRessource
+  HiLink uilRessource		Identifier
+  HiLink uilSpecialStatement	Keyword
+  HiLink uilError		Error
+  HiLink uilPreCondit		PreCondit
+  HiLink uilType		Type
+  HiLink uilString		String
+  HiLink uilComment		Comment
+  HiLink uilSpecial		Special
+  HiLink uilTodo		Todo
+
+  delcommand HiLink
+endif
+
+
+let b:current_syntax = "uil"
+
+" vim: ts=8
