123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151 |
- " 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"
|