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