xref: /vim-8.2.3635/runtime/syntax/css.vim (revision 18441ae2)
1071d4279SBram Moolenaar" Vim syntax file
2071d4279SBram Moolenaar" Language:     Cascading Style Sheets
3d09acef4SBram Moolenaar" Previous Contributor List:
4d09acef4SBram Moolenaar"               Claudio Fleiner <[email protected]> (Maintainer)
5d09acef4SBram Moolenaar"               Yeti            (Add full CSS2, HTML4 support)
6d09acef4SBram Moolenaar"               Nikolai Weibull (Add CSS2 support)
7d09acef4SBram Moolenaar" Maintainer:   Jules Wang      <[email protected]>
83a0d8090SBram Moolenaar" URL:          https://github.com/JulesWang/css.vim
9*18441ae2SBram Moolenaar" Last Change:  2013 Sep 24
10071d4279SBram Moolenaar
11071d4279SBram Moolenaar" For version 5.x: Clear all syntax items
12071d4279SBram Moolenaar" For version 6.x: Quit when a syntax file was already loaded
13071d4279SBram Moolenaarif !exists("main_syntax")
14071d4279SBram Moolenaar  if version < 600
15071d4279SBram Moolenaar    syntax clear
16071d4279SBram Moolenaar  elseif exists("b:current_syntax")
17071d4279SBram Moolenaar    finish
18071d4279SBram Moolenaar  endif
19071d4279SBram Moolenaar  let main_syntax = 'css'
20e2db695dSBram Moolenaarelseif exists("b:current_syntax") && b:current_syntax == "css"
21e2db695dSBram Moolenaar  finish
22071d4279SBram Moolenaarendif
23071d4279SBram Moolenaar
240c5fa7d7SBram Moolenaarlet s:cpo_save = &cpo
250c5fa7d7SBram Moolenaarset cpo&vim
260c5fa7d7SBram Moolenaar
27071d4279SBram Moolenaarsyn case ignore
28071d4279SBram Moolenaar
29d09acef4SBram Moolenaar" All HTML4 tags
30071d4279SBram Moolenaarsyn keyword cssTagName abbr acronym address applet area a b base
31071d4279SBram Moolenaarsyn keyword cssTagName basefont bdo big blockquote body br button
32071d4279SBram Moolenaarsyn keyword cssTagName caption center cite code col colgroup dd del
33071d4279SBram Moolenaarsyn keyword cssTagName dfn dir div dl dt em fieldset font form frame
34071d4279SBram Moolenaarsyn keyword cssTagName frameset h1 h2 h3 h4 h5 h6 head hr html img i
35071d4279SBram Moolenaarsyn keyword cssTagName iframe img input ins isindex kbd label legend li
36071d4279SBram Moolenaarsyn keyword cssTagName link map menu meta noframes noscript ol optgroup
37071d4279SBram Moolenaarsyn keyword cssTagName option p param pre q s samp script select small
38d09acef4SBram Moolenaarsyn keyword cssTagName span strike strong style sub sup table tbody td
39071d4279SBram Moolenaarsyn keyword cssTagName textarea tfoot th thead title tr tt ul u var
40baca7f70SBram Moolenaarsyn keyword cssTagName object svg
41d09acef4SBram Moolenaar
42baca7f70SBram Moolenaar" 34 HTML5 tags
43baca7f70SBram Moolenaarsyn keyword cssTagName article aside audio bdi canvas command data
44baca7f70SBram Moolenaarsyn keyword cssTagName datalist details dialog embed figcaption figure footer
45baca7f70SBram Moolenaarsyn keyword cssTagName header hgroup keygen main mark menuitem meter nav
46d09acef4SBram Moolenaarsyn keyword cssTagName output progress rt rp ruby section
47d09acef4SBram Moolenaarsyn keyword cssTagName source summary time track video wbr
48d09acef4SBram Moolenaar
49d09acef4SBram Moolenaar" Tags not supported in HTML5
50d09acef4SBram Moolenaarsyn keyword cssDeprecated acronym applet basefont big center dir
51d09acef4SBram Moolenaarsyn keyword cssDeprecated font frame frameset noframes strike tt
52d09acef4SBram Moolenaar
53071d4279SBram Moolenaarsyn match cssTagName "\*"
54071d4279SBram Moolenaar
55d09acef4SBram Moolenaar" selectors
56baca7f70SBram Moolenaarsyn match cssSelectorOp "[,>+~]"
57d09acef4SBram Moolenaarsyn match cssSelectorOp2 "[~|^$*]\?=" contained
58baca7f70SBram Moolenaarsyn region cssAttributeSelector matchgroup=cssSelectorOp start="\[" end="]" contains=cssUnicodeEscape,cssSelectorOp2,cssStringQ,cssStringQQ
59071d4279SBram Moolenaar
60d09acef4SBram Moolenaar" .class and #id
61d09acef4SBram Moolenaarsyn match cssClassName "\.[A-Za-z][A-Za-z0-9_-]\+"
62d09acef4SBram Moolenaar
63a5792f58SBram Moolenaartry
64293ee4d4SBram Moolenaarsyn match cssIdentifier "#[A-Za-z�-�_@][A-Za-z�-�0-9_@-]*"
65a5792f58SBram Moolenaarcatch /^.*/
66a5792f58SBram Moolenaarsyn match cssIdentifier "#[A-Za-z_@][A-Za-z0-9_@-]*"
67a5792f58SBram Moolenaarendtry
68a5792f58SBram Moolenaar
69baca7f70SBram Moolenaar" digits
70baca7f70SBram Moolenaarsyn match cssValueInteger contained "[-+]\=\d\+" contains=cssUnitDecorators
71baca7f70SBram Moolenaarsyn match cssValueNumber contained "[-+]\=\d\+\(\.\d*\)\=" contains=cssUnitDecorators
72baca7f70SBram Moolenaarsyn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=\(%\|mm\|cm\|in\|pt\|pc\|em\|ex\|px\|rem\|dpi\|dppx\|dpcm\)" contains=cssUnitDecorators
73baca7f70SBram Moolenaarsyn match cssValueAngle contained "[-+]\=\d\+\(\.\d*\)\=\(deg\|grad\|rad\)" contains=cssUnitDecorators
74baca7f70SBram Moolenaarsyn match cssValueTime contained "+\=\d\+\(\.\d*\)\=\(ms\|s\)" contains=cssUnitDecorators
75baca7f70SBram Moolenaarsyn match cssValueFrequency contained "+\=\d\+\(\.\d*\)\=\(Hz\|kHz\)" contains=cssUnitDecorators
76071d4279SBram Moolenaar
77baca7f70SBram Moolenaar" @media
78*18441ae2SBram Moolenaarsyn match cssMedia "@media\>"  nextgroup=cssMediaQuery,cssMediaBlock skipwhite skipnl
79*18441ae2SBram Moolenaarsyn match cssMediaQuery /\(only\|not\)\=\s*[a-z]*\(\s\|,\)\@=\(\(\s\+and\)\=\s\+(.\{-})\)*/ contained skipwhite skipnl contains=cssMediaProp,cssValueLength,cssMediaKeyword,cssValueInteger,cssMediaAttr,cssVendor,cssMediaType nextgroup=cssMediaBlock,cssMediaComma
80*18441ae2SBram Moolenaarsyn keyword cssMediaType contained screen print aural braille embossed handheld projection tty tv speech all contained skipwhite skipnl
81*18441ae2SBram Moolenaarsyn keyword cssMediaKeyword only not and contained
82baca7f70SBram Moolenaarsyn region cssMediaBlock transparent matchgroup=cssBraces start='{' end='}' contains=css.*Attr,css.*Prop,cssComment,cssValue.*,cssColor,cssURL,cssImportant,cssError,cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape,cssVendor,cssDefinition,cssTagName,cssClassName,cssIdentifier,cssPseudoClass,cssSelectorOp,cssSelectorOp2,cssAttributeSelector fold
83*18441ae2SBram Moolenaarsyn match cssMediaComma "," nextgroup=cssMediaQuery skipwhite skipnl contained
84baca7f70SBram Moolenaar
85baca7f70SBram Moolenaar" Reference: http://www.w3.org/TR/css3-mediaqueries/
86*18441ae2SBram Moolenaarsyn keyword cssMediaProp contained width height orientation scan grid
87baca7f70SBram Moolenaarsyn match cssMediaProp contained /\(\(device\)-\)\=aspect-ratio/
88baca7f70SBram Moolenaarsyn match cssMediaProp contained /\(\(max\|min\)-\)\=device-pixel-ratio/
89baca7f70SBram Moolenaarsyn match cssMediaProp contained /\(\(max\|min\)-\)\=device-\(height\|width\)/
90*18441ae2SBram Moolenaarsyn match cssMediaProp contained /\(\(max\|min\)-\)\=\(height\|width\|resolution\|monochrome\|color\(-index\)\=\)/
91baca7f70SBram Moolenaarsyn keyword cssMediaAttr contained portrait landscape progressive interlace
92baca7f70SBram Moolenaar
93baca7f70SBram Moolenaar" @page
94baca7f70SBram Moolenaarsyn match cssPage "@page\>"  nextgroup=cssPagePseudo,cssDefinition  skipwhite skipnl
95baca7f70SBram Moolenaarsyn match cssPagePseudo /:\(left\|right\|first\|\)/ nextgroup=cssDefinition contained skipwhite skipnl
96baca7f70SBram Moolenaarsyn match cssPageHeaderProp /@\(\(top\|left\|right\|bottom\)-\(left\|center\|right\|middle\|bottom\)\)\(-corner\)\=/ contained
97baca7f70SBram Moolenaarsyn keyword cssPageProp content size contained
98baca7f70SBram Moolenaar
99baca7f70SBram Moolenaar" @keyframe
100*18441ae2SBram Moolenaarsyn match cssKeyFrame "@\(-[a-z]*-\)\=keyframes\>\(\s*\<\S*\>\)\="  nextgroup=cssKeyFrameBlock contains=cssVendor skipwhite skipnl
101baca7f70SBram Moolenaarsyn region cssKeyFrameBlock contained transparent matchgroup=cssBraces start="{" end="}" contains=cssKeyFrameSelector,cssDefinition
102baca7f70SBram Moolenaarsyn match cssKeyFrameSelector /\(\d*%\|from\|to\)\=/  contained skipwhite skipnl
103baca7f70SBram Moolenaar
104baca7f70SBram Moolenaar" @import
105*18441ae2SBram Moolenaarsyn region cssInclude start=/@import\>/ end=/\ze;/ contains=cssComment,cssURL,cssUnicodeEscape,cssMediaQuery,cssStringQ,cssStringQQ,cssIncludeKeyword
106*18441ae2SBram Moolenaarsyn region cssInclude start=/@charset\>/ end=/\ze;/ contains=cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment,cssIncludeKeyword
107*18441ae2SBram Moolenaarsyn region cssInclude start=/@namespace\>/ end=/\ze;/ contains=cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment,cssIncludeKeyword
108*18441ae2SBram Moolenaarsyn match cssIncludeKeyword /\(@import\|@charset\|@namespace\)/ contained
109baca7f70SBram Moolenaar
110baca7f70SBram Moolenaar" @font-face
111baca7f70SBram Moolenaar" http://www.w3.org/TR/css3-fonts/#at-font-face-rule
112071d4279SBram Moolenaarsyn match cssFontDescriptor "@font-face\>" nextgroup=cssFontDescriptorBlock skipwhite skipnl
113071d4279SBram Moolenaarsyn region cssFontDescriptorBlock contained transparent matchgroup=cssBraces start="{" end="}" contains=cssComment,cssError,cssUnicodeEscape,cssFontProp,cssFontAttr,cssCommonAttr,cssStringQ,cssStringQQ,cssFontDescriptorProp,cssValue.*,cssFontDescriptorFunction,cssUnicodeRange,cssFontDescriptorAttr
114baca7f70SBram Moolenaar"syn match cssFontDescriptorProp contained "\<\(unicode-range\|unit-per-em\|panose-1\|cap-height\|x-height\|definition-src\)\>"
115baca7f70SBram Moolenaar"syn keyword cssFontDescriptorProp contained src stemv stemh slope ascent descent widths bbox baseline centerline mathline topline
116baca7f70SBram Moolenaarsyn keyword cssFontDescriptorProp contained src
117baca7f70SBram Moolenaarsyn match cssFontDescriptorProp contained "\<unicode-range\>"
118071d4279SBram Moolenaarsyn keyword cssFontDescriptorAttr contained all
119071d4279SBram Moolenaarsyn region cssFontDescriptorFunction contained matchgroup=cssFunctionName start="\<\(uri\|url\|local\|format\)\s*(" end=")" contains=cssStringQ,cssStringQQ oneline keepend
120071d4279SBram Moolenaarsyn match cssUnicodeRange contained "U+[0-9A-Fa-f?]\+"
121071d4279SBram Moolenaarsyn match cssUnicodeRange contained "U+\x\+-\x\+"
122071d4279SBram Moolenaar
1233a0d8090SBram Moolenaar" The 16 basic color names
124071d4279SBram Moolenaarsyn keyword cssColor contained aqua black blue fuchsia gray green lime maroon navy olive purple red silver teal yellow
1253a0d8090SBram Moolenaar
1263a0d8090SBram Moolenaar" 130 more color names
1273a0d8090SBram Moolenaarsyn keyword cssColor contained aliceblue antiquewhite aquamarine azure
1283a0d8090SBram Moolenaarsyn keyword cssColor contained beige bisque blanchedalmond blueviolet brown burlywood
1293a0d8090SBram Moolenaarsyn keyword cssColor contained cadetblue chartreuse chocolate coral cornflowerblue cornsilk crimson cyan
1303a0d8090SBram Moolenaarsyn match cssColor contained /dark\(blue\|cyan\|goldenrod\|gray\|green\|grey\|khaki\)/
1313a0d8090SBram Moolenaarsyn match cssColor contained /dark\(magenta\|olivegreen\|orange\|orchid\|red\|salmon\|seagreen\)/
1323a0d8090SBram Moolenaarsyn match cssColor contained /darkslate\(blue\|gray\|grey\)/
1333a0d8090SBram Moolenaarsyn match cssColor contained /dark\(turquoise\|violet\)/
1343a0d8090SBram Moolenaarsyn keyword cssColor contained deeppink deepskyblue dimgray dimgrey dodgerblue firebrick
1353a0d8090SBram Moolenaarsyn keyword cssColor contained floralwhite forestgreen gainsboro ghostwhite gold
1363a0d8090SBram Moolenaarsyn keyword cssColor contained goldenrod greenyellow grey honeydew hotpink
1373a0d8090SBram Moolenaarsyn keyword cssColor contained indianred indigo ivory khaki lavender lavenderblush lawngreen
1383a0d8090SBram Moolenaarsyn keyword cssColor contained lemonchiffon limegreen linen magenta
1393a0d8090SBram Moolenaarsyn match cssColor contained /light\(blue\|coral\|cyan\|goldenrodyellow\|gray\|green\)/
1403a0d8090SBram Moolenaarsyn match cssColor contained /light\(grey\|pink\|salmon\|seagreen\|skyblue\|yellow\)/
1413a0d8090SBram Moolenaarsyn match cssColor contained /light\(slategray\|slategrey\|steelblue\)/
1423a0d8090SBram Moolenaarsyn match cssColor contained /medium\(aquamarine\|blue\|orchid\|purple\|seagreen\)/
1433a0d8090SBram Moolenaarsyn match cssColor contained /medium\(slateblue\|springgreen\|turquoise\|violetred\)/
1443a0d8090SBram Moolenaarsyn keyword cssColor contained midnightblue mintcream mistyrose moccasin navajowhite
1453a0d8090SBram Moolenaarsyn keyword cssColor contained oldlace olivedrab orange orangered orchid
1463a0d8090SBram Moolenaarsyn match cssColor contained /pale\(goldenrod\|green\|turquoise\|violetred\)/
1473a0d8090SBram Moolenaarsyn keyword cssColor contained papayawhip peachpuff peru pink plum powderblue
1483a0d8090SBram Moolenaarsyn keyword cssColor contained rosybrown royalblue saddlebrown salmon sandybrown
1493a0d8090SBram Moolenaarsyn keyword cssColor contained seagreen seashell sienna skyblue slateblue
1503a0d8090SBram Moolenaarsyn keyword cssColor contained slategray slategrey snow springgreen steelblue tan
1513a0d8090SBram Moolenaarsyn keyword cssColor contained thistle tomato turquoise violet wheat
1523a0d8090SBram Moolenaarsyn keyword cssColor contained whitesmoke yellowgreen
1533a0d8090SBram Moolenaar
154baca7f70SBram Moolenaar" FIXME: These are actually case-insensitive too, but (a) specs recommend using
155071d4279SBram Moolenaar" mixed-case (b) it's hard to highlight the word `Background' correctly in
156071d4279SBram Moolenaar" all situations
157071d4279SBram Moolenaarsyn case match
158071d4279SBram Moolenaarsyn 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
159071d4279SBram Moolenaarsyn case ignore
160d09acef4SBram Moolenaar
161d09acef4SBram Moolenaarsyn match cssImportant contained "!\s*important\>"
162d09acef4SBram Moolenaar
163071d4279SBram Moolenaarsyn match cssColor contained "\<transparent\>"
164071d4279SBram Moolenaarsyn match cssColor contained "\<white\>"
165baca7f70SBram Moolenaarsyn match cssColor contained "#[0-9A-Fa-f]\{3\}\>" contains=cssUnitDecorators
166baca7f70SBram Moolenaarsyn match cssColor contained "#[0-9A-Fa-f]\{6\}\>" contains=cssUnitDecorators
167d09acef4SBram Moolenaar
168baca7f70SBram Moolenaarsyn region cssURL contained matchgroup=cssFunctionName start="\<url\s*(" end=")" oneline extend
169baca7f70SBram Moolenaarsyn region cssFunction contained matchgroup=cssFunctionName start="\<\(rgb\|clip\|attr\|counter\|rect\|cubic-bezier\|steps\)\s*(" end=")" oneline  contains=cssValueInteger,cssValueNumber,cssValueLength,cssFunctionComma
170baca7f70SBram Moolenaarsyn region cssFunction contained matchgroup=cssFunctionName start="\<\(rgba\|hsl\|hsla\|color-stop\|from\|to\)\s*(" end=")" oneline  contains=cssColor,cssValueInteger,cssValueNumber,cssValueLength,cssFunctionComma,cssFunction
171baca7f70SBram Moolenaarsyn region cssFunction contained matchgroup=cssFunctionName start="\<\(linear-\|radial-\)\=\gradient\s*(" end=")" oneline  contains=cssColor,cssValueInteger,cssValueNumber,cssValueLength,cssFunction,cssGradientAttr,cssFunctionComma
172baca7f70SBram Moolenaarsyn 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
173baca7f70SBram Moolenaarsyn keyword cssGradientAttr contained top bottom left right cover center middle ellipse at
174baca7f70SBram Moolenaarsyn match cssFunctionComma contained ","
175071d4279SBram Moolenaar
176baca7f70SBram Moolenaar" Common Prop and Attr
177baca7f70SBram Moolenaarsyn keyword cssCommonAttr contained auto none inherit all default normal
178baca7f70SBram Moolenaarsyn keyword cssCommonAttr contained top bottom center stretch hidden visible
179baca7f70SBram Moolenaar"------------------------------------------------
180baca7f70SBram Moolenaar" CSS Animations
181baca7f70SBram Moolenaar" http://www.w3.org/TR/css3-animations/
182baca7f70SBram Moolenaarsyn match cssAnimationProp contained "\<animation\(-\(delay\|direction\|duration\|fill-mode\|name\|play-state\|timing-function\)\)\=\>"
183071d4279SBram Moolenaar
184baca7f70SBram Moolenaar" animation-direction attributes
185baca7f70SBram Moolenaarsyn keyword cssAnimationAttr contained alternate reverse
186baca7f70SBram Moolenaarsyn match cssAnimationAttr contained "\<alternate-reverse\>"
187d09acef4SBram Moolenaar
188baca7f70SBram Moolenaar" animation-fill-mode attributes
189baca7f70SBram Moolenaarsyn keyword cssAnimationAttr contained forwards backwards both
190d09acef4SBram Moolenaar
191baca7f70SBram Moolenaar" animation-play-state attributes
192baca7f70SBram Moolenaarsyn keyword cssAnimationAttr contained running paused
193baca7f70SBram Moolenaar"------------------------------------------------
194baca7f70SBram Moolenaar"  CSS Backgrounds and Borders Module Level 3
195baca7f70SBram Moolenaar"  http://www.w3.org/TR/css3-background/
196baca7f70SBram Moolenaarsyn match cssBackgroundProp contained "\<background\(-\(attachment\|clip\|color\|image\|origin\|position\|repeat\|size\)\)\=\>"
197baca7f70SBram Moolenaar" background-attachment attributes
198baca7f70SBram Moolenaarsyn keyword cssBackgroundAttr contained scroll fixed local
199d09acef4SBram Moolenaar
200baca7f70SBram Moolenaar" background-position attributes
201baca7f70SBram Moolenaarsyn keyword cssBackgroundAttr contained left center right top bottom
202d09acef4SBram Moolenaar
203baca7f70SBram Moolenaar" background-repeat attributes
204d09acef4SBram Moolenaarsyn match cssBackgroundAttr contained "\<no-repeat\>"
205d09acef4SBram Moolenaarsyn match cssBackgroundAttr contained "\<repeat\(-[xy]\)\=\>"
206baca7f70SBram Moolenaarsyn keyword cssBackgroundAttr contained space round
207d09acef4SBram Moolenaar
208baca7f70SBram Moolenaar" background-size attributes
209baca7f70SBram Moolenaarsyn keyword cssBackgroundAttr contained cover contain
210d09acef4SBram Moolenaar
211baca7f70SBram Moolenaarsyn match cssBorderProp contained "\<border\(-\(top\|right\|bottom\|left\)\)\=\(-\(width\|color\|style\)\)\=\>"
212baca7f70SBram Moolenaarsyn match cssBorderProp contained "\<border\(-\(top\|bottom\)-\(left\|right\)\)\=-radius\>"
213baca7f70SBram Moolenaarsyn match cssBorderProp contained "\<border-image\(-\(outset\|repeat\|slice\|source\|width\)\)\=\>"
214baca7f70SBram Moolenaarsyn match cssBorderProp contained "\<box-decoration-break\>"
215baca7f70SBram Moolenaarsyn match cssBorderProp contained "\<box-shadow\>"
216d09acef4SBram Moolenaar
217baca7f70SBram Moolenaar" border-image attributes
218baca7f70SBram Moolenaarsyn keyword cssBorderAttr contained stretch repeat round space fill
219d09acef4SBram Moolenaar
220baca7f70SBram Moolenaar" border-style attributes
221baca7f70SBram Moolenaarsyn keyword cssBorderAttr contained dotted dashed solid double groove ridge inset outset
222baca7f70SBram Moolenaar
223baca7f70SBram Moolenaar" border-width attributes
224baca7f70SBram Moolenaarsyn keyword cssBorderAttr contained thin thick medium
225baca7f70SBram Moolenaar
226baca7f70SBram Moolenaar" box-decoration-break attributes
227baca7f70SBram Moolenaarsyn keyword cssBorderAttr contained clone slice
228baca7f70SBram Moolenaar"------------------------------------------------
229baca7f70SBram Moolenaar
230baca7f70SBram Moolenaarsyn match cssBoxProp contained "\<padding\(-\(top\|right\|bottom\|left\)\)\=\>"
231baca7f70SBram Moolenaarsyn match cssBoxProp contained "\<margin\(-\(top\|right\|bottom\|left\)\)\=\>"
232d09acef4SBram Moolenaarsyn match cssBoxProp contained "\<overflow\(-\(x\|y\|style\)\)\=\>"
233d09acef4SBram Moolenaarsyn match cssBoxProp contained "\<rotation\(-point\)=\>"
234d09acef4SBram Moolenaarsyn keyword cssBoxAttr contained visible hidden scroll auto
235d09acef4SBram Moolenaarsyn match cssBoxAttr contained "\<no-\(display\|content\)\>"
236d09acef4SBram Moolenaar
237d09acef4SBram Moolenaarsyn keyword cssColorProp contained opacity
238d09acef4SBram Moolenaarsyn match cssColorProp contained "\<color-profile\>"
239d09acef4SBram Moolenaarsyn match cssColorProp contained "\<rendering-intent\>"
240d09acef4SBram Moolenaar
241d09acef4SBram Moolenaar
242d09acef4SBram Moolenaarsyn match cssDimensionProp contained "\<\(min\|max\)-\(width\|height\)\>"
243d09acef4SBram Moolenaarsyn keyword cssDimensionProp contained height
244d09acef4SBram Moolenaarsyn keyword cssDimensionProp contained width
245d09acef4SBram Moolenaar
246d09acef4SBram Moolenaar" shadow and sizing are in other property groups
247d09acef4SBram Moolenaarsyn match cssFlexibleBoxProp contained "\<box-\(align\|direction\|flex\|ordinal-group\|orient\|pack\|shadow\|sizing\)\>"
248baca7f70SBram Moolenaarsyn keyword cssFlexibleBoxAttr contained start end baseline
249baca7f70SBram Moolenaarsyn keyword cssFlexibleBoxAttr contained reverse
250d09acef4SBram Moolenaarsyn keyword cssFlexibleBoxAttr contained single mulitple
251d09acef4SBram Moolenaarsyn keyword cssFlexibleBoxAttr contained horizontal
252baca7f70SBram Moolenaarsyn match cssFlexibleBoxAttr contained "\<vertical\(-align\)\@!\>" "escape vertical-align
253d09acef4SBram Moolenaarsyn match cssFlexibleBoxAttr contained "\<\(inline\|block\)-axis\>"
254d09acef4SBram Moolenaar
255baca7f70SBram Moolenaar" CSS Fonts Module Level 3
256baca7f70SBram Moolenaar" http://www.w3.org/TR/css-fonts-3/
257baca7f70SBram Moolenaarsyn match cssFontProp contained "\<font\(-\(family\|\|feature-settings\|kerning\|language-override\|size\(-adjust\)\=\|stretch\|style\|synthesis\|variant\(-\(alternates\|caps\|east-asian\|ligatures\|numeric\|position\)\)\=\|weight\)\)\=\>"
258baca7f70SBram Moolenaar" font attributes
259baca7f70SBram Moolenaarsyn keyword cssFontAttr contained icon menu caption
260baca7f70SBram Moolenaarsyn match cssFontAttr contained "\<small-\(caps\|caption\)\>"
261071d4279SBram Moolenaarsyn match cssFontAttr contained "\<message-box\>"
262071d4279SBram Moolenaarsyn match cssFontAttr contained "\<status-bar\>"
263baca7f70SBram Moolenaarsyn keyword cssFontAttr contained larger smaller
264baca7f70SBram Moolenaarsyn match cssFontAttr contained "\<\(x\{1,2\}-\)\=\(large\|small\)\>"
265071d4279SBram Moolenaar
266baca7f70SBram Moolenaar" font-family attributes
267baca7f70SBram Moolenaarsyn match cssFontAttr contained "\<\(sans-\)\=serif\>"
268baca7f70SBram Moolenaarsyn 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 Unicode Verdana Webdings Wingdings York Zapf
269baca7f70SBram Moolenaarsyn keyword cssFontAttr contained cursive fantasy monospace
270071d4279SBram Moolenaar
271baca7f70SBram Moolenaar" font-feature-settings attributes
272baca7f70SBram Moolenaarsyn keyword cssFontAttr contained on off
273baca7f70SBram Moolenaar
274baca7f70SBram Moolenaar" font-stretch attributes
275baca7f70SBram Moolenaarsyn match cssFontAttr contained "\<\(\(ultra\|extra\|semi\)-\)\=\(condensed\|expanded\)\>"
276baca7f70SBram Moolenaar
277baca7f70SBram Moolenaar" font-style attributes
278baca7f70SBram Moolenaarsyn keyword cssFontAttr contained italic oblique
279baca7f70SBram Moolenaar
280baca7f70SBram Moolenaar" font-variant-caps attributes
281baca7f70SBram Moolenaarsyn match cssFontAttr contained "\<\(all-\)\=\(small-\|petite-\|titling-\)caps\>"
282baca7f70SBram Moolenaarsyn keyword cssFontAttr contained unicase
283baca7f70SBram Moolenaar
284baca7f70SBram Moolenaar" font-weight attributes
285baca7f70SBram Moolenaarsyn keyword cssFontAttr contained bold bolder lighter
286baca7f70SBram Moolenaar"------------------------------------------------
287baca7f70SBram Moolenaar
288baca7f70SBram Moolenaar" Webkit specific property/attributes
289baca7f70SBram Moolenaarsyn match cssFontProp contained "\<font-smooth\>"
290baca7f70SBram Moolenaarsyn match cssFontAttr contained "\<\(subpixel-\)\=\antialiased\>"
291baca7f70SBram Moolenaar
292baca7f70SBram Moolenaarsyn keyword cssGeneratedContentProp contained quotes crop
293d09acef4SBram Moolenaarsyn match cssGeneratedContentProp contained "\<counter-\(reset\|increment\)\>"
294d09acef4SBram Moolenaarsyn match cssGeneratedContentProp contained "\<move-to\>"
295d09acef4SBram Moolenaarsyn match cssGeneratedContentProp contained "\<page-policy\>"
296d09acef4SBram Moolenaarsyn match cssGeneratedContentAttr contained "\<\(no-\)\=\(open\|close\)-quote\>"
297d09acef4SBram Moolenaar
298d09acef4SBram Moolenaar
299d09acef4SBram Moolenaarsyn match cssGridProp contained "\<grid-\(columns\|rows\)\>"
300d09acef4SBram Moolenaar
301d09acef4SBram Moolenaarsyn match cssHyerlinkProp contained "\<target\(-\(name\|new\|position\)\)\=\>"
302d09acef4SBram Moolenaar
303d09acef4SBram Moolenaarsyn match cssListProp contained "\<list-style\(-\(type\|position\|image\)\)\=\>"
304d09acef4SBram Moolenaarsyn match cssListAttr contained "\<\(lower\|upper\)-\(roman\|alpha\|greek\|latin\)\>"
305d09acef4SBram Moolenaarsyn match cssListAttr contained "\<\(hiragana\|katakana\)\(-iroha\)\=\>"
306d09acef4SBram Moolenaarsyn match cssListAttr contained "\<\(decimal\(-leading-zero\)\=\|cjk-ideographic\)\>"
307d09acef4SBram Moolenaarsyn keyword cssListAttr contained disc circle square hebrew armenian georgian
308d09acef4SBram Moolenaarsyn keyword cssListAttr contained inside outside
309d09acef4SBram Moolenaar
310d09acef4SBram Moolenaarsyn match cssMultiColumnProp contained "\<column\(-\(\break-\(after\|before\)\|count\|gap\|rule\(-\(color\|style\|width\)\)\=\)\|span\|width\)\=\>"
311d09acef4SBram Moolenaar
312d09acef4SBram Moolenaarsyn keyword cssPositioningProp contained bottom clear clip display float left
313d09acef4SBram Moolenaarsyn keyword cssPositioningProp contained position right top visibility
314d09acef4SBram Moolenaarsyn match cssPositioningProp contained "\<z-index\>"
315baca7f70SBram Moolenaarsyn keyword cssPositioningAttr contained block compact
316baca7f70SBram Moolenaarsyn match cssPositioningAttr contained "\<table\(-\(row-group\|\(header\|footer\)-group\|row\|column\(-group\)\=\|cell\|caption\)\)\=\>"
317d09acef4SBram Moolenaarsyn keyword cssPositioningAttr contained left right both
318d09acef4SBram Moolenaarsyn match cssPositioningAttr contained "\<list-item\>"
319baca7f70SBram Moolenaarsyn match cssPositioningAttr contained "\<inline\(-\(block\|box\|table\)\)\=\>"
320d09acef4SBram Moolenaarsyn keyword cssPositioningAttr contained static relative absolute fixed
321d09acef4SBram Moolenaar
322d09acef4SBram Moolenaarsyn match cssPrintProp contained "\<page\(-break-\(before\|after\|inside\)\)\=\>"
323d09acef4SBram Moolenaarsyn keyword cssPrintProp contained orphans widows
324d09acef4SBram Moolenaarsyn keyword cssPrintAttr contained landscape portrait crop cross always avoid
325d09acef4SBram Moolenaar
326d09acef4SBram Moolenaarsyn match cssTableProp contained "\<\(caption-side\|table-layout\|border-collapse\|border-spacing\|empty-cells\)\>"
327d09acef4SBram Moolenaarsyn keyword cssTableAttr contained fixed collapse separate show hide once always
328d09acef4SBram Moolenaar
329d09acef4SBram Moolenaar
330d09acef4SBram Moolenaarsyn keyword cssTextProp contained color direction
331071d4279SBram Moolenaarsyn match cssTextProp "\<\(\(word\|letter\)-spacing\|text\(-\(decoration\|transform\|align\|index\|shadow\)\)\=\|vertical-align\|unicode-bidi\|line-height\)\>"
332baca7f70SBram Moolenaarsyn match cssTextProp contained "\<text-\(justify\|outline\|warp\|align-last\|size-adjust\|rendering\|stroke\|indent\)\>"
333d09acef4SBram Moolenaarsyn match cssTextProp contained "\<word-\(break\|\wrap\)\>"
334d09acef4SBram Moolenaarsyn match cssTextProp contained "\<white-space\>"
335d09acef4SBram Moolenaarsyn match cssTextProp contained "\<hanging-punctuation\>"
336d09acef4SBram Moolenaarsyn match cssTextProp contained "\<punctuation-trim\>"
337071d4279SBram Moolenaarsyn match cssTextAttr contained "\<line-through\>"
338071d4279SBram Moolenaarsyn match cssTextAttr contained "\<\(text-\)\=\(top\|bottom\)\>"
339d09acef4SBram Moolenaarsyn keyword cssTextAttr contained ltr rtl embed nowrap
340071d4279SBram Moolenaarsyn keyword cssTextAttr contained underline overline blink sub super middle
341d09acef4SBram Moolenaarsyn keyword cssTextAttr contained capitalize uppercase lowercase
342baca7f70SBram Moolenaarsyn keyword cssTextAttr contained justify baseline sub super
343baca7f70SBram Moolenaarsyn keyword cssTextAttr contained optimizeLegibility optimizeSpeed
344d09acef4SBram Moolenaarsyn match cssTextAttr contained "\<pre\(-\(line\|wrap\)\)\=\>"
345d09acef4SBram Moolenaarsyn match cssTextAttr contained "\<\(allow\|force\)-end\>"
346d09acef4SBram Moolenaarsyn keyword cssTextAttr contained start end adjacent
347d09acef4SBram Moolenaarsyn match cssTextAttr contained "\<inter-\(word\|ideographic\|cluster\)\>"
348d09acef4SBram Moolenaarsyn keyword cssTextAttr contained distribute kashida first last
349d09acef4SBram Moolenaarsyn keyword cssTextAttr contained clip ellipsis unrestricted suppress
350d09acef4SBram Moolenaarsyn match cssTextAttr contained "\<break-all\>"
351d09acef4SBram Moolenaarsyn match cssTextAttr contained "\<break-word\>"
352d09acef4SBram Moolenaarsyn keyword cssTextAttr contained hyphenate
353baca7f70SBram Moolenaarsyn match cssTextAttr contained "\<bidi-override\>"
354071d4279SBram Moolenaar
355d09acef4SBram Moolenaarsyn match cssTransformProp contained "\<transform\(-\(origin\|style\)\)\=\>"
356d09acef4SBram Moolenaarsyn match cssTransformProp contained "\<perspective\(-origin\)\=\>"
357d09acef4SBram Moolenaarsyn match cssTransformProp contained "\<backface-visibility\>"
358071d4279SBram Moolenaar
359baca7f70SBram Moolenaar" CSS Transitions
360baca7f70SBram Moolenaar" http://www.w3.org/TR/css3-transitions/
361d09acef4SBram Moolenaarsyn match cssTransitionProp contained "\<transition\(-\(delay\|duration\|property\|timing-function\)\)\=\>"
362071d4279SBram Moolenaar
363baca7f70SBram Moolenaar" transition-time-function attributes
364baca7f70SBram Moolenaarsyn match cssTransitionAttr contained "\<linear\(-gradient\)\@!\>"
365baca7f70SBram Moolenaarsyn match cssTransitionAttr contained "\<ease\(-\(in-out\|out\|in\)\)\=\>"
366baca7f70SBram Moolenaarsyn match cssTransitionAttr contained "\<step\(-start\|-end\)\=\>"
367baca7f70SBram Moolenaar"------------------------------------------------
368baca7f70SBram Moolenaar" CSS Basic User Interface Module Level 3 (CSS3 UI)
369baca7f70SBram Moolenaar" http://www.w3.org/TR/css3-ui/
370d09acef4SBram Moolenaarsyn match cssUIProp contained "\<box-sizing\>"
371baca7f70SBram Moolenaarsyn match cssUIAttr contained "\<\(content\|padding\|border\)\(-box\)\=\>"
372baca7f70SBram Moolenaar
373baca7f70SBram Moolenaarsyn keyword cssUIProp contained cursor
374baca7f70SBram Moolenaarsyn match cssUIAttr contained "\<\(\([ns]\=[ew]\=\)\|col\|row\|nesw\|nwse\)-resize\>"
375baca7f70SBram Moolenaarsyn keyword cssUIAttr contained crosshair help move pointer alias copy
376baca7f70SBram Moolenaarsyn keyword cssUIAttr contained progress wait text cell move
377baca7f70SBram Moolenaarsyn match cssUIAttr contained "\<context-menu\>"
378baca7f70SBram Moolenaarsyn match cssUIAttr contained "\<no-drop\>"
379baca7f70SBram Moolenaarsyn match cssUIAttr contained "\<not-allowed\>"
380baca7f70SBram Moolenaarsyn match cssUIAttr contained "\<all-scroll\>"
381baca7f70SBram Moolenaarsyn match cssUIAttr contained "\<\(vertical-\)\=text\>"
382baca7f70SBram Moolenaarsyn match cssUIAttr contained "\<zoom\(-in\|-out\)\=\>"
383baca7f70SBram Moolenaar
384baca7f70SBram Moolenaarsyn match cssUIProp contained "\<ime-mode\>"
385baca7f70SBram Moolenaarsyn keyword cssUIAttr contained active inactive disabled
386baca7f70SBram Moolenaar
387baca7f70SBram Moolenaarsyn match cssUIProp contained "\<nav-\(down\|index\|left\|right\|up\)\=\>"
388baca7f70SBram Moolenaarsyn match cssUIProp contained "\<outline\(-\(width\|style\|color\|offset\)\)\=\>"
389baca7f70SBram Moolenaarsyn keyword cssUIAttr contained invert
390baca7f70SBram Moolenaar
391baca7f70SBram Moolenaarsyn keyword cssUIProp contained icon resize
392baca7f70SBram Moolenaarsyn keyword cssUIAttr contained both horizontal vertical
393baca7f70SBram Moolenaar
394baca7f70SBram Moolenaarsyn match cssUIProp contained "\<text-overflow\>"
395baca7f70SBram Moolenaarsyn keyword cssUIAttr contained clip ellipsis
396baca7f70SBram Moolenaar
397baca7f70SBram Moolenaar" Already highlighted Props:  font content
398baca7f70SBram Moolenaar"------------------------------------------------
399baca7f70SBram Moolenaar" Webkit/iOS specific attributes
400baca7f70SBram Moolenaarsyn match cssUIAttr contained '\(preserve-3d\)'
401baca7f70SBram Moolenaar" IE specific attributes
402baca7f70SBram Moolenaarsyn match cssIEUIAttr contained '\(bicubic\)'
403baca7f70SBram Moolenaar
404baca7f70SBram Moolenaar" Webkit/iOS specific properties
405baca7f70SBram Moolenaarsyn match cssUIProp contained '\(tap-highlight-color\|user-select\|touch-callout\)'
406baca7f70SBram Moolenaar" IE specific properties
407baca7f70SBram Moolenaarsyn match cssIEUIProp contained '\(interpolation-mode\|zoom\|filter\)'
408baca7f70SBram Moolenaar
409baca7f70SBram Moolenaar" Webkit/Firebox specific properties/attributes
410baca7f70SBram Moolenaarsyn keyword cssUIProp contained appearance
411baca7f70SBram Moolenaarsyn keyword cssUIAttr contained window button field icon document menu
412baca7f70SBram Moolenaar
413071d4279SBram Moolenaar
414071d4279SBram Moolenaarsyn match cssAuralProp contained "\<\(pause\|cue\)\(-\(before\|after\)\)\=\>"
415baca7f70SBram Moolenaarsyn match cssAuralProp contained "\<\(play-during\|speech-rate\|voice-family\|pitch\(-range\)\=\|speak\(-\(punctuation\|numeral\|header\)\)\=\)\>"
416071d4279SBram Moolenaarsyn keyword cssAuralProp contained volume during azimuth elevation stress richness
417071d4279SBram Moolenaarsyn match cssAuralAttr contained "\<\(x-\)\=\(soft\|loud\)\>"
418071d4279SBram Moolenaarsyn keyword cssAuralAttr contained silent
419071d4279SBram Moolenaarsyn match cssAuralAttr contained "\<spell-out\>"
420071d4279SBram Moolenaarsyn keyword cssAuralAttr contained non mix
421071d4279SBram Moolenaarsyn match cssAuralAttr contained "\<\(left\|right\)-side\>"
422071d4279SBram Moolenaarsyn match cssAuralAttr contained "\<\(far\|center\)-\(left\|center\|right\)\>"
423071d4279SBram Moolenaarsyn keyword cssAuralAttr contained leftwards rightwards behind
424baca7f70SBram Moolenaarsyn keyword cssAuralAttr contained below level above lower higher
425baca7f70SBram Moolenaarsyn match cssAuralAttr contained "\<\(x-\)\=\(slow\|fast\|low\|high\)\>"
426071d4279SBram Moolenaarsyn keyword cssAuralAttr contained faster slower
427071d4279SBram Moolenaarsyn keyword cssAuralAttr contained male female child code digits continuous
428071d4279SBram Moolenaar
429baca7f70SBram Moolenaar" mobile text
430baca7f70SBram Moolenaarsyn match cssMobileTextProp contained "\<text-size-adjust\>"
431d09acef4SBram Moolenaar
432071d4279SBram Moolenaar
433baca7f70SBram Moolenaar
434071d4279SBram Moolenaarsyn match cssBraces contained "[{}]"
435071d4279SBram Moolenaarsyn match cssError contained "{@<>"
436baca7f70SBram Moolenaarsyn region cssDefinition transparent matchgroup=cssBraces start='{' end='}' contains=cssAttrRegion,css.*Prop,cssComment,cssValue.*,cssColor,cssURL,cssImportant,cssError,cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape,cssVendor,cssDefinition,cssHacks keepend fold
437071d4279SBram Moolenaarsyn match cssBraceError "}"
438baca7f70SBram Moolenaarsyn match cssAttrComma ","
439071d4279SBram Moolenaar
440d09acef4SBram Moolenaar" Pseudo class
441baca7f70SBram Moolenaar" http://www.w3.org/TR/css3-selectors/
442baca7f70SBram Moolenaarsyn match cssPseudoClass ":[A-Za-z0-9_-]*" contains=cssNoise,cssPseudoClassId,cssUnicodeEscape,cssVendor,cssPseudoClassFn
443baca7f70SBram Moolenaarsyn keyword cssPseudoClassId contained link visited active hover before after left right
444baca7f70SBram Moolenaarsyn keyword cssPseudoClassId contained root empty target enable disabled checked invalid
445baca7f70SBram Moolenaarsyn match cssPseudoClassId contained "\<first-\(line\|letter\)\>"
446baca7f70SBram Moolenaarsyn match cssPseudoClassId contained "\<\(first\|last\|only\)-\(of-type\|child\)\>"
447baca7f70SBram Moolenaarsyn region cssPseudoClassFn contained matchgroup=cssFunctionName start="\<\(not\|lang\|\(nth\|nth-last\)-\(of-type\|child\)\)(" end=")"
448baca7f70SBram Moolenaar" ------------------------------------
449baca7f70SBram Moolenaar" Vendor specific properties
450baca7f70SBram Moolenaarsyn match cssPseudoClassId contained  "\<selection\>"
451baca7f70SBram Moolenaarsyn match cssPseudoClassId contained  "\<focus\(-inner\)\=\>"
452baca7f70SBram Moolenaarsyn match cssPseudoClassId contained  "\<\(input-\)\=placeholder\>"
453baca7f70SBram Moolenaar
454071d4279SBram Moolenaar
455d09acef4SBram Moolenaar" Comment
456*18441ae2SBram Moolenaarsyn region cssComment start="/\*" end="\*/" contains=@Spell fold
457071d4279SBram Moolenaar
458071d4279SBram Moolenaarsyn match cssUnicodeEscape "\\\x\{1,6}\s\?"
459071d4279SBram Moolenaarsyn match cssSpecialCharQQ +\\"+ contained
460071d4279SBram Moolenaarsyn match cssSpecialCharQ +\\'+ contained
461071d4279SBram Moolenaarsyn region cssStringQQ start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=cssUnicodeEscape,cssSpecialCharQQ
462071d4279SBram Moolenaarsyn region cssStringQ start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=cssUnicodeEscape,cssSpecialCharQ
463d09acef4SBram Moolenaar
464d09acef4SBram Moolenaar" Vendor Prefix
465d09acef4SBram Moolenaarsyn match cssVendor contained "\(-\(webkit\|moz\|o\|ms\)-\)"
466d09acef4SBram Moolenaar
467baca7f70SBram Moolenaar" Various CSS Hack characters
468baca7f70SBram Moolenaar" In earlier versions of IE (6 and 7), one can prefix property names
469baca7f70SBram Moolenaar" with a _ or * to isolate those definitions to particular versions of IE
470baca7f70SBram Moolenaar" This is purely decorative and therefore we assign to the same highlight
471baca7f70SBram Moolenaar" group to cssVendor, for more information:
472baca7f70SBram Moolenaar" http://www.paulirish.com/2009/browser-specific-css-hacks/
473baca7f70SBram Moolenaarsyn match cssHacks contained /\(_\|*\)/
474baca7f70SBram Moolenaar
475baca7f70SBram Moolenaar" Misc highlight groups
476baca7f70SBram Moolenaarsyntax match cssUnitDecorators /\(#\|-\|%\|mm\|cm\|in\|pt\|pc\|em\|ex\|px\|rem\|dpi\|dppx\|dpcm\|Hz\|kHz\|s\|ms\|deg\|grad\|rad\)/ contained
477baca7f70SBram Moolenaarsyntax match cssNoise contained /\(:\|;\|\/\)/
478baca7f70SBram Moolenaar
479baca7f70SBram Moolenaar" Attr Enhance
480baca7f70SBram Moolenaar" Some keywords are both Prop and Attr, so we have to handle them
481baca7f70SBram Moolenaarsyn region cssAttrRegion start=/:/ end=/;/ contained keepend contains=css.*Attr,cssColor,cssImportant,cssValue.*,cssFunction,cssString.*,cssURL,cssComment,cssUnicodeEscape,cssVendor,cssError,cssTransitionHackProp,cssAttrComma,cssNoise
482baca7f70SBram Moolenaar
483baca7f70SBram Moolenaar" Hack for transition
484baca7f70SBram Moolenaar" The 'transition' Prop has Props after ':'.
485baca7f70SBram Moolenaarsyn region cssAttrRegion start=/transition\s*:/ end=/;/ contained keepend contains=css.*Prop,css.*Attr,cssColor,cssImportant,cssValue.*,cssFunction,cssString.*,cssURL,cssComment,cssUnicodeEscape,cssVendor,cssError,cssTransitionHackProp,cssAttrComma,cssNoise
486baca7f70SBram Moolenaar
487071d4279SBram Moolenaar
488071d4279SBram Moolenaarif main_syntax == "css"
489071d4279SBram Moolenaar  syn sync minlines=10
490071d4279SBram Moolenaarendif
491071d4279SBram Moolenaar
492071d4279SBram Moolenaar" Define the default highlighting.
493071d4279SBram Moolenaar" For version 5.7 and earlier: only when not done already
494071d4279SBram Moolenaar" For version 5.8 and later: only when an item doesn't have highlighting yet
495071d4279SBram Moolenaarif version >= 508 || !exists("did_css_syn_inits")
496071d4279SBram Moolenaar  if version < 508
497071d4279SBram Moolenaar    let did_css_syn_inits = 1
498071d4279SBram Moolenaar    command -nargs=+ HiLink hi link <args>
499071d4279SBram Moolenaar  else
500071d4279SBram Moolenaar    command -nargs=+ HiLink hi def link <args>
501071d4279SBram Moolenaar  endif
502071d4279SBram Moolenaar
503071d4279SBram Moolenaar  HiLink cssComment Comment
504d09acef4SBram Moolenaar  HiLink cssVendor Comment
505baca7f70SBram Moolenaar  HiLink cssHacks Comment
506071d4279SBram Moolenaar  HiLink cssTagName Statement
507d09acef4SBram Moolenaar  HiLink cssDeprecated Error
508071d4279SBram Moolenaar  HiLink cssSelectorOp Special
509071d4279SBram Moolenaar  HiLink cssSelectorOp2 Special
510baca7f70SBram Moolenaar  HiLink cssAttrComma Special
511d09acef4SBram Moolenaar
512baca7f70SBram Moolenaar  HiLink cssAnimationProp cssProp
513baca7f70SBram Moolenaar  HiLink cssBackgroundProp cssProp
514baca7f70SBram Moolenaar  HiLink cssBorderProp cssProp
515baca7f70SBram Moolenaar  HiLink cssBoxProp cssProp
516baca7f70SBram Moolenaar  HiLink cssColorProp cssProp
517baca7f70SBram Moolenaar  HiLink cssContentForPagedMediaProp cssProp
518baca7f70SBram Moolenaar  HiLink cssDimensionProp cssProp
519baca7f70SBram Moolenaar  HiLink cssFlexibleBoxProp cssProp
520baca7f70SBram Moolenaar  HiLink cssFontProp cssProp
521baca7f70SBram Moolenaar  HiLink cssGeneratedContentProp cssProp
522baca7f70SBram Moolenaar  HiLink cssGridProp cssProp
523baca7f70SBram Moolenaar  HiLink cssHyerlinkProp cssProp
524baca7f70SBram Moolenaar  HiLink cssLineboxProp cssProp
525baca7f70SBram Moolenaar  HiLink cssListProp cssProp
526baca7f70SBram Moolenaar  HiLink cssMarqueeProp cssProp
527baca7f70SBram Moolenaar  HiLink cssMultiColumnProp cssProp
528baca7f70SBram Moolenaar  HiLink cssPagedMediaProp cssProp
529baca7f70SBram Moolenaar  HiLink cssPositioningProp cssProp
530baca7f70SBram Moolenaar  HiLink cssPrintProp cssProp
531baca7f70SBram Moolenaar  HiLink cssRubyProp cssProp
532baca7f70SBram Moolenaar  HiLink cssSpeechProp cssProp
533baca7f70SBram Moolenaar  HiLink cssTableProp cssProp
534baca7f70SBram Moolenaar  HiLink cssTextProp cssProp
535baca7f70SBram Moolenaar  HiLink cssTransformProp cssProp
536baca7f70SBram Moolenaar  HiLink cssTransitionProp cssProp
537baca7f70SBram Moolenaar  HiLink cssUIProp cssProp
538baca7f70SBram Moolenaar  HiLink cssIEUIProp cssProp
539baca7f70SBram Moolenaar  HiLink cssAuralProp cssProp
540baca7f70SBram Moolenaar  HiLink cssRenderProp cssProp
541baca7f70SBram Moolenaar  HiLink cssMobileTextProp cssProp
542d09acef4SBram Moolenaar
543baca7f70SBram Moolenaar  HiLink cssAnimationAttr cssAttr
544baca7f70SBram Moolenaar  HiLink cssBackgroundAttr cssAttr
545baca7f70SBram Moolenaar  HiLink cssBorderAttr cssAttr
546baca7f70SBram Moolenaar  HiLink cssBoxAttr cssAttr
547baca7f70SBram Moolenaar  HiLink cssContentForPagedMediaAttr cssAttr
548baca7f70SBram Moolenaar  HiLink cssDimensionAttr cssAttr
549baca7f70SBram Moolenaar  HiLink cssFlexibleBoxAttr cssAttr
550baca7f70SBram Moolenaar  HiLink cssFontAttr cssAttr
551baca7f70SBram Moolenaar  HiLink cssGeneratedContentAttr cssAttr
552baca7f70SBram Moolenaar  HiLink cssGridAttr cssAttr
553baca7f70SBram Moolenaar  HiLink cssHyerlinkAttr cssAttr
554baca7f70SBram Moolenaar  HiLink cssLineboxAttr cssAttr
555baca7f70SBram Moolenaar  HiLink cssListAttr cssAttr
556baca7f70SBram Moolenaar  HiLink cssMarginAttr cssAttr
557baca7f70SBram Moolenaar  HiLink cssMarqueeAttr cssAttr
558baca7f70SBram Moolenaar  HiLink cssMultiColumnAttr cssAttr
559baca7f70SBram Moolenaar  HiLink cssPaddingAttr cssAttr
560baca7f70SBram Moolenaar  HiLink cssPagedMediaAttr cssAttr
561baca7f70SBram Moolenaar  HiLink cssPositioningAttr cssAttr
562baca7f70SBram Moolenaar  HiLink cssGradientAttr cssAttr
563baca7f70SBram Moolenaar  HiLink cssPrintAttr cssAttr
564baca7f70SBram Moolenaar  HiLink cssRubyAttr cssAttr
565baca7f70SBram Moolenaar  HiLink cssSpeechAttr cssAttr
566baca7f70SBram Moolenaar  HiLink cssTableAttr cssAttr
567baca7f70SBram Moolenaar  HiLink cssTextAttr cssAttr
568baca7f70SBram Moolenaar  HiLink cssTransformAttr cssAttr
569baca7f70SBram Moolenaar  HiLink cssTransitionAttr cssAttr
570baca7f70SBram Moolenaar  HiLink cssUIAttr cssAttr
571baca7f70SBram Moolenaar  HiLink cssIEUIAttr cssAttr
572baca7f70SBram Moolenaar  HiLink cssAuralAttr cssAttr
573baca7f70SBram Moolenaar  HiLink cssRenderAttr cssAttr
574baca7f70SBram Moolenaar  HiLink cssCommonAttr cssAttr
575d09acef4SBram Moolenaar
576071d4279SBram Moolenaar  HiLink cssPseudoClassId PreProc
577071d4279SBram Moolenaar  HiLink cssPseudoClassLang Constant
578071d4279SBram Moolenaar  HiLink cssValueLength Number
579071d4279SBram Moolenaar  HiLink cssValueInteger Number
580071d4279SBram Moolenaar  HiLink cssValueNumber Number
581071d4279SBram Moolenaar  HiLink cssValueAngle Number
582071d4279SBram Moolenaar  HiLink cssValueTime Number
583071d4279SBram Moolenaar  HiLink cssValueFrequency Number
584071d4279SBram Moolenaar  HiLink cssFunction Constant
585071d4279SBram Moolenaar  HiLink cssURL String
586071d4279SBram Moolenaar  HiLink cssFunctionName Function
587baca7f70SBram Moolenaar  HiLink cssFunctionComma Function
588071d4279SBram Moolenaar  HiLink cssColor Constant
589071d4279SBram Moolenaar  HiLink cssIdentifier Function
590071d4279SBram Moolenaar  HiLink cssInclude Include
591*18441ae2SBram Moolenaar  HiLink cssIncludeKeyword atKeyword
592071d4279SBram Moolenaar  HiLink cssImportant Special
593071d4279SBram Moolenaar  HiLink cssBraces Function
594071d4279SBram Moolenaar  HiLink cssBraceError Error
595071d4279SBram Moolenaar  HiLink cssError Error
596071d4279SBram Moolenaar  HiLink cssInclude Include
597071d4279SBram Moolenaar  HiLink cssUnicodeEscape Special
598071d4279SBram Moolenaar  HiLink cssStringQQ String
599071d4279SBram Moolenaar  HiLink cssStringQ String
600baca7f70SBram Moolenaar  HiLink cssAttributeSelector String
601*18441ae2SBram Moolenaar  HiLink cssMedia atKeyword
602071d4279SBram Moolenaar  HiLink cssMediaType Special
603071d4279SBram Moolenaar  HiLink cssMediaComma Normal
604baca7f70SBram Moolenaar  HiLink cssMediaKeyword Statement
605baca7f70SBram Moolenaar  HiLink cssMediaProp cssProp
606baca7f70SBram Moolenaar  HiLink cssMediaAttr cssAttr
607*18441ae2SBram Moolenaar  HiLink cssPage atKeyword
608baca7f70SBram Moolenaar  HiLink cssPagePseudo PreProc
609baca7f70SBram Moolenaar  HiLink cssPageHeaderProp PreProc
610baca7f70SBram Moolenaar  HiLink cssPageProp cssProp
611*18441ae2SBram Moolenaar  HiLink cssKeyFrame atKeyword
612baca7f70SBram Moolenaar  HiLink cssKeyFrameSelector Constant
613071d4279SBram Moolenaar  HiLink cssFontDescriptor Special
614071d4279SBram Moolenaar  HiLink cssFontDescriptorFunction Constant
615baca7f70SBram Moolenaar  HiLink cssFontDescriptorProp cssProp
616baca7f70SBram Moolenaar  HiLink cssFontDescriptorAttr cssAttr
617071d4279SBram Moolenaar  HiLink cssUnicodeRange Constant
61829c34723SBram Moolenaar  HiLink cssClassName Function
619baca7f70SBram Moolenaar  HiLink cssProp StorageClass
620baca7f70SBram Moolenaar  HiLink cssAttr Constant
621baca7f70SBram Moolenaar  HiLink cssUnitDecorators Number
622baca7f70SBram Moolenaar  HiLink cssNoise Noise
623*18441ae2SBram Moolenaar  HiLink atKeyword Comment
624071d4279SBram Moolenaar  delcommand HiLink
625071d4279SBram Moolenaarendif
626071d4279SBram Moolenaar
627071d4279SBram Moolenaarlet b:current_syntax = "css"
628071d4279SBram Moolenaar
629071d4279SBram Moolenaarif main_syntax == 'css'
630071d4279SBram Moolenaar  unlet main_syntax
631071d4279SBram Moolenaarendif
632071d4279SBram Moolenaar
6330c5fa7d7SBram Moolenaarlet &cpo = s:cpo_save
6340c5fa7d7SBram Moolenaarunlet s:cpo_save
635071d4279SBram Moolenaar" vim: ts=8
636071d4279SBram Moolenaar
637