Mercurial > ec-dotfiles
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 |