diff --git a/runtime/syntax/eiffel.vim b/runtime/syntax/eiffel.vim
new file mode 100644
index 0000000..af6eee9
--- /dev/null
+++ b/runtime/syntax/eiffel.vim
@@ -0,0 +1,196 @@
+" Eiffel syntax file
+" Language:	Eiffel
+" Maintainer:	Reimer Behrends <behrends@cse.msu.edu>
+"		With much input from Jocelyn Fiat <fiat@eiffel.com>
+" See http://www.cse.msu.edu/~behrends/vim/ for the most current version.
+" Last Change:	2001 May 09
+
+" 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
+
+" Option handling
+
+if exists("eiffel_ignore_case")
+  syn case ignore
+else
+  syn case match
+  if exists("eiffel_pedantic") || exists("eiffel_strict")
+    syn keyword eiffelError	current void result precursor none
+    syn keyword eiffelError	CURRENT VOID RESULT PRECURSOR None
+    syn keyword eiffelError	TRUE FALSE
+  endif
+  if exists("eiffel_pedantic")
+    syn keyword eiffelError	true false
+    syn match eiffelError	"\<[a-z_]\+[A-Z][a-zA_Z_]*\>"
+    syn match eiffelError	"\<[A-Z][a-z_]*[A-Z][a-zA-Z_]*\>"
+  endif
+  if exists("eiffel_lower_case_predef")
+    syn keyword eiffelPredefined current void result precursor
+  endif
+endif
+
+if exists("eiffel_hex_constants")
+  syn match  eiffelNumber	"\d[0-9a-fA-F]*[xX]"
+endif
+
+" Keyword definitions
+
+syn keyword eiffelTopStruct	indexing feature creation inherit
+syn match   eiffelTopStruct	"\<class\>"
+syn match   eiffelKeyword	"\<end\>"
+syn match   eiffelTopStruct	"^end\>\(\s*--\s\+class\s\+\<[A-Z][A-Z0-9_]*\>\)\=" contains=eiffelClassName
+syn match   eiffelBrackets	"[[\]]"
+syn match eiffelBracketError	"\]"
+syn region eiffelGeneric	transparent matchgroup=eiffelBrackets start="\[" end="\]" contains=ALLBUT,eiffelBracketError,eiffelGenericDecl,eiffelStringError,eiffelStringEscape,eiffelGenericCreate,eiffelTopStruct
+if exists("eiffel_ise")
+  syn match   eiffelCreate	"\<create\>"
+  syn match   eiffelTopStruct	contained "\<create\>"
+  syn match   eiffelGenericCreate  contained "\<create\>"
+  syn match   eiffelTopStruct	"^create\>"
+  syn region  eiffelGenericDecl	transparent matchgroup=eiffelBrackets contained start="\[" end="\]" contains=ALLBUT,eiffelCreate,eiffelTopStruct,eiffelGeneric,eiffelBracketError,eiffelStringEscape,eiffelStringError,eiffelBrackets
+  syn region  eiffelClassHeader	start="^class\>" end="$" contains=ALLBUT,eiffelCreate,eiffelGenericCreate,eiffelGeneric,eiffelStringEscape,eiffelStringError,eiffelBrackets
+endif
+syn keyword eiffelDeclaration	is do once deferred unique local
+syn keyword eiffelDeclaration	Unique
+syn keyword eiffelProperty	expanded obsolete separate frozen
+syn keyword eiffelProperty	prefix infix
+syn keyword eiffelInheritClause	rename redefine undefine select export as
+syn keyword eiffelAll		all
+syn keyword eiffelKeyword	external alias
+syn keyword eiffelStatement	if else elseif inspect
+syn keyword eiffelStatement	when then
+syn match   eiffelAssertion	"\<require\(\s\+else\)\=\>"
+syn match   eiffelAssertion	"\<ensure\(\s\+then\)\=\>"
+syn keyword eiffelAssertion	check
+syn keyword eiffelDebug		debug
+syn keyword eiffelStatement	from until loop
+syn keyword eiffelAssertion	variant
+syn match   eiffelAssertion	"\<invariant\>"
+syn match   eiffelTopStruct	"^invariant\>"
+syn keyword eiffelException	rescue retry
+
+syn keyword eiffelPredefined	Current Void Result Precursor
+
+" Operators
+syn match   eiffelOperator	"\<and\(\s\+then\)\=\>"
+syn match   eiffelOperator	"\<or\(\s\+else\)\=\>"
+syn keyword eiffelOperator	xor implies not
+syn keyword eiffelOperator	strip old
+syn keyword eiffelOperator	Strip
+syn match   eiffelOperator	"\$"
+syn match   eiffelCreation	"!"
+syn match   eiffelExport	"[{}]"
+syn match   eiffelArray		"<<"
+syn match   eiffelArray		">>"
+syn match   eiffelConstraint	"->"
+syn match   eiffelOperator	"[@#|&][^ \e\t\b%]*"
+
+" Special classes
+syn keyword eiffelAnchored	like
+syn keyword eiffelBitType	BIT
+
+" Constants
+if !exists("eiffel_pedantic")
+  syn keyword eiffelBool	true false
+endif
+syn keyword eiffelBool		True False
+syn region  eiffelString	start=+"+ skip=+%"+ end=+"+ contains=eiffelStringEscape,eiffelStringError
+syn match   eiffelStringEscape	contained "%[^/]"
+syn match   eiffelStringEscape	contained "%/\d\+/"
+syn match   eiffelStringEscape	contained "^[ \t]*%"
+syn match   eiffelStringEscape	contained "%[ \t]*$"
+syn match   eiffelStringError	contained "%/[^0-9]"
+syn match   eiffelStringError	contained "%/\d\+[^0-9/]"
+syn match   eiffelBadConstant	"'\(%[^/]\|%/\d\+/\|[^'%]\)\+'"
+syn match   eiffelBadConstant	"''"
+syn match   eiffelCharacter	"'\(%[^/]\|%/\d\+/\|[^'%]\)'" contains=eiffelStringEscape
+syn match   eiffelNumber	"-\=\<\d\+\(_\d\+\)*\>"
+syn match   eiffelNumber	"\<[01]\+[bB]\>"
+syn match   eiffelNumber	"-\=\<\d\+\(_\d\+\)*\.\(\d\+\(_\d\+\)*\)\=\([eE][-+]\=\d\+\(_\d\+\)*\)\="
+syn match   eiffelNumber	"-\=\.\d\+\(_\d\+\)*\([eE][-+]\=\d\+\(_\d\+\)*\)\="
+syn match   eiffelComment	"--.*" contains=eiffelTodo
+
+syn case match
+
+" Case sensitive stuff
+
+syn keyword eiffelTodo		contained TODO XXX FIXME
+syn match   eiffelClassName	"\<[A-Z][A-Z0-9_]*\>"
+
+" Catch mismatched parentheses
+syn match eiffelParenError	")"
+syn region eiffelParen		transparent start="(" end=")" contains=ALLBUT,eiffelParenError,eiffelStringError,eiffelStringEscape
+
+" Should suffice for even very long strings and expressions
+syn sync lines=40
+
+" 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_eiffel_syntax_inits")
+  if version < 508
+    let did_eiffel_syntax_inits = 1
+    command -nargs=+ HiLink hi link <args>
+  else
+    command -nargs=+ HiLink hi def link <args>
+  endif
+
+  HiLink eiffelKeyword		Statement
+  HiLink eiffelProperty		Statement
+  HiLink eiffelInheritClause	Statement
+  HiLink eiffelStatement	Statement
+  HiLink eiffelDeclaration	Statement
+  HiLink eiffelAssertion	Statement
+  HiLink eiffelDebug		Statement
+  HiLink eiffelException	Statement
+  HiLink eiffelGenericCreate	Statement
+
+
+  HiLink eiffelTopStruct	PreProc
+
+  HiLink eiffelAll		Special
+  HiLink eiffelAnchored		Special
+  HiLink eiffelBitType		Special
+
+
+  HiLink eiffelBool		Boolean
+  HiLink eiffelString		String
+  HiLink eiffelCharacter	Character
+  HiLink eiffelClassName	Type
+  HiLink eiffelNumber		Number
+
+  HiLink eiffelStringEscape	Special
+
+  HiLink eiffelOperator		Special
+  HiLink eiffelArray		Special
+  HiLink eiffelExport		Special
+  HiLink eiffelCreation		Special
+  HiLink eiffelBrackets		Special
+  HiLink eiffelGeneric		Special
+  HiLink eiffelGenericDecl	Special
+  HiLink eiffelConstraint	Special
+  HiLink eiffelCreate		Special
+
+  HiLink eiffelPredefined	Constant
+
+  HiLink eiffelComment		Comment
+
+  HiLink eiffelError		Error
+  HiLink eiffelBadConstant	Error
+  HiLink eiffelStringError	Error
+  HiLink eiffelParenError	Error
+  HiLink eiffelBracketError	Error
+
+  HiLink eiffelTodo		Todo
+
+  delcommand HiLink
+endif
+
+let b:current_syntax = "eiffel"
+
+" vim: ts=8
