1" Vim syntax file 2" Language: SMIL (Synchronized Multimedia Integration Language) 3" Maintainer: Herve Foucher <[email protected]> 4" URL: http://www.helio.org/vim/syntax/smil.vim 5" Last Change: 2012 Feb 03 by Thilo Six 6 7" To learn more about SMIL, please refer to http://www.w3.org/AudioVideo/ 8" and to http://www.helio.org/products/smil/tutorial/ 9 10" quit when a syntax file was already loaded 11if exists("b:current_syntax") 12 finish 13endif 14 15let s:cpo_save = &cpo 16set cpo&vim 17 18" SMIL is case sensitive 19syn case match 20 21" illegal characters 22syn match smilError "[<>&]" 23syn match smilError "[()&]" 24 25if !exists("main_syntax") 26 let main_syntax = 'smil' 27endif 28 29" tags 30syn match smilSpecial contained "\\\d\d\d\|\\." 31syn match smilSpecial contained "(" 32syn match smilSpecial contained "id(" 33syn match smilSpecial contained ")" 34syn keyword smilSpecial contained remove freeze true false on off overdub caption new pause replace 35syn keyword smilSpecial contained first last 36syn keyword smilSpecial contained fill meet slice scroll hidden 37syn region smilString contained start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=smilSpecial 38syn region smilString contained start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=smilSpecial 39syn match smilValue contained "=[\t ]*[^'" \t>][^ \t>]*"hs=s+1 40syn region smilEndTag start=+</+ end=+>+ contains=smilTagN,smilTagError 41syn region smilTag start=+<[^/]+ end=+>+ contains=smilTagN,smilString,smilArg,smilValue,smilTagError,smilEvent,smilCssDefinition 42syn match smilTagN contained +<\s*[-a-zA-Z0-9]\++ms=s+1 contains=smilTagName,smilSpecialTagName 43syn match smilTagN contained +</\s*[-a-zA-Z0-9]\++ms=s+2 contains=smilTagName,smilSpecialTagName 44syn match smilTagError contained "[^>]<"ms=s+1 45 46" tag names 47syn keyword smilTagName contained smil head body anchor a switch region layout meta 48syn match smilTagName contained "root-layout" 49syn keyword smilTagName contained par seq 50syn keyword smilTagName contained animation video img audio ref text textstream 51syn match smilTagName contained "\<\(head\|body\)\>" 52 53 54" legal arg names 55syn keyword smilArg contained dur begin end href target id coords show title abstract author copyright alt 56syn keyword smilArg contained left top width height fit src name content fill longdesc repeat type 57syn match smilArg contained "z-index" 58syn match smilArg contained " end-sync" 59syn match smilArg contained " region" 60syn match smilArg contained "background-color" 61syn match smilArg contained "system-bitrate" 62syn match smilArg contained "system-captions" 63syn match smilArg contained "system-overdub-or-caption" 64syn match smilArg contained "system-language" 65syn match smilArg contained "system-required" 66syn match smilArg contained "system-screen-depth" 67syn match smilArg contained "system-screen-size" 68syn match smilArg contained "clip-begin" 69syn match smilArg contained "clip-end" 70syn match smilArg contained "skip-content" 71 72 73" SMIL Boston ext. 74" This are new SMIL functionnalities seen on www.w3.org on August 3rd 1999 75 76" Animation 77syn keyword smilTagName contained animate set move 78syn keyword smilArg contained calcMode from to by additive values origin path 79syn keyword smilArg contained accumulate hold attribute 80syn match smilArg contained "xml:link" 81syn keyword smilSpecial contained discrete linear spline parent layout 82syn keyword smilSpecial contained top left simple 83 84" Linking 85syn keyword smilTagName contained area 86syn keyword smilArg contained actuate behavior inline sourceVolume 87syn keyword smilArg contained destinationVolume destinationPlaystate tabindex 88syn keyword smilArg contained class style lang dir onclick ondblclick onmousedown onmouseup onmouseover onmousemove onmouseout onkeypress onkeydown onkeyup shape nohref accesskey onfocus onblur 89syn keyword smilSpecial contained play pause stop rect circ poly child par seq 90 91" Media Object 92syn keyword smilTagName contained rtpmap 93syn keyword smilArg contained port transport encoding payload clipBegin clipEnd 94syn match smilArg contained "fmt-list" 95 96" Timing and Synchronization 97syn keyword smilTagName contained excl 98syn keyword smilArg contained beginEvent endEvent eventRestart endSync repeatCount repeatDur 99syn keyword smilArg contained syncBehavior syncTolerance 100syn keyword smilSpecial contained canSlip locked 101 102" special characters 103syn match smilSpecialChar "&[^;]*;" 104 105if exists("smil_wrong_comments") 106 syn region smilComment start=+<!--+ end=+-->+ 107else 108 syn region smilComment start=+<!+ end=+>+ contains=smilCommentPart,smilCommentError 109 syn match smilCommentError contained "[^><!]" 110 syn region smilCommentPart contained start=+--+ end=+--+ 111endif 112syn region smilComment start=+<!DOCTYPE+ keepend end=+>+ 113 114" Define the default highlighting. 115" Only when an item doesn't have highlighting yet 116 117hi def link smilTag Function 118hi def link smilEndTag Identifier 119hi def link smilArg Type 120hi def link smilTagName smilStatement 121hi def link smilSpecialTagName Exception 122hi def link smilValue Value 123hi def link smilSpecialChar Special 124 125hi def link smilSpecial Special 126hi def link smilSpecialChar Special 127hi def link smilString String 128hi def link smilStatement Statement 129hi def link smilComment Comment 130hi def link smilCommentPart Comment 131hi def link smilPreProc PreProc 132hi def link smilValue String 133hi def link smilCommentError smilError 134hi def link smilTagError smilError 135hi def link smilError Error 136 137 138let b:current_syntax = "smil" 139 140if main_syntax == 'smil' 141 unlet main_syntax 142endif 143 144let &cpo = s:cpo_save 145unlet s:cpo_save 146" vim: ts=8 147