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" For version 5.x: Clear all syntax items 10" For version 6.x: Quit when a syntax file was already loaded 11if version < 600 12 syntax clear 13elseif exists("b:current_syntax") 14 finish 15endif 16 17syn case ignore 18 19if !exists("ppwiz_highlight_defs") 20 let ppwiz_highlight_defs = 1 21endif 22 23if !exists("ppwiz_with_html") 24 let ppwiz_with_html = 1 25endif 26 27" comments 28syn match ppwizComment "^;.*$" 29syn match ppwizComment ";;.*$" 30" HTML 31if ppwiz_with_html > 0 32 syn region ppwizHTML start="<" end=">" contains=ppwizArg,ppwizMacro 33 syn match ppwizHTML "\&\w\+;" 34endif 35" define, evaluate etc. 36if ppwiz_highlight_defs == 1 37 syn match ppwizDef "^\s*\#\S\+\s\+\S\+" contains=ALL 38 syn match ppwizDef "^\s*\#\(if\|else\|endif\)" contains=ALL 39 syn match ppwizDef "^\s*\#\({\|break\|continue\|}\)" contains=ALL 40" elseif ppwiz_highlight_defs == 2 41" syn region ppwizDef start="^\s*\#" end="[^\\]$" end="^$" keepend contains=ALL 42else 43 syn region ppwizDef start="^\s*\#" end="[^\\]$" end="^$" keepend contains=ppwizCont 44endif 45syn match ppwizError "\s.\\$" 46syn match ppwizCont "\s\([+\-%]\|\)\\$" 47" macros to execute 48syn region ppwizMacro start="<\$" end=">" contains=@ppwizArgVal,ppwizCont 49" macro arguments 50syn region ppwizArg start="{" end="}" contains=ppwizEqual,ppwizString 51syn match ppwizEqual "=" contained 52syn match ppwizOperator "<>\|=\|<\|>" contained 53" standard variables (builtin) 54syn region ppwizStdVar start="<?[^?]" end=">" contains=@ppwizArgVal 55" Rexx variables 56syn region ppwizRexxVar start="<??" end=">" contains=@ppwizArgVal 57" Constants 58syn region ppwizString start=+"+ end=+"+ contained contains=ppwizMacro,ppwizArg,ppwizHTML,ppwizCont,ppwizStdVar,ppwizRexxVar 59syn region ppwizString start=+'+ end=+'+ contained contains=ppwizMacro,ppwizArg,ppwizHTML,ppwizCont,ppwizStdVar,ppwizRexxVar 60syn match ppwizInteger "\d\+" contained 61 62" Clusters 63syn cluster ppwizArgVal add=ppwizString,ppwizInteger 64 65" Define the default highlighting. 66" For version 5.7 and earlier: only when not done already 67" For version 5.8 and later: only when an item doesn't have highlighting yet 68if version >= 508 || !exists("did_ppwiz_syn_inits") 69 if version < 508 70 let did_ppwiz_syn_inits = 1 71 command -nargs=+ HiLink hi link <args> 72 else 73 command -nargs=+ HiLink hi def link <args> 74 endif 75 76 HiLink ppwizSpecial Special 77 HiLink ppwizEqual ppwizSpecial 78 HiLink ppwizOperator ppwizSpecial 79 HiLink ppwizComment Comment 80 HiLink ppwizDef PreProc 81 HiLink ppwizMacro Statement 82 HiLink ppwizArg Identifier 83 HiLink ppwizStdVar Identifier 84 HiLink ppwizRexxVar Identifier 85 HiLink ppwizString Constant 86 HiLink ppwizInteger Constant 87 HiLink ppwizCont ppwizSpecial 88 HiLink ppwizError Error 89 HiLink ppwizHTML Type 90 91 delcommand HiLink 92endif 93 94let b:current_syntax = "ppwiz" 95 96" vim: ts=4 97 98