diff options
Diffstat (limited to '')
-rw-r--r-- | runtime/syntax/ppwiz.vim | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/runtime/syntax/ppwiz.vim b/runtime/syntax/ppwiz.vim new file mode 100644 index 0000000..514f8f3 --- /dev/null +++ b/runtime/syntax/ppwiz.vim @@ -0,0 +1,84 @@ +" 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 +" quit when a syntax file was already loaded +if 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. +" Only when an item doesn't have highlighting yet + +hi def link ppwizSpecial Special +hi def link ppwizEqual ppwizSpecial +hi def link ppwizOperator ppwizSpecial +hi def link ppwizComment Comment +hi def link ppwizDef PreProc +hi def link ppwizMacro Statement +hi def link ppwizArg Identifier +hi def link ppwizStdVar Identifier +hi def link ppwizRexxVar Identifier +hi def link ppwizString Constant +hi def link ppwizInteger Constant +hi def link ppwizCont ppwizSpecial +hi def link ppwizError Error +hi def link ppwizHTML Type + + +let b:current_syntax = "ppwiz" + +" vim: ts=4 + |