" Vim syntax file " Language: WML - Website MetaLanguage " Maintainer: Gerfried Fuchs " Filenames: *.wml " Last Change: 07 Feb 2002 " URL: http://alfie.ist.org/software/vim/syntax/wml.vim " " Original Version: Craig Small " Comments are very welcome - but please make sure that you are commenting on " the latest version of this file. " SPAM is _NOT_ welcome - be ready to be reported! " If you are looking for the "Wireless Markup Language" syntax file, " please take a look at the wap.vim file done by Ralf Schandl, soon in a " vim-package around your corner :) " For version 5.x: Clear all syntax items " For version 6.x: Quit when a syntax file was already loaded if version < 600 syn clear elseif exists("b:current_syntax") finish endif " A lot of the web stuff looks like HTML so we load that first if version < 600 so :p:h/html.vim else runtime! syntax/html.vim endif unlet b:current_syntax if !exists("main_syntax") let main_syntax = 'wml' endif " special character syn match wmlNextLine "\\$" " Redfine htmlTag syn clear htmlTag syn region htmlTag start=+<[^/<]+ end=+>+ contains=htmlTagN,htmlString,htmlArg,htmlValue,htmlTagError,htmlEvent,htmlCssDefinition " " Add in extra Arguments used by wml syn keyword htmlTagName contained gfont imgbg imgdot lowsrc syn keyword htmlTagName contained navbar:define navbar:header syn keyword htmlTagName contained navbar:footer navbar:prolog syn keyword htmlTagName contained navbar:epilog navbar:button syn keyword htmlTagName contained navbar:filter navbar:debug syn keyword htmlTagName contained navbar:render syn keyword htmlTagName contained preload rollover syn keyword htmlTagName contained space hspace vspace over syn keyword htmlTagName contained ps ds pi ein big sc spaced headline syn keyword htmlTagName contained ue subheadline zwue verbcode syn keyword htmlTagName contained isolatin pod sdf text url verbatim syn keyword htmlTagName contained xtable syn keyword htmlTagName contained csmap fsview import box syn keyword htmlTagName contained case:upper case:lower syn keyword htmlTagName contained grid cell info lang: logo page syn keyword htmlTagName contained set-var restore syn keyword htmlTagName contained array:push array:show set-var ifdef syn keyword htmlTagName contained say m4 symbol dump enter divert syn keyword htmlTagName contained toc syn keyword htmlTagName contained wml card do refresh oneevent catch spawn " " The wml arguments syn keyword htmlArg contained adjust background base bdcolor bdspace syn keyword htmlArg contained bdwidth complete copyright created crop syn keyword htmlArg contained direction description domainname eperlfilter syn keyword htmlArg contained file hint imgbase imgstar interchar interline syn keyword htmlArg contained keephr keepindex keywords layout spacing syn keyword htmlArg contained padding nonetscape noscale notag notypo syn keyword htmlArg contained onload oversrc pos select slices style syn keyword htmlArg contained subselected txtcol_select txtcol_normal syn keyword htmlArg contained txtonly via syn keyword htmlArg contained mode columns localsrc ordered " Lines starting with an # are usually comments syn match wmlComment "^\s*#.*" " The different exceptions to comments syn match wmlSharpBang "^#!.*" syn match wmlUsed contained "\s\s*[A-Za-z:_-]*" syn match wmlUse "^\s*#\s*use\s\+" contains=wmlUsed syn match wmlInclude "^\s*#\s*include.+" syn region wmlBody contained start=+<<+ end=+>>+ syn match wmlLocationId contained "[A-Za-z]\+" syn region wmlLocation start=+<<+ end=+>>+ contains=wmlLocationId "syn region wmlLocation start=+{#+ end=+#}+ contains=wmlLocationId "syn region wmlLocationed contained start=+<<+ end=+>>+ contains=wmlLocationId syn match wmlDivert "\.\.[a-zA-Z_]\+>>" syn match wmlDivertEnd "<<\.\." " new version "syn match wmlDivert "{#[a-zA-Z_]\+#:" "syn match wmlDivertEnd ":##}" syn match wmlDefineName contained "\s\+[A-Za-z-]\+" syn region htmlTagName start="\<\(define-tag\|define-region\)" end="\>" contains=wmlDefineName " The perl include stuff if main_syntax != 'perl' " Perl script if version < 600 syn include @wmlPerlScript :p:h/perl.vim else syn include @wmlPerlScript syntax/perl.vim endif unlet b:current_syntax syn region perlScript start=++ keepend end=++ contains=@wmlPerlScript,wmlPerlTag " eperl between '<:' and ':>' -- Alfie [1999-12-26] syn region perlScript start=+<:+ keepend end=+:>+ contains=@wmlPerlScript,wmlPerlTag syn match wmlPerlTag contained "" contains=wmlPerlTagN syn keyword wmlPerlTagN contained perl hi link wmlPerlTag htmlTag hi link wmlPerlTagN htmlStatement endif " verbatim tags -- don't highlight anything in between -- Alfie [2002-02-07] syn region wmlVerbatimText start=++ keepend end=++ contains=wmlVerbatimTag syn match wmlVerbatimTag contained "" contains=wmlVerbatimTagN syn keyword wmlVerbatimTagN contained verbatim hi link wmlVerbatimTag htmlTag hi link wmlVerbatimTagN htmlStatement if main_syntax == "html" syn sync match wmlHighlight groupthere NONE "" syn sync match wmlHighlightSkip "^.*['\"].*$" syn sync minlines=10 endif " Define the default highlighting. " For version 5.7 and earlier: only when not done already " For version 5.8 and later: only when an item doesn't have highlighting yet if version >= 508 || !exists("did_wml_syn_inits") let did_wml_syn_inits = 1 if version < 508 let did_wml_syn_inits = 1 command -nargs=+ HiLink hi link else command -nargs=+ HiLink hi def link endif HiLink wmlNextLine Special HiLink wmlUse Include HiLink wmlUsed String HiLink wmlBody Special HiLink wmlDiverted Label HiLink wmlDivert Delimiter HiLink wmlDivertEnd Delimiter HiLink wmlLocationId Label HiLink wmlLocation Delimiter " HiLink wmlLocationed Delimiter HiLink wmlDefineName String HiLink wmlComment Comment HiLink wmlInclude Include HiLink wmlSharpBang PreProc delcommand HiLink endif let b:current_syntax = "wml"