updated for version 7.0001
diff --git a/runtime/syntax/ppwiz.vim b/runtime/syntax/ppwiz.vim
new file mode 100644
index 0000000..d3d7b3a
--- /dev/null
+++ b/runtime/syntax/ppwiz.vim
@@ -0,0 +1,97 @@
+" Vim syntax file
+" Language:     PPWizard (preprocessor by Dennis Bareis)
+" Maintainer:   Stefan Schwarzer <s.schwarzer@ndh.net>
+" URL:			http://www.ndh.net/home/sschwarzer/download/ppwiz.vim
+" Last Change:  2003 May 11
+" Filename:     ppwiz.vim
+
+" Remove old syntax stuff
+" 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
+
+syn case ignore
+
+if !exists("ppwiz_highlight_defs")
+    let ppwiz_highlight_defs = 1
+endif
+
+if !exists("ppwiz_with_html")
+    let ppwiz_with_html = 1
+endif
+
+" comments
+syn match   ppwizComment  "^;.*$"
+syn match   ppwizComment  ";;.*$"
+" HTML
+if ppwiz_with_html > 0
+    syn region ppwizHTML  start="<" end=">" contains=ppwizArg,ppwizMacro
+    syn match  ppwizHTML  "\&\w\+;"
+endif
+" define, evaluate etc.
+if ppwiz_highlight_defs == 1
+    syn match  ppwizDef   "^\s*\#\S\+\s\+\S\+" contains=ALL
+    syn match  ppwizDef   "^\s*\#\(if\|else\|endif\)" contains=ALL
+    syn match  ppwizDef   "^\s*\#\({\|break\|continue\|}\)" contains=ALL
+" elseif ppwiz_highlight_defs == 2
+"     syn region ppwizDef   start="^\s*\#" end="[^\\]$" end="^$" keepend contains=ALL
+else
+    syn region ppwizDef   start="^\s*\#" end="[^\\]$" end="^$" keepend contains=ppwizCont
+endif
+syn match   ppwizError    "\s.\\$"
+syn match   ppwizCont     "\s\([+\-%]\|\)\\$"
+" macros to execute
+syn region  ppwizMacro    start="<\$" end=">" contains=@ppwizArgVal,ppwizCont
+" macro arguments
+syn region  ppwizArg      start="{" end="}" contains=ppwizEqual,ppwizString
+syn match   ppwizEqual    "=" contained
+syn match   ppwizOperator "<>\|=\|<\|>" contained
+" standard variables (builtin)
+syn region  ppwizStdVar   start="<?[^?]" end=">" contains=@ppwizArgVal
+" Rexx variables
+syn region  ppwizRexxVar  start="<??" end=">" contains=@ppwizArgVal
+" Constants
+syn region  ppwizString   start=+"+ end=+"+ contained contains=ppwizMacro,ppwizArg,ppwizHTML,ppwizCont,ppwizStdVar,ppwizRexxVar
+syn region  ppwizString   start=+'+ end=+'+ contained contains=ppwizMacro,ppwizArg,ppwizHTML,ppwizCont,ppwizStdVar,ppwizRexxVar
+syn match   ppwizInteger  "\d\+" contained
+
+" Clusters
+syn cluster ppwizArgVal add=ppwizString,ppwizInteger
+
+" 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_ppwiz_syn_inits")
+    if version < 508
+		let did_ppwiz_syn_inits = 1
+		command -nargs=+ HiLink hi link <args>
+	else
+		command -nargs=+ HiLink hi def link <args>
+    endif
+
+    HiLink ppwizSpecial  Special
+    HiLink ppwizEqual    ppwizSpecial
+    HiLink ppwizOperator ppwizSpecial
+    HiLink ppwizComment  Comment
+    HiLink ppwizDef      PreProc
+    HiLink ppwizMacro    Statement
+    HiLink ppwizArg      Identifier
+    HiLink ppwizStdVar   Identifier
+    HiLink ppwizRexxVar  Identifier
+    HiLink ppwizString   Constant
+    HiLink ppwizInteger  Constant
+    HiLink ppwizCont     ppwizSpecial
+    HiLink ppwizError    Error
+    HiLink ppwizHTML     Type
+
+    delcommand HiLink
+endif
+
+let b:current_syntax = "ppwiz"
+
+" vim: ts=4
+