xref: /vim-8.2.3635/runtime/syntax/smil.vim (revision f37506f6)
1071d4279SBram Moolenaar" Vim syntax file
2071d4279SBram Moolenaar" Language:	SMIL (Synchronized Multimedia Integration Language)
3071d4279SBram Moolenaar" Maintainer:	Herve Foucher <[email protected]>
4071d4279SBram Moolenaar" URL:		http://www.helio.org/vim/syntax/smil.vim
5b8ff1fb5SBram Moolenaar" Last Change:	2012 Feb 03 by Thilo Six
6071d4279SBram Moolenaar
7071d4279SBram Moolenaar" To learn more about SMIL, please refer to http://www.w3.org/AudioVideo/
8071d4279SBram Moolenaar" and to http://www.helio.org/products/smil/tutorial/
9071d4279SBram Moolenaar
1089bcfda6SBram Moolenaar" quit when a syntax file was already loaded
1189bcfda6SBram Moolenaarif exists("b:current_syntax")
12071d4279SBram Moolenaar  finish
13071d4279SBram Moolenaarendif
14071d4279SBram Moolenaar
15b8ff1fb5SBram Moolenaarlet s:cpo_save = &cpo
16b8ff1fb5SBram Moolenaarset cpo&vim
17b8ff1fb5SBram Moolenaar
18071d4279SBram Moolenaar" SMIL is case sensitive
19071d4279SBram Moolenaarsyn case match
20071d4279SBram Moolenaar
21071d4279SBram Moolenaar" illegal characters
22071d4279SBram Moolenaarsyn match smilError "[<>&]"
23071d4279SBram Moolenaarsyn match smilError "[()&]"
24071d4279SBram Moolenaar
25071d4279SBram Moolenaarif !exists("main_syntax")
26071d4279SBram Moolenaar  let main_syntax = 'smil'
27071d4279SBram Moolenaarendif
28071d4279SBram Moolenaar
29071d4279SBram Moolenaar" tags
30071d4279SBram Moolenaarsyn match   smilSpecial  contained "\\\d\d\d\|\\."
31071d4279SBram Moolenaarsyn match   smilSpecial  contained "("
32071d4279SBram Moolenaarsyn match   smilSpecial  contained "id("
33071d4279SBram Moolenaarsyn match   smilSpecial  contained ")"
34071d4279SBram Moolenaarsyn keyword smilSpecial  contained remove freeze true false on off overdub caption new pause replace
35071d4279SBram Moolenaarsyn keyword smilSpecial  contained first last
36071d4279SBram Moolenaarsyn keyword smilSpecial  contained fill meet slice scroll hidden
37071d4279SBram Moolenaarsyn region  smilString   contained start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=smilSpecial
38071d4279SBram Moolenaarsyn region  smilString   contained start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=smilSpecial
39071d4279SBram Moolenaarsyn match   smilValue    contained "=[\t ]*[^'" \t>][^ \t>]*"hs=s+1
40071d4279SBram Moolenaarsyn region  smilEndTag		   start=+</+	 end=+>+	      contains=smilTagN,smilTagError
41071d4279SBram Moolenaarsyn region  smilTag		   start=+<[^/]+ end=+>+	      contains=smilTagN,smilString,smilArg,smilValue,smilTagError,smilEvent,smilCssDefinition
42071d4279SBram Moolenaarsyn match   smilTagN     contained +<\s*[-a-zA-Z0-9]\++ms=s+1 contains=smilTagName,smilSpecialTagName
43071d4279SBram Moolenaarsyn match   smilTagN     contained +</\s*[-a-zA-Z0-9]\++ms=s+2 contains=smilTagName,smilSpecialTagName
44071d4279SBram Moolenaarsyn match   smilTagError contained "[^>]<"ms=s+1
45071d4279SBram Moolenaar
46071d4279SBram Moolenaar" tag names
47071d4279SBram Moolenaarsyn keyword smilTagName contained smil head body anchor a switch region layout meta
48071d4279SBram Moolenaarsyn match   smilTagName contained "root-layout"
49071d4279SBram Moolenaarsyn keyword smilTagName contained par seq
50071d4279SBram Moolenaarsyn keyword smilTagName contained animation video img audio ref text textstream
51071d4279SBram Moolenaarsyn match smilTagName contained "\<\(head\|body\)\>"
52071d4279SBram Moolenaar
53071d4279SBram Moolenaar
54071d4279SBram Moolenaar" legal arg names
55071d4279SBram Moolenaarsyn keyword smilArg contained dur begin end href target id coords show title abstract author copyright alt
56071d4279SBram Moolenaarsyn keyword smilArg contained left top width height fit src name content fill longdesc repeat type
57071d4279SBram Moolenaarsyn match   smilArg contained "z-index"
58071d4279SBram Moolenaarsyn match   smilArg contained " end-sync"
59071d4279SBram Moolenaarsyn match   smilArg contained " region"
60071d4279SBram Moolenaarsyn match   smilArg contained "background-color"
61071d4279SBram Moolenaarsyn match   smilArg contained "system-bitrate"
62071d4279SBram Moolenaarsyn match   smilArg contained "system-captions"
63071d4279SBram Moolenaarsyn match   smilArg contained "system-overdub-or-caption"
64071d4279SBram Moolenaarsyn match   smilArg contained "system-language"
65071d4279SBram Moolenaarsyn match   smilArg contained "system-required"
66071d4279SBram Moolenaarsyn match   smilArg contained "system-screen-depth"
67071d4279SBram Moolenaarsyn match   smilArg contained "system-screen-size"
68071d4279SBram Moolenaarsyn match   smilArg contained "clip-begin"
69071d4279SBram Moolenaarsyn match   smilArg contained "clip-end"
70071d4279SBram Moolenaarsyn match   smilArg contained "skip-content"
71071d4279SBram Moolenaar
72071d4279SBram Moolenaar
73071d4279SBram Moolenaar" SMIL Boston ext.
74071d4279SBram Moolenaar" This are new SMIL functionnalities seen on www.w3.org on August 3rd 1999
75071d4279SBram Moolenaar
76071d4279SBram Moolenaar" Animation
77071d4279SBram Moolenaarsyn keyword smilTagName contained animate set move
78071d4279SBram Moolenaarsyn keyword smilArg contained calcMode from to by additive values origin path
79071d4279SBram Moolenaarsyn keyword smilArg contained accumulate hold attribute
80071d4279SBram Moolenaarsyn match   smilArg contained "xml:link"
81071d4279SBram Moolenaarsyn keyword smilSpecial contained discrete linear spline parent layout
82071d4279SBram Moolenaarsyn keyword smilSpecial contained top left simple
83071d4279SBram Moolenaar
84071d4279SBram Moolenaar" Linking
85071d4279SBram Moolenaarsyn keyword smilTagName contained area
86071d4279SBram Moolenaarsyn keyword smilArg contained actuate behavior inline sourceVolume
87071d4279SBram Moolenaarsyn keyword smilArg contained destinationVolume destinationPlaystate tabindex
88071d4279SBram Moolenaarsyn keyword smilArg contained class style lang dir onclick ondblclick onmousedown onmouseup onmouseover onmousemove onmouseout onkeypress onkeydown onkeyup shape nohref accesskey onfocus onblur
89071d4279SBram Moolenaarsyn keyword smilSpecial contained play pause stop rect circ poly child par seq
90071d4279SBram Moolenaar
91071d4279SBram Moolenaar" Media Object
92071d4279SBram Moolenaarsyn keyword smilTagName contained rtpmap
93071d4279SBram Moolenaarsyn keyword smilArg contained port transport encoding payload clipBegin clipEnd
94071d4279SBram Moolenaarsyn match   smilArg contained "fmt-list"
95071d4279SBram Moolenaar
96071d4279SBram Moolenaar" Timing and Synchronization
97071d4279SBram Moolenaarsyn keyword smilTagName contained excl
98071d4279SBram Moolenaarsyn keyword smilArg contained beginEvent endEvent eventRestart endSync repeatCount repeatDur
99071d4279SBram Moolenaarsyn keyword smilArg contained syncBehavior syncTolerance
100071d4279SBram Moolenaarsyn keyword smilSpecial contained canSlip locked
101071d4279SBram Moolenaar
102071d4279SBram Moolenaar" special characters
103071d4279SBram Moolenaarsyn match smilSpecialChar "&[^;]*;"
104071d4279SBram Moolenaar
105071d4279SBram Moolenaarif exists("smil_wrong_comments")
106071d4279SBram Moolenaar  syn region smilComment		start=+<!--+	  end=+-->+
107071d4279SBram Moolenaarelse
108071d4279SBram Moolenaar  syn region smilComment		start=+<!+	  end=+>+   contains=smilCommentPart,smilCommentError
109071d4279SBram Moolenaar  syn match  smilCommentError contained "[^><!]"
110071d4279SBram Moolenaar  syn region smilCommentPart  contained start=+--+	  end=+--+
111071d4279SBram Moolenaarendif
112071d4279SBram Moolenaarsyn region smilComment		      start=+<!DOCTYPE+ keepend end=+>+
113071d4279SBram Moolenaar
114071d4279SBram Moolenaar" Define the default highlighting.
11589bcfda6SBram Moolenaar" Only when an item doesn't have highlighting yet
116071d4279SBram Moolenaar
117*f37506f6SBram Moolenaarhi def link smilTag			Function
118*f37506f6SBram Moolenaarhi def link smilEndTag			Identifier
119*f37506f6SBram Moolenaarhi def link smilArg			Type
120*f37506f6SBram Moolenaarhi def link smilTagName			smilStatement
121*f37506f6SBram Moolenaarhi def link smilSpecialTagName		Exception
122*f37506f6SBram Moolenaarhi def link smilValue			Value
123*f37506f6SBram Moolenaarhi def link smilSpecialChar		Special
124071d4279SBram Moolenaar
125*f37506f6SBram Moolenaarhi def link smilSpecial			Special
126*f37506f6SBram Moolenaarhi def link smilSpecialChar		Special
127*f37506f6SBram Moolenaarhi def link smilString			String
128*f37506f6SBram Moolenaarhi def link smilStatement			Statement
129*f37506f6SBram Moolenaarhi def link smilComment			Comment
130*f37506f6SBram Moolenaarhi def link smilCommentPart		Comment
131*f37506f6SBram Moolenaarhi def link smilPreProc			PreProc
132*f37506f6SBram Moolenaarhi def link smilValue			String
133*f37506f6SBram Moolenaarhi def link smilCommentError		smilError
134*f37506f6SBram Moolenaarhi def link smilTagError			smilError
135*f37506f6SBram Moolenaarhi def link smilError			Error
136071d4279SBram Moolenaar
137071d4279SBram Moolenaar
138071d4279SBram Moolenaarlet b:current_syntax = "smil"
139071d4279SBram Moolenaar
140071d4279SBram Moolenaarif main_syntax == 'smil'
141071d4279SBram Moolenaar  unlet main_syntax
142071d4279SBram Moolenaarendif
143071d4279SBram Moolenaar
144b8ff1fb5SBram Moolenaarlet &cpo = s:cpo_save
145b8ff1fb5SBram Moolenaarunlet s:cpo_save
146071d4279SBram Moolenaar" vim: ts=8
147