neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

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