1071d4279SBram Moolenaar" Vim syntax file 2071d4279SBram Moolenaar" Language: PPWizard (preprocessor by Dennis Bareis) 3071d4279SBram Moolenaar" Maintainer: Stefan Schwarzer <[email protected]> 4071d4279SBram Moolenaar" URL: http://www.ndh.net/home/sschwarzer/download/ppwiz.vim 5071d4279SBram Moolenaar" Last Change: 2003 May 11 6071d4279SBram Moolenaar" Filename: ppwiz.vim 7071d4279SBram Moolenaar 8071d4279SBram Moolenaar" Remove old syntax stuff 989bcfda6SBram Moolenaar" quit when a syntax file was already loaded 1089bcfda6SBram Moolenaarif exists("b:current_syntax") 11071d4279SBram Moolenaar finish 12071d4279SBram Moolenaarendif 13071d4279SBram Moolenaar 14071d4279SBram Moolenaarsyn case ignore 15071d4279SBram Moolenaar 16071d4279SBram Moolenaarif !exists("ppwiz_highlight_defs") 17071d4279SBram Moolenaar let ppwiz_highlight_defs = 1 18071d4279SBram Moolenaarendif 19071d4279SBram Moolenaar 20071d4279SBram Moolenaarif !exists("ppwiz_with_html") 21071d4279SBram Moolenaar let ppwiz_with_html = 1 22071d4279SBram Moolenaarendif 23071d4279SBram Moolenaar 24071d4279SBram Moolenaar" comments 25071d4279SBram Moolenaarsyn match ppwizComment "^;.*$" 26071d4279SBram Moolenaarsyn match ppwizComment ";;.*$" 27071d4279SBram Moolenaar" HTML 28071d4279SBram Moolenaarif ppwiz_with_html > 0 29071d4279SBram Moolenaar syn region ppwizHTML start="<" end=">" contains=ppwizArg,ppwizMacro 30071d4279SBram Moolenaar syn match ppwizHTML "\&\w\+;" 31071d4279SBram Moolenaarendif 32071d4279SBram Moolenaar" define, evaluate etc. 33071d4279SBram Moolenaarif ppwiz_highlight_defs == 1 34071d4279SBram Moolenaar syn match ppwizDef "^\s*\#\S\+\s\+\S\+" contains=ALL 35071d4279SBram Moolenaar syn match ppwizDef "^\s*\#\(if\|else\|endif\)" contains=ALL 36071d4279SBram Moolenaar syn match ppwizDef "^\s*\#\({\|break\|continue\|}\)" contains=ALL 37071d4279SBram Moolenaar" elseif ppwiz_highlight_defs == 2 38071d4279SBram Moolenaar" syn region ppwizDef start="^\s*\#" end="[^\\]$" end="^$" keepend contains=ALL 39071d4279SBram Moolenaarelse 40071d4279SBram Moolenaar syn region ppwizDef start="^\s*\#" end="[^\\]$" end="^$" keepend contains=ppwizCont 41071d4279SBram Moolenaarendif 42071d4279SBram Moolenaarsyn match ppwizError "\s.\\$" 43071d4279SBram Moolenaarsyn match ppwizCont "\s\([+\-%]\|\)\\$" 44071d4279SBram Moolenaar" macros to execute 45071d4279SBram Moolenaarsyn region ppwizMacro start="<\$" end=">" contains=@ppwizArgVal,ppwizCont 46071d4279SBram Moolenaar" macro arguments 47071d4279SBram Moolenaarsyn region ppwizArg start="{" end="}" contains=ppwizEqual,ppwizString 48071d4279SBram Moolenaarsyn match ppwizEqual "=" contained 49071d4279SBram Moolenaarsyn match ppwizOperator "<>\|=\|<\|>" contained 50071d4279SBram Moolenaar" standard variables (builtin) 51071d4279SBram Moolenaarsyn region ppwizStdVar start="<?[^?]" end=">" contains=@ppwizArgVal 52071d4279SBram Moolenaar" Rexx variables 53071d4279SBram Moolenaarsyn region ppwizRexxVar start="<??" end=">" contains=@ppwizArgVal 54071d4279SBram Moolenaar" Constants 55071d4279SBram Moolenaarsyn region ppwizString start=+"+ end=+"+ contained contains=ppwizMacro,ppwizArg,ppwizHTML,ppwizCont,ppwizStdVar,ppwizRexxVar 56071d4279SBram Moolenaarsyn region ppwizString start=+'+ end=+'+ contained contains=ppwizMacro,ppwizArg,ppwizHTML,ppwizCont,ppwizStdVar,ppwizRexxVar 57071d4279SBram Moolenaarsyn match ppwizInteger "\d\+" contained 58071d4279SBram Moolenaar 59071d4279SBram Moolenaar" Clusters 60071d4279SBram Moolenaarsyn cluster ppwizArgVal add=ppwizString,ppwizInteger 61071d4279SBram Moolenaar 62071d4279SBram Moolenaar" Define the default highlighting. 6389bcfda6SBram Moolenaar" Only when an item doesn't have highlighting yet 64071d4279SBram Moolenaar 65*f37506f6SBram Moolenaarhi def link ppwizSpecial Special 66*f37506f6SBram Moolenaarhi def link ppwizEqual ppwizSpecial 67*f37506f6SBram Moolenaarhi def link ppwizOperator ppwizSpecial 68*f37506f6SBram Moolenaarhi def link ppwizComment Comment 69*f37506f6SBram Moolenaarhi def link ppwizDef PreProc 70*f37506f6SBram Moolenaarhi def link ppwizMacro Statement 71*f37506f6SBram Moolenaarhi def link ppwizArg Identifier 72*f37506f6SBram Moolenaarhi def link ppwizStdVar Identifier 73*f37506f6SBram Moolenaarhi def link ppwizRexxVar Identifier 74*f37506f6SBram Moolenaarhi def link ppwizString Constant 75*f37506f6SBram Moolenaarhi def link ppwizInteger Constant 76*f37506f6SBram Moolenaarhi def link ppwizCont ppwizSpecial 77*f37506f6SBram Moolenaarhi def link ppwizError Error 78*f37506f6SBram Moolenaarhi def link ppwizHTML Type 79071d4279SBram Moolenaar 80071d4279SBram Moolenaar 81071d4279SBram Moolenaarlet b:current_syntax = "ppwiz" 82071d4279SBram Moolenaar 83071d4279SBram Moolenaar" vim: ts=4 84071d4279SBram Moolenaar 85