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