1071d4279SBram Moolenaar" Vim syntax file 2071d4279SBram Moolenaar" Language: WML - Website MetaLanguage 3071d4279SBram Moolenaar" Maintainer: Gerfried Fuchs <[email protected]> 4071d4279SBram Moolenaar" Filenames: *.wml 5071d4279SBram Moolenaar" Last Change: 07 Feb 2002 6071d4279SBram Moolenaar" URL: http://alfie.ist.org/software/vim/syntax/wml.vim 7071d4279SBram Moolenaar" 8071d4279SBram Moolenaar" Original Version: Craig Small <[email protected]> 9071d4279SBram Moolenaar 10071d4279SBram Moolenaar" Comments are very welcome - but please make sure that you are commenting on 11071d4279SBram Moolenaar" the latest version of this file. 12071d4279SBram Moolenaar" SPAM is _NOT_ welcome - be ready to be reported! 13071d4279SBram Moolenaar 14071d4279SBram Moolenaar" If you are looking for the "Wireless Markup Language" syntax file, 15071d4279SBram Moolenaar" please take a look at the wap.vim file done by Ralf Schandl, soon in a 16071d4279SBram Moolenaar" vim-package around your corner :) 17071d4279SBram Moolenaar 18071d4279SBram Moolenaar 1989bcfda6SBram Moolenaar" quit when a syntax file was already loaded 2089bcfda6SBram Moolenaarif exists("b:current_syntax") 21071d4279SBram Moolenaar finish 22071d4279SBram Moolenaarendif 23071d4279SBram Moolenaar 24071d4279SBram Moolenaar 25071d4279SBram Moolenaar" A lot of the web stuff looks like HTML so we load that first 26071d4279SBram Moolenaarruntime! syntax/html.vim 27071d4279SBram Moolenaarunlet b:current_syntax 28071d4279SBram Moolenaar 29071d4279SBram Moolenaarif !exists("main_syntax") 30071d4279SBram Moolenaar let main_syntax = 'wml' 31071d4279SBram Moolenaarendif 32071d4279SBram Moolenaar 33071d4279SBram Moolenaar" special character 34071d4279SBram Moolenaarsyn match wmlNextLine "\\$" 35071d4279SBram Moolenaar 36071d4279SBram Moolenaar" Redfine htmlTag 37071d4279SBram Moolenaarsyn clear htmlTag 38071d4279SBram Moolenaarsyn region htmlTag start=+<[^/<]+ end=+>+ contains=htmlTagN,htmlString,htmlArg,htmlValue,htmlTagError,htmlEvent,htmlCssDefinition 39071d4279SBram Moolenaar 40071d4279SBram Moolenaar" 41071d4279SBram Moolenaar" Add in extra Arguments used by wml 42071d4279SBram Moolenaarsyn keyword htmlTagName contained gfont imgbg imgdot lowsrc 43071d4279SBram Moolenaarsyn keyword htmlTagName contained navbar:define navbar:header 44071d4279SBram Moolenaarsyn keyword htmlTagName contained navbar:footer navbar:prolog 45071d4279SBram Moolenaarsyn keyword htmlTagName contained navbar:epilog navbar:button 46071d4279SBram Moolenaarsyn keyword htmlTagName contained navbar:filter navbar:debug 47071d4279SBram Moolenaarsyn keyword htmlTagName contained navbar:render 48071d4279SBram Moolenaarsyn keyword htmlTagName contained preload rollover 49071d4279SBram Moolenaarsyn keyword htmlTagName contained space hspace vspace over 50071d4279SBram Moolenaarsyn keyword htmlTagName contained ps ds pi ein big sc spaced headline 51071d4279SBram Moolenaarsyn keyword htmlTagName contained ue subheadline zwue verbcode 52071d4279SBram Moolenaarsyn keyword htmlTagName contained isolatin pod sdf text url verbatim 53071d4279SBram Moolenaarsyn keyword htmlTagName contained xtable 54071d4279SBram Moolenaarsyn keyword htmlTagName contained csmap fsview import box 55071d4279SBram Moolenaarsyn keyword htmlTagName contained case:upper case:lower 56071d4279SBram Moolenaarsyn keyword htmlTagName contained grid cell info lang: logo page 57071d4279SBram Moolenaarsyn keyword htmlTagName contained set-var restore 58071d4279SBram Moolenaarsyn keyword htmlTagName contained array:push array:show set-var ifdef 59071d4279SBram Moolenaarsyn keyword htmlTagName contained say m4 symbol dump enter divert 60071d4279SBram Moolenaarsyn keyword htmlTagName contained toc 61071d4279SBram Moolenaarsyn keyword htmlTagName contained wml card do refresh oneevent catch spawn 62071d4279SBram Moolenaar 63071d4279SBram Moolenaar" 64071d4279SBram Moolenaar" The wml arguments 65071d4279SBram Moolenaarsyn keyword htmlArg contained adjust background base bdcolor bdspace 66071d4279SBram Moolenaarsyn keyword htmlArg contained bdwidth complete copyright created crop 67071d4279SBram Moolenaarsyn keyword htmlArg contained direction description domainname eperlfilter 68071d4279SBram Moolenaarsyn keyword htmlArg contained file hint imgbase imgstar interchar interline 69071d4279SBram Moolenaarsyn keyword htmlArg contained keephr keepindex keywords layout spacing 70071d4279SBram Moolenaarsyn keyword htmlArg contained padding nonetscape noscale notag notypo 71071d4279SBram Moolenaarsyn keyword htmlArg contained onload oversrc pos select slices style 72071d4279SBram Moolenaarsyn keyword htmlArg contained subselected txtcol_select txtcol_normal 73071d4279SBram Moolenaarsyn keyword htmlArg contained txtonly via 74071d4279SBram Moolenaarsyn keyword htmlArg contained mode columns localsrc ordered 75071d4279SBram Moolenaar 76071d4279SBram Moolenaar 77071d4279SBram Moolenaar" Lines starting with an # are usually comments 78071d4279SBram Moolenaarsyn match wmlComment "^\s*#.*" 79071d4279SBram Moolenaar" The different exceptions to comments 80071d4279SBram Moolenaarsyn match wmlSharpBang "^#!.*" 81071d4279SBram Moolenaarsyn match wmlUsed contained "\s\s*[A-Za-z:_-]*" 82071d4279SBram Moolenaarsyn match wmlUse "^\s*#\s*use\s\+" contains=wmlUsed 83071d4279SBram Moolenaarsyn match wmlInclude "^\s*#\s*include.+" 84071d4279SBram Moolenaar 85071d4279SBram Moolenaarsyn region wmlBody contained start=+<<+ end=+>>+ 86071d4279SBram Moolenaar 87071d4279SBram Moolenaarsyn match wmlLocationId contained "[A-Za-z]\+" 88071d4279SBram Moolenaarsyn region wmlLocation start=+<<+ end=+>>+ contains=wmlLocationId 89071d4279SBram Moolenaar"syn region wmlLocation start=+{#+ end=+#}+ contains=wmlLocationId 90071d4279SBram Moolenaar"syn region wmlLocationed contained start=+<<+ end=+>>+ contains=wmlLocationId 91071d4279SBram Moolenaar 92071d4279SBram Moolenaarsyn match wmlDivert "\.\.[a-zA-Z_]\+>>" 93071d4279SBram Moolenaarsyn match wmlDivertEnd "<<\.\." 94071d4279SBram Moolenaar" new version 95071d4279SBram Moolenaar"syn match wmlDivert "{#[a-zA-Z_]\+#:" 96071d4279SBram Moolenaar"syn match wmlDivertEnd ":##}" 97071d4279SBram Moolenaar 98071d4279SBram Moolenaarsyn match wmlDefineName contained "\s\+[A-Za-z-]\+" 99071d4279SBram Moolenaarsyn region htmlTagName start="\<\(define-tag\|define-region\)" end="\>" contains=wmlDefineName 100071d4279SBram Moolenaar 101071d4279SBram Moolenaar" The perl include stuff 102071d4279SBram Moolenaarif main_syntax != 'perl' 103071d4279SBram Moolenaar " Perl script 104071d4279SBram Moolenaar syn include @wmlPerlScript syntax/perl.vim 105071d4279SBram Moolenaar unlet b:current_syntax 106071d4279SBram Moolenaar 107071d4279SBram Moolenaar syn region perlScript start=+<perl>+ keepend end=+</perl>+ contains=@wmlPerlScript,wmlPerlTag 108071d4279SBram Moolenaar" eperl between '<:' and ':>' -- Alfie [1999-12-26] 109071d4279SBram Moolenaar syn region perlScript start=+<:+ keepend end=+:>+ contains=@wmlPerlScript,wmlPerlTag 110071d4279SBram Moolenaar syn match wmlPerlTag contained "</*perl>" contains=wmlPerlTagN 111071d4279SBram Moolenaar syn keyword wmlPerlTagN contained perl 112071d4279SBram Moolenaar 113071d4279SBram Moolenaar hi link wmlPerlTag htmlTag 114071d4279SBram Moolenaar hi link wmlPerlTagN htmlStatement 115071d4279SBram Moolenaarendif 116071d4279SBram Moolenaar 117071d4279SBram Moolenaar" verbatim tags -- don't highlight anything in between -- Alfie [2002-02-07] 118071d4279SBram Moolenaarsyn region wmlVerbatimText start=+<verbatim>+ keepend end=+</verbatim>+ contains=wmlVerbatimTag 119071d4279SBram Moolenaarsyn match wmlVerbatimTag contained "</*verbatim>" contains=wmlVerbatimTagN 120071d4279SBram Moolenaarsyn keyword wmlVerbatimTagN contained verbatim 121071d4279SBram Moolenaarhi link wmlVerbatimTag htmlTag 122071d4279SBram Moolenaarhi link wmlVerbatimTagN htmlStatement 123071d4279SBram Moolenaar 124071d4279SBram Moolenaarif main_syntax == "html" 125071d4279SBram Moolenaar syn sync match wmlHighlight groupthere NONE "</a-zA-Z]" 126071d4279SBram Moolenaar syn sync match wmlHighlight groupthere perlScript "<perl>" 127071d4279SBram Moolenaar syn sync match wmlHighlightSkip "^.*['\"].*$" 128071d4279SBram Moolenaar syn sync minlines=10 129071d4279SBram Moolenaarendif 130071d4279SBram Moolenaar 131071d4279SBram Moolenaar" Define the default highlighting. 13289bcfda6SBram Moolenaar" Only when an item doesn't have highlighting yet 133071d4279SBram Moolenaar 134*f37506f6SBram Moolenaarhi def link wmlNextLine Special 135*f37506f6SBram Moolenaarhi def link wmlUse Include 136*f37506f6SBram Moolenaarhi def link wmlUsed String 137*f37506f6SBram Moolenaarhi def link wmlBody Special 138*f37506f6SBram Moolenaarhi def link wmlDiverted Label 139*f37506f6SBram Moolenaarhi def link wmlDivert Delimiter 140*f37506f6SBram Moolenaarhi def link wmlDivertEnd Delimiter 141*f37506f6SBram Moolenaarhi def link wmlLocationId Label 142*f37506f6SBram Moolenaarhi def link wmlLocation Delimiter 143*f37506f6SBram Moolenaar" hi def link wmlLocationed Delimiter 144*f37506f6SBram Moolenaarhi def link wmlDefineName String 145*f37506f6SBram Moolenaarhi def link wmlComment Comment 146*f37506f6SBram Moolenaarhi def link wmlInclude Include 147*f37506f6SBram Moolenaarhi def link wmlSharpBang PreProc 148071d4279SBram Moolenaar 149071d4279SBram Moolenaar 150071d4279SBram Moolenaarlet b:current_syntax = "wml" 151