diff --git a/runtime/syntax/pike.vim b/runtime/syntax/pike.vim
new file mode 100644
index 0000000..efbafd5
--- /dev/null
+++ b/runtime/syntax/pike.vim
@@ -0,0 +1,155 @@
+" Vim syntax file
+" Language:	Pike
+" Maintainer:	Francesco Chemolli <kinkie@kame.usr.dsi.unimi.it>
+" Last Change:	2001 May 10
+
+" 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
+
+" A bunch of useful C keywords
+syn keyword pikeStatement	goto break return continue
+syn keyword pikeLabel		case default
+syn keyword pikeConditional	if else switch
+syn keyword pikeRepeat		while for foreach do
+syn keyword pikeStatement	gauge destruct lambda inherit import typeof
+syn keyword pikeException	catch
+syn keyword pikeType		inline nomask private protected public static
+
+
+syn keyword pikeTodo contained	TODO FIXME XXX
+
+" String and Character constants
+" Highlight special characters (those which have a backslash) differently
+syn match pikeSpecial contained	"\\[0-7][0-7][0-7]\=\|\\."
+syn region pikeString		start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=pikeSpecial
+syn match pikeCharacter		"'[^\\]'"
+syn match pikeSpecialCharacter	"'\\.'"
+syn match pikeSpecialCharacter	"'\\[0-7][0-7]'"
+syn match pikeSpecialCharacter	"'\\[0-7][0-7][0-7]'"
+
+" Compound data types
+syn region pikeCompoundType start='({' contains=pikeString,pikeCompoundType,pikeNumber,pikeFloat end='})'
+syn region pikeCompoundType start='(\[' contains=pikeString,pikeCompoundType,pikeNumber,pikeFloat end='\])'
+syn region pikeCompoundType start='(<' contains=pikeString,pikeCompoundType,pikeNumber,pikeFloat end='>)'
+
+"catch errors caused by wrong parenthesis
+syn region pikeParen		transparent start='([^{[<(]' end=')' contains=ALLBUT,pikeParenError,pikeIncluded,pikeSpecial,pikeTodo,pikeUserLabel,pikeBitField
+syn match pikeParenError		")"
+syn match pikeInParen contained	"[^(][{}][^)]"
+
+"integer number, or floating point number without a dot and with "f".
+syn case ignore
+syn match pikeNumber		"\<\d\+\(u\=l\=\|lu\|f\)\>"
+"floating point number, with dot, optional exponent
+syn match pikeFloat		"\<\d\+\.\d*\(e[-+]\=\d\+\)\=[fl]\=\>"
+"floating point number, starting with a dot, optional exponent
+syn match pikeFloat		"\.\d\+\(e[-+]\=\d\+\)\=[fl]\=\>"
+"floating point number, without dot, with exponent
+syn match pikeFloat		"\<\d\+e[-+]\=\d\+[fl]\=\>"
+"hex number
+syn match pikeNumber		"\<0x[0-9a-f]\+\(u\=l\=\|lu\)\>"
+"syn match pikeIdentifier	"\<[a-z_][a-z0-9_]*\>"
+syn case match
+" flag an octal number with wrong digits
+syn match pikeOctalError		"\<0[0-7]*[89]"
+
+if exists("c_comment_strings")
+  " A comment can contain pikeString, pikeCharacter and pikeNumber.
+  " But a "*/" inside a pikeString in a pikeComment DOES end the comment!  So we
+  " need to use a special type of pikeString: pikeCommentString, which also ends on
+  " "*/", and sees a "*" at the start of the line as comment again.
+  " Unfortunately this doesn't very well work for // type of comments :-(
+  syntax match pikeCommentSkip	contained "^\s*\*\($\|\s\+\)"
+  syntax region pikeCommentString	contained start=+"+ skip=+\\\\\|\\"+ end=+"+ end=+\*/+me=s-1 contains=pikeSpecial,pikeCommentSkip
+  syntax region pikeComment2String	contained start=+"+ skip=+\\\\\|\\"+ end=+"+ end="$" contains=pikeSpecial
+  syntax region pikeComment	start="/\*" end="\*/" contains=pikeTodo,pikeCommentString,pikeCharacter,pikeNumber,pikeFloat
+  syntax match  pikeComment	"//.*" contains=pikeTodo,pikeComment2String,pikeCharacter,pikeNumber
+  syntax match  pikeComment	"#\!.*" contains=pikeTodo,pikeComment2String,pikeCharacter,pikeNumber
+else
+  syn region pikeComment		start="/\*" end="\*/" contains=pikeTodo
+  syn match pikeComment		"//.*" contains=pikeTodo
+  syn match pikeComment		"#!.*" contains=pikeTodo
+endif
+syntax match pikeCommentError	"\*/"
+
+syn keyword pikeOperator	sizeof
+syn keyword pikeType		int string void float mapping array multiset mixed
+syn keyword pikeType		program object function
+
+syn region pikePreCondit	start="^\s*#\s*\(if\>\|ifdef\>\|ifndef\>\|elif\>\|else\>\|endif\>\)" skip="\\$" end="$" contains=pikeComment,pikeString,pikeCharacter,pikeNumber,pikeCommentError
+syn region pikeIncluded contained start=+"+ skip=+\\\\\|\\"+ end=+"+
+syn match pikeIncluded contained "<[^>]*>"
+syn match pikeInclude		"^\s*#\s*include\>\s*["<]" contains=pikeIncluded
+"syn match pikeLineSkip	"\\$"
+syn region pikeDefine		start="^\s*#\s*\(define\>\|undef\>\)" skip="\\$" end="$" contains=ALLBUT,pikePreCondit,pikeIncluded,pikeInclude,pikeDefine,pikeInParen
+syn region pikePreProc		start="^\s*#\s*\(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" end="$" contains=ALLBUT,pikePreCondit,pikeIncluded,pikeInclude,pikeDefine,pikeInParen
+
+" Highlight User Labels
+syn region	pikeMulti		transparent start='?' end=':' contains=ALLBUT,pikeIncluded,pikeSpecial,pikeTodo,pikeUserLabel,pikeBitField
+" Avoid matching foo::bar() in C++ by requiring that the next char is not ':'
+syn match	pikeUserLabel	"^\s*\I\i*\s*:$"
+syn match	pikeUserLabel	";\s*\I\i*\s*:$"ms=s+1
+syn match	pikeUserLabel	"^\s*\I\i*\s*:[^:]"me=e-1
+syn match	pikeUserLabel	";\s*\I\i*\s*:[^:]"ms=s+1,me=e-1
+
+" Avoid recognizing most bitfields as labels
+syn match	pikeBitField	"^\s*\I\i*\s*:\s*[1-9]"me=e-1
+syn match	pikeBitField	";\s*\I\i*\s*:\s*[1-9]"me=e-1
+
+syn sync ccomment pikeComment minlines=10
+
+" 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_pike_syntax_inits")
+  if version < 508
+    let did_pike_syntax_inits = 1
+    command -nargs=+ HiLink hi link <args>
+  else
+    command -nargs=+ HiLink hi def link <args>
+  endif
+
+  HiLink pikeLabel		Label
+  HiLink pikeUserLabel		Label
+  HiLink pikeConditional	Conditional
+  HiLink pikeRepeat		Repeat
+  HiLink pikeCharacter		Character
+  HiLink pikeSpecialCharacter pikeSpecial
+  HiLink pikeNumber		Number
+  HiLink pikeFloat		Float
+  HiLink pikeOctalError		pikeError
+  HiLink pikeParenError		pikeError
+  HiLink pikeInParen		pikeError
+  HiLink pikeCommentError	pikeError
+  HiLink pikeOperator		Operator
+  HiLink pikeInclude		Include
+  HiLink pikePreProc		PreProc
+  HiLink pikeDefine		Macro
+  HiLink pikeIncluded		pikeString
+  HiLink pikeError		Error
+  HiLink pikeStatement		Statement
+  HiLink pikePreCondit		PreCondit
+  HiLink pikeType		Type
+  HiLink pikeCommentError	pikeError
+  HiLink pikeCommentString	pikeString
+  HiLink pikeComment2String	pikeString
+  HiLink pikeCommentSkip	pikeComment
+  HiLink pikeString		String
+  HiLink pikeComment		Comment
+  HiLink pikeSpecial		SpecialChar
+  HiLink pikeTodo		Todo
+  HiLink pikeException		pikeStatement
+  HiLink pikeCompoundType	Constant
+  "HiLink pikeIdentifier	Identifier
+
+  delcommand HiLink
+endif
+
+let b:current_syntax = "pike"
+
+" vim: ts=8
