blob: 514f8f36cca60d8a9adbac6d3fa2362f89d7da6d [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim syntax file
2" Language: PPWizard (preprocessor by Dennis Bareis)
3" Maintainer: Stefan Schwarzer <s.schwarzer@ndh.net>
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
Bram Moolenaar89bcfda2016-08-30 23:26:57 +02009" quit when a syntax file was already loaded
10if exists("b:current_syntax")
Bram Moolenaar071d4272004-06-13 20:20:40 +000011 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.
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020063" Only when an item doesn't have highlighting yet
Bram Moolenaar071d4272004-06-13 20:20:40 +000064
Bram Moolenaarf37506f2016-08-31 22:22:10 +020065hi 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
Bram Moolenaar071d4272004-06-13 20:20:40 +000079
Bram Moolenaar071d4272004-06-13 20:20:40 +000080
81let b:current_syntax = "ppwiz"
82
83" vim: ts=4
84