mirror of
https://github.com/neovim/neovim.git
synced 2024-12-20 19:25:11 -07:00
173 lines
6.1 KiB
VimL
173 lines
6.1 KiB
VimL
|
" 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 :)
|
||
|
|
||
|
|
||
|
" 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 <sfile>: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 <sfile>:p:h/perl.vim
|
||
|
else
|
||
|
syn include @wmlPerlScript syntax/perl.vim
|
||
|
endif
|
||
|
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.
|
||
|
" 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 <args>
|
||
|
else
|
||
|
command -nargs=+ HiLink hi def link <args>
|
||
|
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"
|