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