1" Vim syntax file 2" Language: PPWizard (preprocessor by Dennis Bareis) 3" Maintainer: Stefan Schwarzer <[email protected]> 4" URL: http://www.ndh.net/home/sschwarzer/download/ppwiz.vim 5" Last Change: 2003 May 11 6" Filename: ppwiz.vim 7 8" Remove old syntax stuff 9" quit when a syntax file was already loaded 10if exists("b:current_syntax") 11 finish 12endif 13 14syn case ignore 15 16if !exists("ppwiz_highlight_defs") 17 let ppwiz_highlight_defs = 1 18endif 19 20if !exists("ppwiz_with_html") 21 let ppwiz_with_html = 1 22endif 23 24" comments 25syn match ppwizComment "^;.*$" 26syn match ppwizComment ";;.*$" 27" HTML 28if ppwiz_with_html > 0 29 syn region ppwizHTML start="<" end=">" contains=ppwizArg,ppwizMacro 30 syn match ppwizHTML "\&\w\+;" 31endif 32" define, evaluate etc. 33if ppwiz_highlight_defs == 1 34 syn match ppwizDef "^\s*\#\S\+\s\+\S\+" contains=ALL 35 syn match ppwizDef "^\s*\#\(if\|else\|endif\)" contains=ALL 36 syn match ppwizDef "^\s*\#\({\|break\|continue\|}\)" contains=ALL 37" elseif ppwiz_highlight_defs == 2 38" syn region ppwizDef start="^\s*\#" end="[^\\]$" end="^$" keepend contains=ALL 39else 40 syn region ppwizDef start="^\s*\#" end="[^\\]$" end="^$" keepend contains=ppwizCont 41endif 42syn match ppwizError "\s.\\$" 43syn match ppwizCont "\s\([+\-%]\|\)\\$" 44" macros to execute 45syn region ppwizMacro start="<\$" end=">" contains=@ppwizArgVal,ppwizCont 46" macro arguments 47syn region ppwizArg start="{" end="}" contains=ppwizEqual,ppwizString 48syn match ppwizEqual "=" contained 49syn match ppwizOperator "<>\|=\|<\|>" contained 50" standard variables (builtin) 51syn region ppwizStdVar start="<?[^?]" end=">" contains=@ppwizArgVal 52" Rexx variables 53syn region ppwizRexxVar start="<??" end=">" contains=@ppwizArgVal 54" Constants 55syn region ppwizString start=+"+ end=+"+ contained contains=ppwizMacro,ppwizArg,ppwizHTML,ppwizCont,ppwizStdVar,ppwizRexxVar 56syn region ppwizString start=+'+ end=+'+ contained contains=ppwizMacro,ppwizArg,ppwizHTML,ppwizCont,ppwizStdVar,ppwizRexxVar 57syn match ppwizInteger "\d\+" contained 58 59" Clusters 60syn cluster ppwizArgVal add=ppwizString,ppwizInteger 61 62" Define the default highlighting. 63" Only when an item doesn't have highlighting yet 64 65hi def link ppwizSpecial Special 66hi def link ppwizEqual ppwizSpecial 67hi def link ppwizOperator ppwizSpecial 68hi def link ppwizComment Comment 69hi def link ppwizDef PreProc 70hi def link ppwizMacro Statement 71hi def link ppwizArg Identifier 72hi def link ppwizStdVar Identifier 73hi def link ppwizRexxVar Identifier 74hi def link ppwizString Constant 75hi def link ppwizInteger Constant 76hi def link ppwizCont ppwizSpecial 77hi def link ppwizError Error 78hi def link ppwizHTML Type 79 80 81let b:current_syntax = "ppwiz" 82 83" vim: ts=4 84 85