diff options
Diffstat (limited to 'runtime/syntax/wml.vim')
-rw-r--r-- | runtime/syntax/wml.vim | 150 |
1 files changed, 150 insertions, 0 deletions
diff --git a/runtime/syntax/wml.vim b/runtime/syntax/wml.vim new file mode 100644 index 0000000..73bf822 --- /dev/null +++ b/runtime/syntax/wml.vim @@ -0,0 +1,150 @@ +" Vim syntax file +" Language: WML - Website MetaLanguage +" Maintainer: Gerfried Fuchs <alfie@ist.org> +" Filenames: *.wml +" Last Change: 07 Feb 2002 +" URL: http://alfie.ist.org/software/vim/syntax/wml.vim +" +" Original Version: Craig Small <csmall@eye-net.com.au> + +" 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 :) + + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + + +" A lot of the web stuff looks like HTML so we load that first +runtime! syntax/html.vim +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 + syn include @wmlPerlScript syntax/perl.vim + unlet b:current_syntax + + syn region perlScript start=+<perl>+ keepend end=+</perl>+ contains=@wmlPerlScript,wmlPerlTag +" eperl between '<:' and ':>' -- Alfie [1999-12-26] + syn region perlScript start=+<:+ keepend end=+:>+ contains=@wmlPerlScript,wmlPerlTag + syn match wmlPerlTag contained "</*perl>" 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=+<verbatim>+ keepend end=+</verbatim>+ contains=wmlVerbatimTag +syn match wmlVerbatimTag contained "</*verbatim>" 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 "</a-zA-Z]" + syn sync match wmlHighlight groupthere perlScript "<perl>" + syn sync match wmlHighlightSkip "^.*['\"].*$" + syn sync minlines=10 +endif + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +hi def link wmlNextLine Special +hi def link wmlUse Include +hi def link wmlUsed String +hi def link wmlBody Special +hi def link wmlDiverted Label +hi def link wmlDivert Delimiter +hi def link wmlDivertEnd Delimiter +hi def link wmlLocationId Label +hi def link wmlLocation Delimiter +" hi def link wmlLocationed Delimiter +hi def link wmlDefineName String +hi def link wmlComment Comment +hi def link wmlInclude Include +hi def link wmlSharpBang PreProc + + +let b:current_syntax = "wml" |