wml.vim (5731B)
1 " Vim syntax file 2 " Language: WML - Website MetaLanguage 3 " Maintainer: Gerfried Fuchs <alfie@ist.org> 4 " Filenames: *.wml 5 " Last Change: 07 Feb 2002 6 " URL: http://alfie.ist.org/software/vim/syntax/wml.vim 7 " 8 " Original Version: Craig Small <csmall@eye-net.com.au> 9 10 " Comments are very welcome - but please make sure that you are commenting on 11 " the latest version of this file. 12 " SPAM is _NOT_ welcome - be ready to be reported! 13 14 " If you are looking for the "Wireless Markup Language" syntax file, 15 " please take a look at the wap.vim file done by Ralf Schandl, soon in a 16 " vim-package around your corner :) 17 18 19 " quit when a syntax file was already loaded 20 if exists("b:current_syntax") 21 finish 22 endif 23 24 25 " A lot of the web stuff looks like HTML so we load that first 26 runtime! syntax/html.vim 27 unlet b:current_syntax 28 29 if !exists("main_syntax") 30 let main_syntax = 'wml' 31 endif 32 33 " special character 34 syn match wmlNextLine "\\$" 35 36 " Redfine htmlTag 37 syn clear htmlTag 38 syn region htmlTag start=+<[^/<]+ end=+>+ contains=htmlTagN,htmlString,htmlArg,htmlValue,htmlTagError,htmlEvent,htmlCssDefinition 39 40 " 41 " Add in extra Arguments used by wml 42 syn keyword htmlTagName contained gfont imgbg imgdot lowsrc 43 syn keyword htmlTagName contained navbar:define navbar:header 44 syn keyword htmlTagName contained navbar:footer navbar:prolog 45 syn keyword htmlTagName contained navbar:epilog navbar:button 46 syn keyword htmlTagName contained navbar:filter navbar:debug 47 syn keyword htmlTagName contained navbar:render 48 syn keyword htmlTagName contained preload rollover 49 syn keyword htmlTagName contained space hspace vspace over 50 syn keyword htmlTagName contained ps ds pi ein big sc spaced headline 51 syn keyword htmlTagName contained ue subheadline zwue verbcode 52 syn keyword htmlTagName contained isolatin pod sdf text url verbatim 53 syn keyword htmlTagName contained xtable 54 syn keyword htmlTagName contained csmap fsview import box 55 syn keyword htmlTagName contained case:upper case:lower 56 syn keyword htmlTagName contained grid cell info lang: logo page 57 syn keyword htmlTagName contained set-var restore 58 syn keyword htmlTagName contained array:push array:show set-var ifdef 59 syn keyword htmlTagName contained say m4 symbol dump enter divert 60 syn keyword htmlTagName contained toc 61 syn keyword htmlTagName contained wml card do refresh oneevent catch spawn 62 63 " 64 " The wml arguments 65 syn keyword htmlArg contained adjust background base bdcolor bdspace 66 syn keyword htmlArg contained bdwidth complete copyright created crop 67 syn keyword htmlArg contained direction description domainname eperlfilter 68 syn keyword htmlArg contained file hint imgbase imgstar interchar interline 69 syn keyword htmlArg contained keephr keepindex keywords layout spacing 70 syn keyword htmlArg contained padding nonetscape noscale notag notypo 71 syn keyword htmlArg contained onload oversrc pos select slices style 72 syn keyword htmlArg contained subselected txtcol_select txtcol_normal 73 syn keyword htmlArg contained txtonly via 74 syn keyword htmlArg contained mode columns localsrc ordered 75 76 77 " Lines starting with an # are usually comments 78 syn match wmlComment "^\s*#.*" 79 " The different exceptions to comments 80 syn match wmlSharpBang "^#!.*" 81 syn match wmlUsed contained "\s\s*[A-Za-z:_-]*" 82 syn match wmlUse "^\s*#\s*use\s\+" contains=wmlUsed 83 syn match wmlInclude "^\s*#\s*include.+" 84 85 syn region wmlBody contained start=+<<+ end=+>>+ 86 87 syn match wmlLocationId contained "[A-Za-z]\+" 88 syn region wmlLocation start=+<<+ end=+>>+ contains=wmlLocationId 89 "syn region wmlLocation start=+{#+ end=+#}+ contains=wmlLocationId 90 "syn region wmlLocationed contained start=+<<+ end=+>>+ contains=wmlLocationId 91 92 syn match wmlDivert "\.\.[a-zA-Z_]\+>>" 93 syn match wmlDivertEnd "<<\.\." 94 " new version 95 "syn match wmlDivert "{#[a-zA-Z_]\+#:" 96 "syn match wmlDivertEnd ":##}" 97 98 syn match wmlDefineName contained "\s\+[A-Za-z-]\+" 99 syn region htmlTagName start="\<\(define-tag\|define-region\)" end="\>" contains=wmlDefineName 100 101 " The perl include stuff 102 if main_syntax != 'perl' 103 " Perl script 104 syn include @wmlPerlScript syntax/perl.vim 105 unlet b:current_syntax 106 107 syn region perlScript start=+<perl>+ keepend end=+</perl>+ contains=@wmlPerlScript,wmlPerlTag 108 " eperl between '<:' and ':>' -- Alfie [1999-12-26] 109 syn region perlScript start=+<:+ keepend end=+:>+ contains=@wmlPerlScript,wmlPerlTag 110 syn match wmlPerlTag contained "</*perl>" contains=wmlPerlTagN 111 syn keyword wmlPerlTagN contained perl 112 113 hi link wmlPerlTag htmlTag 114 hi link wmlPerlTagN htmlStatement 115 endif 116 117 " verbatim tags -- don't highlight anything in between -- Alfie [2002-02-07] 118 syn region wmlVerbatimText start=+<verbatim>+ keepend end=+</verbatim>+ contains=wmlVerbatimTag 119 syn match wmlVerbatimTag contained "</*verbatim>" contains=wmlVerbatimTagN 120 syn keyword wmlVerbatimTagN contained verbatim 121 hi link wmlVerbatimTag htmlTag 122 hi link wmlVerbatimTagN htmlStatement 123 124 if main_syntax == "html" 125 syn sync match wmlHighlight groupthere NONE "</a-zA-Z]" 126 syn sync match wmlHighlight groupthere perlScript "<perl>" 127 syn sync match wmlHighlightSkip "^.*['\"].*$" 128 syn sync minlines=10 129 endif 130 131 " Define the default highlighting. 132 " Only when an item doesn't have highlighting yet 133 134 hi def link wmlNextLine Special 135 hi def link wmlUse Include 136 hi def link wmlUsed String 137 hi def link wmlBody Special 138 hi def link wmlDiverted Label 139 hi def link wmlDivert Delimiter 140 hi def link wmlDivertEnd Delimiter 141 hi def link wmlLocationId Label 142 hi def link wmlLocation Delimiter 143 " hi def link wmlLocationed Delimiter 144 hi def link wmlDefineName String 145 hi def link wmlComment Comment 146 hi def link wmlInclude Include 147 hi def link wmlSharpBang PreProc 148 149 150 let b:current_syntax = "wml"