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