xref: /vim-8.2.3635/runtime/syntax/webmacro.vim (revision f37506f6)
1071d4279SBram Moolenaar" WebMacro syntax file
2071d4279SBram Moolenaar" Language:     WebMacro
3071d4279SBram Moolenaar" Maintainer:   Claudio Fleiner <[email protected]>
4071d4279SBram Moolenaar" URL:		http://www.fleiner.com/vim/syntax/webmacro.vim
5071d4279SBram Moolenaar" Last Change:  2003 May 11
6071d4279SBram Moolenaar
7071d4279SBram Moolenaar" webmacro is a nice little language that you should
8071d4279SBram Moolenaar" check out if you use java servlets.
9071d4279SBram Moolenaar" webmacro: http://www.webmacro.org
10071d4279SBram Moolenaar
11071d4279SBram Moolenaar" For version 5.x: Clear all syntax items
12071d4279SBram Moolenaar" For version 6.x: Quit when a syntax file was already loaded
13071d4279SBram Moolenaarif !exists("main_syntax")
1489bcfda6SBram Moolenaar  " quit when a syntax file was already loaded
1589bcfda6SBram Moolenaar  if exists("b:current_syntax")
16071d4279SBram Moolenaar    finish
17071d4279SBram Moolenaar  endif
18071d4279SBram Moolenaar  let main_syntax = 'webmacro'
19071d4279SBram Moolenaarendif
20071d4279SBram Moolenaar
21071d4279SBram Moolenaar
22071d4279SBram Moolenaarruntime! syntax/html.vim
23071d4279SBram Moolenaarunlet b:current_syntax
24071d4279SBram Moolenaar
25071d4279SBram Moolenaarsyn cluster htmlPreProc add=webmacroIf,webmacroUse,webmacroBraces,webmacroParse,webmacroInclude,webmacroSet,webmacroForeach,webmacroComment
26071d4279SBram Moolenaar
27071d4279SBram Moolenaarsyn match webmacroVariable "\$[a-zA-Z0-9.()]*;\="
28071d4279SBram Moolenaarsyn match webmacroNumber "[-+]\=\d\+[lL]\=" contained
29071d4279SBram Moolenaarsyn keyword webmacroBoolean true false contained
30071d4279SBram Moolenaarsyn match webmacroSpecial "\\." contained
31071d4279SBram Moolenaarsyn region  webmacroString   contained start=+"+ end=+"+ contains=webmacroSpecial,webmacroVariable
32071d4279SBram Moolenaarsyn region  webmacroString   contained start=+'+ end=+'+ contains=webmacroSpecial,webmacroVariable
33071d4279SBram Moolenaarsyn region webmacroList contained matchgroup=Structure start="\[" matchgroup=Structure end="\]" contains=webmacroString,webmacroVariable,webmacroNumber,webmacroBoolean,webmacroList
34071d4279SBram Moolenaar
35071d4279SBram Moolenaarsyn region webmacroIf start="#if" start="#else" end="{"me=e-1 contains=webmacroVariable,webmacroNumber,webmacroString,webmacroBoolean,webmacroList nextgroup=webmacroBraces
36071d4279SBram Moolenaarsyn region webmacroForeach start="#foreach" end="{"me=e-1 contains=webmacroVariable,webmacroNumber,webmacroString,webmacroBoolean,webmacroList nextgroup=webmacroBraces
37071d4279SBram Moolenaarsyn match webmacroSet "#set .*$" contains=webmacroVariable,webmacroNumber,webmacroNumber,webmacroBoolean,webmacroString,webmacroList
38071d4279SBram Moolenaarsyn match webmacroInclude "#include .*$" contains=webmacroVariable,webmacroNumber,webmacroNumber,webmacroBoolean,webmacroString,webmacroList
39071d4279SBram Moolenaarsyn match webmacroParse "#parse .*$" contains=webmacroVariable,webmacroNumber,webmacroNumber,webmacroBoolean,webmacroString,webmacroList
40071d4279SBram Moolenaarsyn region webmacroUse matchgroup=PreProc start="#use .*" matchgroup=PreProc end="^-.*" contains=webmacroHash,@HtmlTop
41071d4279SBram Moolenaarsyn region webmacroBraces matchgroup=Structure start="{" matchgroup=Structure end="}" contained transparent
42071d4279SBram Moolenaarsyn match webmacroBracesError "[{}]"
43071d4279SBram Moolenaarsyn match webmacroComment "##.*$"
44071d4279SBram Moolenaarsyn match webmacroHash "[#{}\$]" contained
45071d4279SBram Moolenaar
46071d4279SBram Moolenaar" Define the default highlighting.
4789bcfda6SBram Moolenaar" Only when an item doesn't have highlighting yet
48071d4279SBram Moolenaar
49*f37506f6SBram Moolenaarhi def link webmacroComment CommentTitle
50*f37506f6SBram Moolenaarhi def link webmacroVariable PreProc
51*f37506f6SBram Moolenaarhi def link webmacroIf webmacroStatement
52*f37506f6SBram Moolenaarhi def link webmacroForeach webmacroStatement
53*f37506f6SBram Moolenaarhi def link webmacroSet webmacroStatement
54*f37506f6SBram Moolenaarhi def link webmacroInclude webmacroStatement
55*f37506f6SBram Moolenaarhi def link webmacroParse webmacroStatement
56*f37506f6SBram Moolenaarhi def link webmacroStatement Function
57*f37506f6SBram Moolenaarhi def link webmacroNumber Number
58*f37506f6SBram Moolenaarhi def link webmacroBoolean Boolean
59*f37506f6SBram Moolenaarhi def link webmacroSpecial Special
60*f37506f6SBram Moolenaarhi def link webmacroString String
61*f37506f6SBram Moolenaarhi def link webmacroBracesError Error
62071d4279SBram Moolenaar
63071d4279SBram Moolenaarlet b:current_syntax = "webmacro"
64071d4279SBram Moolenaar
65071d4279SBram Moolenaarif main_syntax == 'webmacro'
66071d4279SBram Moolenaar  unlet main_syntax
67071d4279SBram Moolenaarendif
68