comparison vendor/vim-syntax/css.vim @ 634:ced2ee9efd9f

Update various syntaxes to the ones in vim repo
author nanaya <me@nanaya.pro>
date Tue, 17 Dec 2019 20:21:23 +0900
parents
children 673c14e2a45e
comparison
equal deleted inserted replaced
633:f382ac2f585e 634:ced2ee9efd9f
1 " Vim syntax file
2 " Language: Cascading Style Sheets
3 " Previous Contributor List:
4 " Claudio Fleiner <claudio@fleiner.com> (Maintainer)
5 " Yeti (Add full CSS2, HTML4 support)
6 " Nikolai Weibull (Add CSS2 support)
7 " URL: https://github.com/JulesWang/css.vim
8 " Maintainer: Jules Wang <w.jq0722@gmail.com>
9 " Last Change: 2019 Jul. 29
10
11 " quit when a syntax file was already loaded
12 if !exists("main_syntax")
13 if exists("b:current_syntax")
14 finish
15 endif
16 let main_syntax = 'css'
17 elseif exists("b:current_syntax") && b:current_syntax == "css"
18 finish
19 endif
20
21 let s:cpo_save = &cpo
22 set cpo&vim
23
24 syn case ignore
25
26 " HTML4 tags
27 syn keyword cssTagName abbr address area a b base
28 syn keyword cssTagName bdo blockquote body br button
29 syn keyword cssTagName caption cite code col colgroup dd del
30 syn keyword cssTagName dfn div dl dt em fieldset form
31 syn keyword cssTagName h1 h2 h3 h4 h5 h6 head hr html img i
32 syn keyword cssTagName iframe input ins isindex kbd label legend li
33 syn keyword cssTagName link map menu meta noscript ol optgroup
34 syn keyword cssTagName option p param pre q s samp script small
35 syn keyword cssTagName span strong sub sup tbody td
36 syn keyword cssTagName textarea tfoot th thead title tr ul u var
37 syn keyword cssTagName object svg
38 syn match cssTagName /\<select\>\|\<style\>\|\<table\>/
39
40 " 34 HTML5 tags
41 syn keyword cssTagName article aside audio bdi canvas command data
42 syn keyword cssTagName datalist details dialog embed figcaption figure footer
43 syn keyword cssTagName header hgroup keygen main mark menuitem meter nav
44 syn keyword cssTagName output progress rt rp ruby section
45 syn keyword cssTagName source summary time track video wbr
46
47 " Tags not supported in HTML5
48 " acronym applet basefont big center dir
49 " font frame frameset noframes strike tt
50
51 syn match cssTagName "\*"
52
53 " selectors
54 syn match cssSelectorOp "[,>+~]"
55 syn match cssSelectorOp2 "[~|^$*]\?=" contained
56 syn region cssAttributeSelector matchgroup=cssSelectorOp start="\[" end="]" contains=cssUnicodeEscape,cssSelectorOp2,cssStringQ,cssStringQQ
57
58 " .class and #id
59 syn match cssClassName "\.-\=[A-Za-z_][A-Za-z0-9_-]*" contains=cssClassNameDot
60 syn match cssClassNameDot contained '\.'
61
62 try
63 syn match cssIdentifier "#[A-Za-zĄ-’_@][A-Za-zĄ-’0-9_@-]*"
64 catch /^.*/
65 syn match cssIdentifier "#[A-Za-z_@][A-Za-z0-9_@-]*"
66 endtry
67
68 " digits
69 syn match cssValueInteger contained "[-+]\=\d\+" contains=cssUnitDecorators
70 syn match cssValueNumber contained "[-+]\=\d\+\(\.\d*\)\=" contains=cssUnitDecorators
71 syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=\(mm\|cm\|in\|pt\|pc\|em\|ex\|px\|rem\|dpi\|dppx\|dpcm\|fr\|vw\|vh\|vmin\|vmax\)\>" contains=cssUnitDecorators
72 syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=%" contains=cssUnitDecorators
73 syn match cssValueAngle contained "[-+]\=\d\+\(\.\d*\)\=\(deg\|grad\|rad\)\>" contains=cssUnitDecorators
74 syn match cssValueTime contained "+\=\d\+\(\.\d*\)\=\(ms\|s\)\>" contains=cssUnitDecorators
75 syn match cssValueFrequency contained "+\=\d\+\(\.\d*\)\=\(Hz\|kHz\)\>" contains=cssUnitDecorators
76
77 " The 16 basic color names
78 syn keyword cssColor contained aqua black blue fuchsia gray green lime maroon navy olive purple red silver teal yellow
79
80 " 130 more color names
81 syn keyword cssColor contained aliceblue antiquewhite aquamarine azure
82 syn keyword cssColor contained beige bisque blanchedalmond blueviolet brown burlywood
83 syn keyword cssColor contained cadetblue chartreuse chocolate coral cornflowerblue cornsilk crimson cyan
84 syn match cssColor contained /\<dark\(blue\|cyan\|goldenrod\|gray\|green\|grey\|khaki\)\>/
85 syn match cssColor contained /\<dark\(magenta\|olivegreen\|orange\|orchid\|red\|salmon\|seagreen\)\>/
86 syn match cssColor contained /\<darkslate\(blue\|gray\|grey\)\>/
87 syn match cssColor contained /\<dark\(turquoise\|violet\)\>/
88 syn keyword cssColor contained deeppink deepskyblue dimgray dimgrey dodgerblue firebrick
89 syn keyword cssColor contained floralwhite forestgreen gainsboro ghostwhite gold
90 syn keyword cssColor contained goldenrod greenyellow grey honeydew hotpink
91 syn keyword cssColor contained indianred indigo ivory khaki lavender lavenderblush lawngreen
92 syn keyword cssColor contained lemonchiffon limegreen linen magenta
93 syn match cssColor contained /\<light\(blue\|coral\|cyan\|goldenrodyellow\|gray\|green\)\>/
94 syn match cssColor contained /\<light\(grey\|pink\|salmon\|seagreen\|skyblue\|yellow\)\>/
95 syn match cssColor contained /\<light\(slategray\|slategrey\|steelblue\)\>/
96 syn match cssColor contained /\<medium\(aquamarine\|blue\|orchid\|purple\|seagreen\)\>/
97 syn match cssColor contained /\<medium\(slateblue\|springgreen\|turquoise\|violetred\)\>/
98 syn keyword cssColor contained midnightblue mintcream mistyrose moccasin navajowhite
99 syn keyword cssColor contained oldlace olivedrab orange orangered orchid
100 syn match cssColor contained /\<pale\(goldenrod\|green\|turquoise\|violetred\)\>/
101 syn keyword cssColor contained papayawhip peachpuff peru pink plum powderblue
102 syn keyword cssColor contained rosybrown royalblue rebeccapurple saddlebrown salmon
103 syn keyword cssColor contained sandybrown seagreen seashell sienna skyblue slateblue
104 syn keyword cssColor contained slategray slategrey snow springgreen steelblue tan
105 syn keyword cssColor contained thistle tomato turquoise violet wheat
106 syn keyword cssColor contained whitesmoke yellowgreen
107
108 " FIXME: These are actually case-insensitive too, but (a) specs recommend using
109 " mixed-case (b) it's hard to highlight the word `Background' correctly in
110 " all situations
111 syn case match
112 syn keyword cssColor contained ActiveBorder ActiveCaption AppWorkspace ButtonFace ButtonHighlight ButtonShadow ButtonText CaptionText GrayText Highlight HighlightText InactiveBorder InactiveCaption InactiveCaptionText InfoBackground InfoText Menu MenuText Scrollbar ThreeDDarkShadow ThreeDFace ThreeDHighlight ThreeDLightShadow ThreeDShadow Window WindowFrame WindowText Background
113 syn case ignore
114
115 syn match cssImportant contained "!\s*important\>"
116 syn match cssCustomProp contained "--[a-zA-Z0-9-_]*"
117
118 syn match cssColor contained "\<transparent\>"
119 syn match cssColor contained "\<currentColor\>"
120 syn match cssColor contained "\<white\>"
121 syn match cssColor contained "#\x\{3,4\}\>" contains=cssUnitDecorators
122 syn match cssColor contained "#\x\{6\}\>" contains=cssUnitDecorators
123 syn match cssColor contained "#\x\{8\}\>" contains=cssUnitDecorators
124
125 syn region cssURL contained matchgroup=cssFunctionName start="\<\(uri\|url\|local\|format\)\s*(" end=")" contains=cssStringQ,cssStringQQ oneline
126 syn region cssFunction contained matchgroup=cssFunctionName start="\<\(var\|calc\)\s*(" end=")" contains=cssCustomProp,cssValue.*,cssFunction,cssColor,cssStringQ,cssStringQQ oneline
127 syn region cssFunction contained matchgroup=cssFunctionName start="\<\(rgb\|clip\|attr\|counter\|rect\|cubic-bezier\|steps\)\s*(" end=")" oneline contains=cssValueInteger,cssValueNumber,cssValueLength,cssFunctionComma
128 syn region cssFunction contained matchgroup=cssFunctionName start="\<\(rgba\|hsl\|hsla\|color-stop\|from\|to\)\s*(" end=")" oneline contains=cssColor,cssValueInteger,cssValueNumber,cssValueLength,cssFunctionComma,cssFunction
129 syn region cssFunction contained matchgroup=cssFunctionName start="\<\(linear-\|radial-\)\=\gradient\s*(" end=")" oneline contains=cssColor,cssValueInteger,cssValueNumber,cssValueLength,cssFunction,cssGradientAttr,cssFunctionComma
130 syn region cssFunction contained matchgroup=cssFunctionName start="\<\(matrix\(3d\)\=\|scale\(3d\|X\|Y\|Z\)\=\|translate\(3d\|X\|Y\|Z\)\=\|skew\(X\|Y\)\=\|rotate\(3d\|X\|Y\|Z\)\=\|perspective\)\s*(" end=")" oneline contains=cssValueInteger,cssValueNumber,cssValueLength,cssValueAngle,cssFunctionComma
131 syn keyword cssGradientAttr contained top bottom left right cover center middle ellipse at
132 syn match cssFunctionComma contained ","
133
134 " Common Prop and Attr
135 syn keyword cssCommonAttr contained auto none inherit all default normal
136 syn keyword cssCommonAttr contained top bottom center stretch hidden visible
137 "------------------------------------------------
138 " CSS Animations
139 " http://www.w3.org/TR/css3-animations/
140 syn match cssAnimationProp contained "\<animation\(-\(delay\|direction\|duration\|fill-mode\|name\|play-state\|timing-function\|iteration-count\)\)\=\>"
141
142 " animation-direction attributes
143 syn keyword cssAnimationAttr contained alternate reverse
144 syn match cssAnimationAttr contained "\<alternate-reverse\>"
145
146 " animation-fill-mode attributes
147 syn keyword cssAnimationAttr contained forwards backwards both
148
149 " animation-play-state attributes
150 syn keyword cssAnimationAttr contained running paused
151
152 " animation-iteration-count attributes
153 syn keyword cssAnimationAttr contained infinite
154 "------------------------------------------------
155 " CSS Backgrounds and Borders Module Level 3
156 " http://www.w3.org/TR/css3-background/
157 syn match cssBackgroundProp contained "\<background\(-\(attachment\|clip\|color\|image\|origin\|position\|repeat\|size\)\)\=\>"
158 " background-attachment attributes
159 syn keyword cssBackgroundAttr contained scroll fixed local
160
161 " background-position attributes
162 syn keyword cssBackgroundAttr contained left center right top bottom
163
164 " background-repeat attributes
165 syn match cssBackgroundAttr contained "\<no-repeat\>"
166 syn match cssBackgroundAttr contained "\<repeat\(-[xy]\)\=\>"
167
168 " background-size attributes
169 syn keyword cssBackgroundAttr contained cover contain
170
171 syn match cssBorderProp contained "\<border\(-\(top\|right\|bottom\|left\)\)\=\(-\(width\|color\|style\)\)\=\>"
172 syn match cssBorderProp contained "\<border\(-\(top\|bottom\)-\(left\|right\)\)\=-radius\>"
173 syn match cssBorderProp contained "\<border-image\(-\(outset\|repeat\|slice\|source\|width\)\)\=\>"
174 syn match cssBorderProp contained "\<box-decoration-break\>"
175 syn match cssBorderProp contained "\<box-shadow\>"
176
177 " border-image attributes
178 syn keyword cssBorderAttr contained stretch round fill
179
180 " border-style attributes
181 syn keyword cssBorderAttr contained dotted dashed solid double groove ridge inset outset
182
183 " border-width attributes
184 syn keyword cssBorderAttr contained thin thick medium
185
186 " box-decoration-break attributes
187 syn keyword cssBorderAttr contained clone slice
188 "------------------------------------------------
189
190 syn match cssBoxProp contained "\<padding\(-\(top\|right\|bottom\|left\)\)\=\>"
191 syn match cssBoxProp contained "\<margin\(-\(top\|right\|bottom\|left\)\)\=\>"
192 syn match cssBoxProp contained "\<overflow\(-\(x\|y\|style\)\)\=\>"
193 syn match cssBoxProp contained "\<rotation\(-point\)\=\>"
194 syn keyword cssBoxAttr contained visible hidden scroll auto
195 syn match cssBoxAttr contained "\<no-\(display\|content\)\>"
196
197 syn keyword cssCascadeProp contained all
198 syn keyword cssCascadeAttr contained initial unset revert
199
200 syn keyword cssColorProp contained opacity
201 syn match cssColorProp contained "\<color-profile\>"
202 syn match cssColorProp contained "\<rendering-intent\>"
203
204
205 syn match cssDimensionProp contained "\<\(min\|max\)-\(width\|height\)\>"
206 syn keyword cssDimensionProp contained height
207 syn keyword cssDimensionProp contained width
208
209 " CSS Flexible Box Layout Module Level 1
210 " http://www.w3.org/TR/css3-flexbox/
211 " CSS Box Alignment Module Level 3
212 " http://www.w3.org/TR/css-align-3/
213 syn match cssFlexibleBoxProp contained "\<flex\(-\(direction\|wrap\|flow\|grow\|shrink\|basis\)\)\=\>"
214 syn match cssFlexibleBoxProp contained "\<\(align\|justify\)\(-\(items\|self\|content\)\)\=\>"
215 syn keyword cssFlexibleBoxProp contained order
216
217 syn match cssFlexibleBoxAttr contained "\<\(row\|column\|wrap\)\(-reverse\)\=\>"
218 syn keyword cssFlexibleBoxAttr contained nowrap stretch baseline center
219 syn match cssFlexibleBoxAttr contained "\<flex\(-\(start\|end\)\)\=\>"
220 syn match cssFlexibleBoxAttr contained "\<space\(-\(between\|around\)\)\=\>"
221
222 " CSS Fonts Module Level 3
223 " http://www.w3.org/TR/css-fonts-3/
224 syn match cssFontProp contained "\<font\(-\(family\|\|feature-settings\|kerning\|language-override\|size\(-adjust\)\=\|stretch\|style\|synthesis\|variant\(-\(alternates\|caps\|east-asian\|ligatures\|numeric\|position\)\)\=\|weight\)\)\=\>"
225
226 " font attributes
227 syn keyword cssFontAttr contained icon menu caption
228 syn match cssFontAttr contained "\<message-box\>"
229 syn match cssFontAttr contained "\<status-bar\>"
230 syn keyword cssFontAttr contained larger smaller
231 syn match cssFontAttr contained "\<\(x\{1,2\}-\)\=\(large\|small\)\>"
232 syn match cssFontAttr contained "\<small-\(caps\|caption\)\>"
233 " font-family attributes
234 syn match cssFontAttr contained "\<\(sans-\)\=serif\>"
235 syn keyword cssFontAttr contained Antiqua Arial Black Book Charcoal Comic Courier Dingbats Gadget Geneva Georgia Grande Helvetica Impact Linotype Lucida MS Monaco Neue New Palatino Roboto Roman Symbol Tahoma Times Trebuchet Verdana Webdings Wingdings York Zapf
236 syn keyword cssFontAttr contained cursive fantasy monospace
237 " font-feature-settings attributes
238 syn keyword cssFontAttr contained on off
239 " font-stretch attributes
240 syn match cssFontAttr contained "\<\(\(ultra\|extra\|semi\)-\)\=\(condensed\|expanded\)\>"
241 " font-style attributes
242 syn keyword cssFontAttr contained italic oblique
243 " font-synthesis attributes
244 syn keyword cssFontAttr contained weight style
245 " font-weight attributes
246 syn keyword cssFontAttr contained bold bolder lighter
247 " TODO: font-variant-* attributes
248 "------------------------------------------------
249
250 " Webkit specific property/attributes
251 syn match cssFontProp contained "\<font-smooth\>"
252 syn match cssFontAttr contained "\<\(subpixel-\)\=\antialiased\>"
253
254
255 " CSS Multi-column Layout Module
256 " http://www.w3.org/TR/css3-multicol/
257 syn match cssMultiColumnProp contained "\<break-\(after\|before\|inside\)\>"
258 syn match cssMultiColumnProp contained "\<column-\(count\|fill\|gap\|rule\(-\(color\|style\|width\)\)\=\|span\|width\)\>"
259 syn keyword cssMultiColumnProp contained columns
260 syn keyword cssMultiColumnAttr contained balance medium
261 syn keyword cssMultiColumnAttr contained always left right page column
262 syn match cssMultiColumnAttr contained "\<avoid\(-\(page\|column\)\)\=\>"
263
264 " http://www.w3.org/TR/css3-break/#page-break
265 syn match cssMultiColumnProp contained "\<page\(-break-\(before\|after\|inside\)\)\=\>"
266
267 " http://www.w3.org/TR/SVG11/interact.html
268 syn match cssInteractProp contained "\<pointer-events\>"
269 syn match cssInteractAttr contained "\<\(visible\)\=\(Painted\|Fill\|Stroke\)\=\>"
270
271 " TODO find following items in w3c docs.
272 syn keyword cssGeneratedContentProp contained quotes crop
273 syn match cssGeneratedContentProp contained "\<counter-\(reset\|increment\)\>"
274 syn match cssGeneratedContentProp contained "\<move-to\>"
275 syn match cssGeneratedContentProp contained "\<page-policy\>"
276 syn match cssGeneratedContentAttr contained "\<\(no-\)\=\(open\|close\)-quote\>"
277
278 " https://www.w3.org/TR/css-grid-1/
279 syn match cssGridProp contained "\<grid\>"
280 syn match cssGridProp contained "\<grid-template\(-\(columns\|rows\|areas\)\)\=\>"
281 syn match cssGridProp contained "\<grid-\(column\|row\)\(-\(start\|end\|gap\)\)\=\>"
282 syn match cssGridProp contained "\<grid-\(area\|gap\)\>"
283 syn match cssGridProp contained "\<grid-auto-\(flow\|rows\|columns\)\>"
284
285 syn match cssHyerlinkProp contained "\<target\(-\(name\|new\|position\)\)\=\>"
286
287 syn match cssListProp contained "\<list-style\(-\(type\|position\|image\)\)\=\>"
288 syn match cssListAttr contained "\<\(lower\|upper\)-\(roman\|alpha\|greek\|latin\)\>"
289 syn match cssListAttr contained "\<\(hiragana\|katakana\)\(-iroha\)\=\>"
290 syn match cssListAttr contained "\<\(decimal\(-leading-zero\)\=\|cjk-ideographic\)\>"
291 syn keyword cssListAttr contained disc circle square hebrew armenian georgian
292 syn keyword cssListAttr contained inside outside
293
294 syn keyword cssPositioningProp contained bottom clear clip display float left
295 syn keyword cssPositioningProp contained position right top visibility
296 syn match cssPositioningProp contained "\<z-index\>"
297 syn keyword cssPositioningAttr contained block compact grid
298 syn match cssPositioningAttr contained "\<table\(-\(row-group\|\(header\|footer\)-group\|row\|column\(-group\)\=\|cell\|caption\)\)\=\>"
299 syn keyword cssPositioningAttr contained left right both
300 syn match cssPositioningAttr contained "\<list-item\>"
301 syn match cssPositioningAttr contained "\<inline\(-\(block\|box\|table\|grid\|flex\)\)\=\>"
302 syn match cssPositioningAttr contained "\<flow\(-root\)\=\>"
303 syn keyword cssPositioningAttr contained static relative absolute fixed subgrid
304
305 syn keyword cssPrintAttr contained landscape portrait crop cross always
306
307 syn match cssTableProp contained "\<\(caption-side\|table-layout\|border-collapse\|border-spacing\|empty-cells\)\>"
308 syn keyword cssTableAttr contained fixed collapse separate show hide once always
309
310
311 syn keyword cssTextProp contained color direction hyphens
312 syn match cssTextProp "\<\(\(word\|letter\)-spacing\|text\(-\(decoration\|transform\|align\|index\|shadow\)\)\=\|vertical-align\|unicode-bidi\|line-height\)\>"
313 syn match cssTextProp contained "\<text-\(justify\|outline\|warp\|align-last\|size-adjust\|rendering\|stroke\|indent\)\>"
314 syn match cssTextProp contained "\<\(word\|line\)-break\|\(overflow\|word\)-wrap\>"
315 syn match cssTextProp contained "\<white-space\>"
316 syn match cssTextProp contained "\<hanging-punctuation\>"
317 syn match cssTextProp contained "\<tab-size\>"
318 syn match cssTextProp contained "\<punctuation-trim\>"
319 syn match cssTextAttr contained "\<line-through\>"
320 syn match cssTextAttr contained "\<\(text-\)\=\(top\|bottom\)\>"
321 syn keyword cssTextAttr contained ltr rtl embed nowrap
322 syn keyword cssTextAttr contained underline overline blink sub super middle
323 syn keyword cssTextAttr contained capitalize uppercase lowercase
324 syn keyword cssTextAttr contained justify baseline sub super
325 syn keyword cssTextAttr contained optimizeLegibility optimizeSpeed geometricPrecision
326 syn match cssTextAttr contained "\<pre\(-\(line\|wrap\)\)\=\>"
327 syn match cssTextAttr contained "\<\(allow\|force\)-end\>"
328 syn keyword cssTextAttr contained start end adjacent
329 syn match cssTextAttr contained "\<inter-\(word\|ideographic\|cluster\)\>"
330 syn keyword cssTextAttr contained distribute kashida first last
331 syn keyword cssTextAttr contained clip ellipsis unrestricted suppress
332 syn match cssTextAttr contained "\<break-all\>"
333 syn match cssTextAttr contained "\<break-word\>"
334 syn keyword cssTextAttr contained manual
335 syn match cssTextAttr contained "\<bidi-override\>"
336
337 syn match cssTransformProp contained "\<transform\(-\(origin\|style\)\)\=\>"
338 syn match cssTransformProp contained "\<perspective\(-origin\)\=\>"
339 syn match cssTransformProp contained "\<backface-visibility\>"
340
341 " CSS Transitions
342 " http://www.w3.org/TR/css3-transitions/
343 syn match cssTransitionProp contained "\<transition\(-\(delay\|duration\|property\|timing-function\)\)\=\>"
344
345 " transition-time-function attributes
346 syn match cssTransitionAttr contained "\<linear\(-gradient\)\@!\>"
347 syn match cssTransitionAttr contained "\<ease\(-\(in-out\|out\|in\)\)\=\>"
348 syn match cssTransitionAttr contained "\<step\(-start\|-end\)\=\>"
349 "------------------------------------------------
350 " CSS Basic User Interface Module Level 3 (CSS3 UI)
351 " http://www.w3.org/TR/css3-ui/
352 syn match cssUIProp contained "\<box-sizing\>"
353 syn match cssUIAttr contained "\<\(content\|padding\|border\)\(-box\)\=\>"
354
355 syn keyword cssUIProp contained cursor
356 syn match cssUIAttr contained "\<\(\([ns]\=[ew]\=\)\|col\|row\|nesw\|nwse\)-resize\>"
357 syn keyword cssUIAttr contained crosshair help move pointer alias copy
358 syn keyword cssUIAttr contained progress wait text cell move
359 syn match cssUIAttr contained "\<context-menu\>"
360 syn match cssUIAttr contained "\<no-drop\>"
361 syn match cssUIAttr contained "\<not-allowed\>"
362 syn match cssUIAttr contained "\<all-scroll\>"
363 syn match cssUIAttr contained "\<\(vertical-\)\=text\>"
364 syn match cssUIAttr contained "\<zoom\(-in\|-out\)\=\>"
365
366 syn match cssUIProp contained "\<ime-mode\>"
367 syn keyword cssUIAttr contained active inactive disabled
368
369 syn match cssUIProp contained "\<nav-\(down\|index\|left\|right\|up\)\=\>"
370 syn match cssUIProp contained "\<outline\(-\(width\|style\|color\|offset\)\)\=\>"
371 syn keyword cssUIAttr contained invert
372
373 syn keyword cssUIProp contained icon resize
374 syn keyword cssUIAttr contained both horizontal vertical
375
376 syn match cssUIProp contained "\<text-overflow\>"
377 syn keyword cssUIAttr contained clip ellipsis
378
379 syn match cssUIProp contained "\<image-rendering\>"
380 syn keyword cssUIAttr contained pixellated
381 syn match cssUIAttr contained "\<crisp-edges\>"
382
383 "------------------------------------------------
384 " Webkit/iOS specific attributes
385 syn match cssUIAttr contained '\<preserve-3d\>'
386 " IE specific attributes
387 syn match cssIEUIAttr contained '\<bicubic\>'
388
389 " Webkit/iOS specific properties
390 syn match cssUIProp contained '\<tap-highlight-color\|user-select\|touch-callout\>'
391 " IE specific properties
392 syn match cssIEUIProp contained '\<interpolation-mode\|zoom\|filter\>'
393
394 " Webkit/Firebox specific properties/attributes
395 syn keyword cssUIProp contained appearance
396 syn keyword cssUIAttr contained window button field icon document menu
397
398
399 syn match cssAuralProp contained "\<\(pause\|cue\)\(-\(before\|after\)\)\=\>"
400 syn match cssAuralProp contained "\<\(play-during\|speech-rate\|voice-family\|pitch\(-range\)\=\|speak\(-\(punctuation\|numeral\|header\)\)\=\)\>"
401 syn keyword cssAuralProp contained volume during azimuth elevation stress richness
402 syn match cssAuralAttr contained "\<\(x-\)\=\(soft\|loud\)\>"
403 syn keyword cssAuralAttr contained silent
404 syn match cssAuralAttr contained "\<spell-out\>"
405 syn keyword cssAuralAttr contained non mix
406 syn match cssAuralAttr contained "\<\(left\|right\)-side\>"
407 syn match cssAuralAttr contained "\<\(far\|center\)-\(left\|center\|right\)\>"
408 syn keyword cssAuralAttr contained leftwards rightwards behind
409 syn keyword cssAuralAttr contained below level above lower higher
410 syn match cssAuralAttr contained "\<\(x-\)\=\(slow\|fast\|low\|high\)\>"
411 syn keyword cssAuralAttr contained faster slower
412 syn keyword cssAuralAttr contained male female child code digits continuous
413
414 " mobile text
415 syn match cssMobileTextProp contained "\<text-size-adjust\>"
416
417 syn keyword cssMediaProp contained width height orientation scan
418 syn match cssMediaProp contained /\(\(max\|min\)-\)\=\(\(device\)-\)\=aspect-ratio/
419 syn match cssMediaProp contained /\(\(max\|min\)-\)\=device-pixel-ratio/
420 syn match cssMediaProp contained /\(\(max\|min\)-\)\=device-\(height\|width\)/
421 syn match cssMediaProp contained /\(\(max\|min\)-\)\=\(height\|width\|resolution\|monochrome\|color\(-index\)\=\)/
422 syn keyword cssMediaAttr contained portrait landscape progressive interlace
423 syn match cssKeyFrameProp contained /\(\d\+\(\.\d\+\)\?%\|\(\<from\|to\>\)\)/ nextgroup=cssDefinition
424 syn match cssPageMarginProp /@\(\(top\|left\|right\|bottom\)-\(left\|center\|right\|middle\|bottom\)\)\(-corner\)\=/ contained nextgroup=cssDefinition
425 syn keyword cssPageProp contained content size
426 syn keyword cssPageProp contained orphans widows
427 syn keyword cssFontDescriptorProp contained src
428 syn match cssFontDescriptorProp contained "\<unicode-range\>"
429 " unicode-range attributes
430 syn match cssFontDescriptorAttr contained "U+[0-9A-Fa-f?]\+"
431 syn match cssFontDescriptorAttr contained "U+\x\+-\x\+"
432
433 syn match cssBraces contained "[{}]"
434 syn match cssError contained "{@<>"
435 syn region cssDefinition transparent matchgroup=cssBraces start='{' end='}' contains=cssTagName,cssAttributeSelector,cssClassName,cssIdentifier,cssAtRule,cssAttrRegion,css.*Prop,cssComment,cssValue.*,cssColor,cssURL,cssImportant,cssCustomProp,cssError,cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape,cssVendor,cssDefinition,cssHacks,cssNoise fold
436 syn match cssBraceError "}"
437 syn match cssAttrComma ","
438
439 " Pseudo class
440 " http://www.w3.org/TR/css3-selectors/
441 syn match cssPseudoClass ":[A-Za-z0-9_-]*" contains=cssNoise,cssPseudoClassId,cssUnicodeEscape,cssVendor,cssPseudoClassFn
442 syn keyword cssPseudoClassId contained link visited active hover before after left right
443 syn keyword cssPseudoClassId contained root empty target enable disabled checked invalid
444 syn match cssPseudoClassId contained "\<first-\(line\|letter\)\>"
445 syn match cssPseudoClassId contained "\<\(first\|last\|only\)-\(of-type\|child\)\>"
446 syn region cssPseudoClassFn contained matchgroup=cssFunctionName start="\<\(not\|lang\|\(nth\|nth-last\)-\(of-type\|child\)\)(" end=")" contains=cssStringQ,cssStringQQ
447 " ------------------------------------
448 " Vendor specific properties
449 syn match cssPseudoClassId contained "\<selection\>"
450 syn match cssPseudoClassId contained "\<focus\(-inner\)\=\>"
451 syn match cssPseudoClassId contained "\<\(input-\)\=placeholder\>"
452
453 " Misc highlight groups
454 syntax match cssUnitDecorators /\(#\|-\|+\|%\|mm\|cm\|in\|pt\|pc\|em\|ex\|px\|ch\|rem\|vh\|vw\|vmin\|vmax\|dpi\|dppx\|dpcm\|Hz\|kHz\|s\|ms\|deg\|grad\|rad\)/ contained
455 syntax match cssNoise contained /\(:\|;\|\/\)/
456
457 " Comment
458 syn region cssComment start="/\*" end="\*/" contains=@Spell fold
459
460 syn match cssUnicodeEscape "\\\x\{1,6}\s\?"
461 syn match cssSpecialCharQQ +\\\\\|\\"+ contained
462 syn match cssSpecialCharQ +\\\\\|\\'+ contained
463 syn region cssStringQQ start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=cssUnicodeEscape,cssSpecialCharQQ
464 syn region cssStringQ start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=cssUnicodeEscape,cssSpecialCharQ
465
466 " Vendor Prefix
467 syn match cssVendor contained "-\(webkit\|moz\|o\|ms\)-"
468
469 " Various CSS Hack characters
470 " In earlier versions of IE (6 and 7), one can prefix property names
471 " with a _ or * to isolate those definitions to particular versions of IE
472 " This is purely decorative and therefore we assign to the same highlight
473 " group to cssVendor, for more information:
474 " http://www.paulirish.com/2009/browser-specific-css-hacks/
475 syn match cssHacks contained /\(_\|*\)/
476
477 " Attr Enhance
478 " Some keywords are both Prop and Attr, so we have to handle them
479 " cssPseudoClassId is hidden by cssAttrRegion, so we add it here. see #69
480 syn region cssAttrRegion start=/:/ end=/\ze\(;\|)\|}\|{\)/ contained contains=cssPseudoClassId,css.*Attr,cssColor,cssImportant,cssValue.*,cssFunction,cssString.*,cssURL,cssComment,cssUnicodeEscape,cssVendor,cssError,cssAttrComma,cssNoise
481
482 " Hack for transition
483 " 'transition' has Props after ':'.
484 syn region cssAttrRegion start=/transition\s*:/ end=/\ze\(;\|)\|}\)/ contained contains=css.*Prop,css.*Attr,cssColor,cssImportant,cssValue.*,cssFunction,cssString.*,cssURL,cssComment,cssUnicodeEscape,cssVendor,cssError,cssAttrComma,cssNoise
485
486 syn match cssAtKeyword /@\(font-face\|media\|keyframes\|import\|charset\|namespace\|page\|supports\)/
487
488 syn keyword cssAtRuleLogical only not and contained
489
490 " @media
491 " Reference: http://www.w3.org/TR/css3-mediaqueries/
492 syn region cssAtRule start=/@media\>/ end=/\ze{/ skipwhite skipnl matchgroup=cssAtKeyword contains=cssMediaProp,cssValueLength,cssAtRuleLogical,cssValueInteger,cssMediaAttr,cssVendor,cssMediaType,cssComment,cssCustomProp,cssFunctionName nextgroup=cssDefinition
493 syn keyword cssMediaType contained screen print aural braille embossed handheld projection tty tv speech all contained
494
495 " @page
496 " http://www.w3.org/TR/css3-page/
497 syn region cssAtRule start=/@page\>/ end=/\ze{/ skipwhite skipnl matchgroup=cssAtKeyword contains=cssPagePseudo,cssComment nextgroup=cssDefinition
498 syn match cssPagePseudo /:\(left\|right\|first\|blank\)/ contained skipwhite skipnl
499 " @keyframe
500 " http://www.w3.org/TR/css3-animations/#keyframes
501 syn region cssAtRule start=/@\(-[a-z]\+-\)\=keyframes\>/ end=/\ze{/ skipwhite skipnl matchgroup=cssAtKeyword contains=cssVendor,cssComment nextgroup=cssDefinition
502
503 syn region cssAtRule start=/@import\>/ end=/\ze;/ contains=cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment,cssAtKeyword,cssURL,cssMediaProp,cssValueLength,cssAtRuleLogical,cssValueInteger,cssMediaAttr,cssMediaType
504 syn region cssAtRule start=/@charset\>/ end=/\ze;/ contains=cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment,cssAtKeyword
505 syn region cssAtRule start=/@namespace\>/ end=/\ze;/ contains=cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment,cssAtKeyword
506
507 " @supports
508 " https://www.w3.org/TR/css3-conditional/#at-supports
509 syn region cssAtRule start=/@supports\>/ end=/\ze{/ skipwhite skipnl contains=cssAtRuleLogical,cssAttrRegion,css.*Prop,cssValue.*,cssVendor,cssAtKeyword,cssComment nextgroup=cssDefinition
510
511
512 if main_syntax == "css"
513 syn sync minlines=10
514 endif
515
516 " Define the default highlighting.
517 " Only when an item doesn't have highlighting yet
518
519 hi def link cssComment Comment
520 hi def link cssVendor Comment
521 hi def link cssHacks Comment
522 hi def link cssTagName Statement
523 hi def link cssDeprecated Error
524 hi def link cssSelectorOp Special
525 hi def link cssSelectorOp2 Special
526 hi def link cssAttrComma Special
527
528 hi def link cssAnimationProp cssProp
529 hi def link cssBackgroundProp cssProp
530 hi def link cssBorderProp cssProp
531 hi def link cssBoxProp cssProp
532 hi def link cssCascadeProp cssProp
533 hi def link cssColorProp cssProp
534 hi def link cssContentForPagedMediaProp cssProp
535 hi def link cssDimensionProp cssProp
536 hi def link cssFlexibleBoxProp cssProp
537 hi def link cssFontProp cssProp
538 hi def link cssGeneratedContentProp cssProp
539 hi def link cssGridProp cssProp
540 hi def link cssHyerlinkProp cssProp
541 hi def link cssInteractProp cssProp
542 hi def link cssLineboxProp cssProp
543 hi def link cssListProp cssProp
544 hi def link cssMarqueeProp cssProp
545 hi def link cssMultiColumnProp cssProp
546 hi def link cssPagedMediaProp cssProp
547 hi def link cssPositioningProp cssProp
548 hi def link cssPrintProp cssProp
549 hi def link cssRubyProp cssProp
550 hi def link cssSpeechProp cssProp
551 hi def link cssTableProp cssProp
552 hi def link cssTextProp cssProp
553 hi def link cssTransformProp cssProp
554 hi def link cssTransitionProp cssProp
555 hi def link cssUIProp cssProp
556 hi def link cssIEUIProp cssProp
557 hi def link cssAuralProp cssProp
558 hi def link cssRenderProp cssProp
559 hi def link cssMobileTextProp cssProp
560
561 hi def link cssAnimationAttr cssAttr
562 hi def link cssBackgroundAttr cssAttr
563 hi def link cssBorderAttr cssAttr
564 hi def link cssBoxAttr cssAttr
565 hi def link cssContentForPagedMediaAttr cssAttr
566 hi def link cssDimensionAttr cssAttr
567 hi def link cssFlexibleBoxAttr cssAttr
568 hi def link cssFontAttr cssAttr
569 hi def link cssGeneratedContentAttr cssAttr
570 hi def link cssGridAttr cssAttr
571 hi def link cssHyerlinkAttr cssAttr
572 hi def link cssInteractAttr cssAttr
573 hi def link cssLineboxAttr cssAttr
574 hi def link cssListAttr cssAttr
575 hi def link cssMarginAttr cssAttr
576 hi def link cssMarqueeAttr cssAttr
577 hi def link cssMultiColumnAttr cssAttr
578 hi def link cssPaddingAttr cssAttr
579 hi def link cssPagedMediaAttr cssAttr
580 hi def link cssPositioningAttr cssAttr
581 hi def link cssGradientAttr cssAttr
582 hi def link cssPrintAttr cssAttr
583 hi def link cssRubyAttr cssAttr
584 hi def link cssSpeechAttr cssAttr
585 hi def link cssTableAttr cssAttr
586 hi def link cssTextAttr cssAttr
587 hi def link cssTransformAttr cssAttr
588 hi def link cssTransitionAttr cssAttr
589 hi def link cssUIAttr cssAttr
590 hi def link cssIEUIAttr cssAttr
591 hi def link cssAuralAttr cssAttr
592 hi def link cssRenderAttr cssAttr
593 hi def link cssCascadeAttr cssAttr
594 hi def link cssCommonAttr cssAttr
595
596 hi def link cssPseudoClassId PreProc
597 hi def link cssPseudoClassLang Constant
598 hi def link cssValueLength Number
599 hi def link cssValueInteger Number
600 hi def link cssValueNumber Number
601 hi def link cssValueAngle Number
602 hi def link cssValueTime Number
603 hi def link cssValueFrequency Number
604 hi def link cssFunction Constant
605 hi def link cssURL String
606 hi def link cssFunctionName Function
607 hi def link cssFunctionComma Function
608 hi def link cssColor Constant
609 hi def link cssIdentifier Function
610 hi def link cssAtRule Include
611 hi def link cssAtKeyword PreProc
612 hi def link cssImportant Special
613 hi def link cssCustomProp Special
614 hi def link cssBraces Function
615 hi def link cssBraceError Error
616 hi def link cssError Error
617 hi def link cssUnicodeEscape Special
618 hi def link cssStringQQ String
619 hi def link cssStringQ String
620 hi def link cssAttributeSelector String
621 hi def link cssMediaType Special
622 hi def link cssMediaComma Normal
623 hi def link cssAtRuleLogical Statement
624 hi def link cssMediaProp cssProp
625 hi def link cssMediaAttr cssAttr
626 hi def link cssPagePseudo PreProc
627 hi def link cssPageMarginProp cssAtKeyword
628 hi def link cssPageProp cssProp
629 hi def link cssKeyFrameProp Constant
630 hi def link cssFontDescriptor Special
631 hi def link cssFontDescriptorProp cssProp
632 hi def link cssFontDescriptorAttr cssAttr
633 hi def link cssUnicodeRange Constant
634 hi def link cssClassName Function
635 hi def link cssClassNameDot Function
636 hi def link cssProp StorageClass
637 hi def link cssAttr Constant
638 hi def link cssUnitDecorators Number
639 hi def link cssNoise Noise
640
641 let b:current_syntax = "css"
642
643 if main_syntax == 'css'
644 unlet main_syntax
645 endif
646
647 let &cpo = s:cpo_save
648 unlet s:cpo_save
649 " vim: ts=8
650