xref: /vim-8.2.3635/runtime/syntax/ppwiz.vim (revision bb76f24a)
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