diff --git a/runtime/syntax/tpp.vim b/runtime/syntax/tpp.vim
new file mode 100644
index 0000000..28a2c6b
--- /dev/null
+++ b/runtime/syntax/tpp.vim
@@ -0,0 +1,91 @@
+" Vim syntax file
+" Language:	tpp - Text Presentation Program
+" Maintainer:	Gerfried Fuchs <alfie@ist.org>
+" Filenames:	*.tpp
+" Last Change:	13. October 2004
+" URL:		http://alfie.ist.org/projects/vim/syntax/tpp.vim
+" License:	BSD
+"
+" Comments are very welcome - but please make sure that you are commenting on
+" the latest version of this file.
+" SPAM is _NOT_ welcome - be ready to be reported!
+
+" 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
+
+if !exists("main_syntax")
+  let main_syntax = 'tpp'
+endif
+
+
+"" list of the legal switches/options
+syn match tppAbstractOptionKey contained "^--\%(author\|title\|date\) *" nextgroup=tppValue
+syn match tppPageLocalOptionKey contained "^--\%(heading\|center\|right\|sleep\|huge\|exec\) *" nextgroup=tppValue
+syn match tppPageLocalSwitchKey contained "^--\%(horline\|-\|\%(begin\|end\)\%(\%(shell\)\?output\|slide\%(left\|right\|top\|bottom\)\)\|\%(bold\|rev\|ul\)\%(on\|off\)\|withborder\)"
+syn match tppNewPageOptionKey contained "^--newpage *" nextgroup=tppValue
+syn match tppColorOptionKey contained "^--\%(\%(bg\|fg\)\?color\) *"
+syn match tppTimeOptionKey contained "^--sleep *"
+
+syn match tppValue contained ".*"
+syn match tppColor contained "\%(white\|yellow\|red\|green\|blue\|cyan\|magenta\|black\)"
+syn match tppTime contained "\d\+"
+
+syn region tppPageLocalSwitch start="^--" end="$" contains=tppPageLocalSwitchKey oneline
+syn region tppColorOption start="^--\%(\%(bg\|fg\)\?color\)" end="$" contains=tppColorOptionKey,tppColor oneline
+syn region tppTimeOption start="^--sleep" end="$" contains=tppTimeOptionKey,tppTime oneline
+syn region tppNewPageOption start="^--newpage" end="$" contains=tppNewPageOptionKey oneline
+syn region tppPageLocalOption start="^--\%(heading\|center\|right\|sleep\|huge\|exec\)" end="$" contains=tppPageLocalOptionKey oneline
+syn region tppAbstractOption start="^--\%(author\|title\|date\)" end="$" contains=tppAbstractOptionKey oneline
+
+if main_syntax != 'sh'
+  " shell command
+  if version < 600
+    syn include @tppShExec <sfile>:p:h/sh.vim
+  else
+    syn include @tppShExec syntax/sh.vim
+  endif
+  unlet b:current_syntax
+
+  syn region shExec matchgroup=tppPageLocalOptionKey start='^--exec *' keepend end='$' contains=@tppShExec
+
+endif
+
+
+" 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_tpp_syn_inits")
+  if version < 508
+    let did_tpp_syn_inits = 1
+    command -nargs=+ HiLink hi link <args>
+  else
+    command -nargs=+ HiLink hi def link <args>
+  endif
+
+  HiLink tppAbstractOptionKey		Special
+  HiLink tppPageLocalOptionKey		Keyword
+  HiLink tppPageLocalSwitchKey		Keyword
+  HiLink tppColorOptionKey		Keyword
+  HiLink tppTimeOptionKey		Comment
+  HiLink tppNewPageOptionKey		PreProc
+  HiLink tppValue			String
+  HiLink tppColor			String
+  HiLink tppTime			Number
+  HiLink tppAbstractOption		Error
+  HiLink tppPageLocalOption		Error
+  HiLink tppPageLocalSwitch		Error
+  HiLink tppColorOption			Error
+  HiLink tppNewPageOption		Error
+  HiLink tppTimeOption			Error
+
+  delcommand HiLink
+endif
+
+let b:current_syntax = "tpp"
+
+" vim: ts=8 sw=2
