blob: 3dc3f5c2d6de7c26c622cc2738a924b9f449a758 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim syntax file
Bram Moolenaard09acef2012-09-21 14:54:30 +02002" 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" Maintainer: Jules Wang <w.jq0722@gmail.com>
Bram Moolenaar3a0d8092012-10-21 03:02:54 +02008" URL: https://github.com/JulesWang/css.vim
Bram Moolenaarf2571c62015-06-09 19:44:55 +02009" Last Change: 2015 Apr.17
Bram Moolenaar071d4272004-06-13 20:20:40 +000010
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020011" quit when a syntax file was already loaded
Bram Moolenaar071d4272004-06-13 20:20:40 +000012if !exists("main_syntax")
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020013 if exists("b:current_syntax")
Bram Moolenaare2db6952013-07-24 19:53:36 +020014 finish
15 endif
Bram Moolenaar071d4272004-06-13 20:20:40 +000016 let main_syntax = 'css'
Bram Moolenaare2db6952013-07-24 19:53:36 +020017elseif exists("b:current_syntax") && b:current_syntax == "css"
18 finish
Bram Moolenaar071d4272004-06-13 20:20:40 +000019endif
20
Bram Moolenaar0c5fa7d2012-10-05 22:26:30 +020021let s:cpo_save = &cpo
22set cpo&vim
23
Bram Moolenaar071d4272004-06-13 20:20:40 +000024syn case ignore
25
Bram Moolenaarf2571c62015-06-09 19:44:55 +020026" HTML4 tags
27syn keyword cssTagName abbr address area a b base
28syn keyword cssTagName bdo blockquote body br button
29syn keyword cssTagName caption cite code col colgroup dd del
30syn keyword cssTagName dfn div dl dt em fieldset form
31syn keyword cssTagName h1 h2 h3 h4 h5 h6 head hr html img i
32syn keyword cssTagName iframe input ins isindex kbd label legend li
33syn keyword cssTagName link map menu meta noscript ol optgroup
34syn keyword cssTagName option p param pre q s samp script small
35syn keyword cssTagName span strong sub sup tbody td
36syn keyword cssTagName textarea tfoot th thead title tr ul u var
Bram Moolenaarbaca7f72013-09-22 14:42:24 +020037syn keyword cssTagName object svg
Bram Moolenaarf2571c62015-06-09 19:44:55 +020038syn match cssTagName /\<select\>\|\<style\>\|\<table\>/
Bram Moolenaard09acef2012-09-21 14:54:30 +020039
Bram Moolenaarbaca7f72013-09-22 14:42:24 +020040" 34 HTML5 tags
41syn keyword cssTagName article aside audio bdi canvas command data
42syn keyword cssTagName datalist details dialog embed figcaption figure footer
43syn keyword cssTagName header hgroup keygen main mark menuitem meter nav
Bram Moolenaard09acef2012-09-21 14:54:30 +020044syn keyword cssTagName output progress rt rp ruby section
45syn keyword cssTagName source summary time track video wbr
46
47" Tags not supported in HTML5
Bram Moolenaarf2571c62015-06-09 19:44:55 +020048" acronym applet basefont big center dir
49" font frame frameset noframes strike tt
Bram Moolenaard09acef2012-09-21 14:54:30 +020050
Bram Moolenaar071d4272004-06-13 20:20:40 +000051syn match cssTagName "\*"
52
Bram Moolenaard09acef2012-09-21 14:54:30 +020053" selectors
Bram Moolenaarbaca7f72013-09-22 14:42:24 +020054syn match cssSelectorOp "[,>+~]"
Bram Moolenaard09acef2012-09-21 14:54:30 +020055syn match cssSelectorOp2 "[~|^$*]\?=" contained
Bram Moolenaarbaca7f72013-09-22 14:42:24 +020056syn region cssAttributeSelector matchgroup=cssSelectorOp start="\[" end="]" contains=cssUnicodeEscape,cssSelectorOp2,cssStringQ,cssStringQQ
Bram Moolenaar071d4272004-06-13 20:20:40 +000057
Bram Moolenaard09acef2012-09-21 14:54:30 +020058" .class and #id
Bram Moolenaardfb18412013-12-11 18:53:29 +010059syn match cssClassName "\.[A-Za-z][A-Za-z0-9_-]\+" contains=cssClassNameDot
60syn match cssClassNameDot contained '\.'
Bram Moolenaard09acef2012-09-21 14:54:30 +020061
Bram Moolenaara5792f52005-11-23 21:25:05 +000062try
Bram Moolenaar293ee4d2004-12-09 21:34:53 +000063syn match cssIdentifier "#[A-Za-zÀ-ÿ_@][A-Za-zÀ-ÿ0-9_@-]*"
Bram Moolenaara5792f52005-11-23 21:25:05 +000064catch /^.*/
65syn match cssIdentifier "#[A-Za-z_@][A-Za-z0-9_@-]*"
66endtry
67
Bram Moolenaarbaca7f72013-09-22 14:42:24 +020068" digits
69syn match cssValueInteger contained "[-+]\=\d\+" contains=cssUnitDecorators
70syn match cssValueNumber contained "[-+]\=\d\+\(\.\d*\)\=" contains=cssUnitDecorators
Bram Moolenaarf2571c62015-06-09 19:44:55 +020071syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=\(%\|mm\|cm\|in\|pt\|pc\|em\|ex\|px\|rem\|dpi\|dppx\|dpcm\)\>" contains=cssUnitDecorators
72syn match cssValueAngle contained "[-+]\=\d\+\(\.\d*\)\=\(deg\|grad\|rad\)\>" contains=cssUnitDecorators
73syn match cssValueTime contained "+\=\d\+\(\.\d*\)\=\(ms\|s\)\>" contains=cssUnitDecorators
74syn match cssValueFrequency contained "+\=\d\+\(\.\d*\)\=\(Hz\|kHz\)\>" contains=cssUnitDecorators
Bram Moolenaar071d4272004-06-13 20:20:40 +000075
Bram Moolenaardfb18412013-12-11 18:53:29 +010076
Bram Moolenaarf2571c62015-06-09 19:44:55 +020077syn match cssIncludeKeyword /@\(-[a-z]\+-\)\=\(media\|keyframes\|import\|charset\|namespace\|page\)/ contained
Bram Moolenaarbaca7f72013-09-22 14:42:24 +020078" @media
Bram Moolenaardfb18412013-12-11 18:53:29 +010079syn region cssInclude start=/@media\>/ end=/\ze{/ skipwhite skipnl contains=cssMediaProp,cssValueLength,cssMediaKeyword,cssValueInteger,cssMediaAttr,cssVendor,cssMediaType,cssIncludeKeyword,cssMediaComma,cssComment nextgroup=cssMediaBlock
Bram Moolenaar18441ae2013-09-24 23:30:38 +020080syn keyword cssMediaType contained screen print aural braille embossed handheld projection tty tv speech all contained skipwhite skipnl
81syn keyword cssMediaKeyword only not and contained
Bram Moolenaarbaca7f72013-09-22 14:42:24 +020082syn 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
Bram Moolenaardfb18412013-12-11 18:53:29 +010083syn match cssMediaComma "," skipwhite skipnl contained
Bram Moolenaarbaca7f72013-09-22 14:42:24 +020084
85" Reference: http://www.w3.org/TR/css3-mediaqueries/
Bram Moolenaar18441ae2013-09-24 23:30:38 +020086syn keyword cssMediaProp contained width height orientation scan grid
Bram Moolenaarf2571c62015-06-09 19:44:55 +020087syn match cssMediaProp contained /\(\(max\|min\)-\)\=\(\(device\)-\)\=aspect-ratio/
Bram Moolenaarbaca7f72013-09-22 14:42:24 +020088syn match cssMediaProp contained /\(\(max\|min\)-\)\=device-pixel-ratio/
89syn match cssMediaProp contained /\(\(max\|min\)-\)\=device-\(height\|width\)/
Bram Moolenaar18441ae2013-09-24 23:30:38 +020090syn match cssMediaProp contained /\(\(max\|min\)-\)\=\(height\|width\|resolution\|monochrome\|color\(-index\)\=\)/
Bram Moolenaarbaca7f72013-09-22 14:42:24 +020091syn keyword cssMediaAttr contained portrait landscape progressive interlace
92
93" @page
Bram Moolenaardfb18412013-12-11 18:53:29 +010094" http://www.w3.org/TR/css3-page/
95syn match cssPage "@page\>[^{]*{\@=" contains=cssPagePseudo,cssIncludeKeyword nextgroup=cssPageWrap transparent skipwhite skipnl
96syn match cssPagePseudo /:\(left\|right\|first\|blank\)/ contained skipwhite skipnl
97syn region cssPageWrap contained transparent matchgroup=cssBraces start="{" end="}" contains=cssPageMargin,cssPageProp,cssAttrRegion,css.*Prop,cssComment,cssValue.*,cssColor,cssURL,cssImportant,cssError,cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape,cssVendor,cssDefinition,cssHacks
98syn match cssPageMargin /@\(\(top\|left\|right\|bottom\)-\(left\|center\|right\|middle\|bottom\)\)\(-corner\)\=/ contained nextgroup=cssDefinition skipwhite skipnl
99syn keyword cssPageProp contained content size
100" http://www.w3.org/TR/CSS2/page.html#break-inside
101syn keyword cssPageProp contained orphans widows
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200102
103" @keyframe
Bram Moolenaardfb18412013-12-11 18:53:29 +0100104" http://www.w3.org/TR/css3-animations/#keyframes
Bram Moolenaarf2571c62015-06-09 19:44:55 +0200105syn match cssKeyFrame "@\(-[a-z]\+-\)\=keyframes\>[^{]*{\@=" nextgroup=cssKeyFrameWrap contains=cssVendor,cssIncludeKeyword skipwhite skipnl transparent
Bram Moolenaardfb18412013-12-11 18:53:29 +0100106syn region cssKeyFrameWrap contained transparent matchgroup=cssBraces start="{" end="}" contains=cssKeyFrameSelector
107syn match cssKeyFrameSelector /\(\d*%\|from\|to\)\=/ contained skipwhite skipnl nextgroup=cssDefinition
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200108
109" @import
Bram Moolenaardfb18412013-12-11 18:53:29 +0100110syn region cssInclude start=/@import\>/ end=/\ze;/ transparent contains=cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment,cssIncludeKeyword,cssURL,cssMediaProp,cssValueLength,cssMediaKeyword,cssValueInteger,cssMediaAttr,cssVendor,cssMediaType
111syn region cssInclude start=/@charset\>/ end=/\ze;/ transparent contains=cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment,cssIncludeKeyword
112syn region cssInclude start=/@namespace\>/ end=/\ze;/ transparent contains=cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment,cssIncludeKeyword
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200113
114" @font-face
115" http://www.w3.org/TR/css3-fonts/#at-font-face-rule
Bram Moolenaar071d4272004-06-13 20:20:40 +0000116syn match cssFontDescriptor "@font-face\>" nextgroup=cssFontDescriptorBlock skipwhite skipnl
Bram Moolenaarf2571c62015-06-09 19:44:55 +0200117syn region cssFontDescriptorBlock contained transparent matchgroup=cssBraces start="{" end="}" contains=cssComment,cssError,cssUnicodeEscape,cssCommonAttr,cssFontDescriptorProp,cssValue.*,cssFontDescriptorFunction,cssFontDescriptorAttr,cssNoise
118
119syn match cssFontDescriptorProp contained "\<font-family\>"
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200120syn keyword cssFontDescriptorProp contained src
Bram Moolenaarf2571c62015-06-09 19:44:55 +0200121syn match cssFontDescriptorProp contained "\<font-\(style\|weight\|stretch\)\>"
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200122syn match cssFontDescriptorProp contained "\<unicode-range\>"
Bram Moolenaarf2571c62015-06-09 19:44:55 +0200123syn match cssFontDescriptorProp contained "\<font-\(variant\|feature-settings\)\>"
124
125" src functions
Bram Moolenaar071d4272004-06-13 20:20:40 +0000126syn region cssFontDescriptorFunction contained matchgroup=cssFunctionName start="\<\(uri\|url\|local\|format\)\s*(" end=")" contains=cssStringQ,cssStringQQ oneline keepend
Bram Moolenaarf2571c62015-06-09 19:44:55 +0200127" font-sytle and font-weight attributes
128syn keyword cssFontDescriptorAttr contained normal italic oblique bold
129" font-stretch attributes
130syn match cssFontDescriptorAttr contained "\<\(\(ultra\|extra\|semi\)-\)\=\(condensed\|expanded\)\>"
131" unicode-range attributes
132syn match cssFontDescriptorAttr contained "U+[0-9A-Fa-f?]\+"
133syn match cssFontDescriptorAttr contained "U+\x\+-\x\+"
134" font-feature-settings attributes
135syn keyword cssFontDescriptorAttr contained on off
136
137
Bram Moolenaar071d4272004-06-13 20:20:40 +0000138
Bram Moolenaar3a0d8092012-10-21 03:02:54 +0200139" The 16 basic color names
Bram Moolenaar071d4272004-06-13 20:20:40 +0000140syn keyword cssColor contained aqua black blue fuchsia gray green lime maroon navy olive purple red silver teal yellow
Bram Moolenaar3a0d8092012-10-21 03:02:54 +0200141
142" 130 more color names
143syn keyword cssColor contained aliceblue antiquewhite aquamarine azure
144syn keyword cssColor contained beige bisque blanchedalmond blueviolet brown burlywood
145syn keyword cssColor contained cadetblue chartreuse chocolate coral cornflowerblue cornsilk crimson cyan
Bram Moolenaarf2571c62015-06-09 19:44:55 +0200146syn match cssColor contained /\<dark\(blue\|cyan\|goldenrod\|gray\|green\|grey\|khaki\)\>/
147syn match cssColor contained /\<dark\(magenta\|olivegreen\|orange\|orchid\|red\|salmon\|seagreen\)\>/
148syn match cssColor contained /\<darkslate\(blue\|gray\|grey\)\>/
149syn match cssColor contained /\<dark\(turquoise\|violet\)\>/
Bram Moolenaar3a0d8092012-10-21 03:02:54 +0200150syn keyword cssColor contained deeppink deepskyblue dimgray dimgrey dodgerblue firebrick
151syn keyword cssColor contained floralwhite forestgreen gainsboro ghostwhite gold
152syn keyword cssColor contained goldenrod greenyellow grey honeydew hotpink
153syn keyword cssColor contained indianred indigo ivory khaki lavender lavenderblush lawngreen
154syn keyword cssColor contained lemonchiffon limegreen linen magenta
Bram Moolenaarf2571c62015-06-09 19:44:55 +0200155syn match cssColor contained /\<light\(blue\|coral\|cyan\|goldenrodyellow\|gray\|green\)\>/
156syn match cssColor contained /\<light\(grey\|pink\|salmon\|seagreen\|skyblue\|yellow\)\>/
157syn match cssColor contained /\<light\(slategray\|slategrey\|steelblue\)\>/
158syn match cssColor contained /\<medium\(aquamarine\|blue\|orchid\|purple\|seagreen\)\>/
159syn match cssColor contained /\<medium\(slateblue\|springgreen\|turquoise\|violetred\)\>/
Bram Moolenaar3a0d8092012-10-21 03:02:54 +0200160syn keyword cssColor contained midnightblue mintcream mistyrose moccasin navajowhite
161syn keyword cssColor contained oldlace olivedrab orange orangered orchid
Bram Moolenaarf2571c62015-06-09 19:44:55 +0200162syn match cssColor contained /\<pale\(goldenrod\|green\|turquoise\|violetred\)\>/
Bram Moolenaar3a0d8092012-10-21 03:02:54 +0200163syn keyword cssColor contained papayawhip peachpuff peru pink plum powderblue
164syn keyword cssColor contained rosybrown royalblue saddlebrown salmon sandybrown
165syn keyword cssColor contained seagreen seashell sienna skyblue slateblue
166syn keyword cssColor contained slategray slategrey snow springgreen steelblue tan
167syn keyword cssColor contained thistle tomato turquoise violet wheat
168syn keyword cssColor contained whitesmoke yellowgreen
169
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200170" FIXME: These are actually case-insensitive too, but (a) specs recommend using
Bram Moolenaar071d4272004-06-13 20:20:40 +0000171" mixed-case (b) it's hard to highlight the word `Background' correctly in
172" all situations
173syn case match
174syn 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
175syn case ignore
Bram Moolenaard09acef2012-09-21 14:54:30 +0200176
177syn match cssImportant contained "!\s*important\>"
178
Bram Moolenaar071d4272004-06-13 20:20:40 +0000179syn match cssColor contained "\<transparent\>"
Bram Moolenaarf2571c62015-06-09 19:44:55 +0200180syn match cssColor contained "\<currentColor\>"
Bram Moolenaar071d4272004-06-13 20:20:40 +0000181syn match cssColor contained "\<white\>"
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200182syn match cssColor contained "#[0-9A-Fa-f]\{3\}\>" contains=cssUnitDecorators
183syn match cssColor contained "#[0-9A-Fa-f]\{6\}\>" contains=cssUnitDecorators
Bram Moolenaard09acef2012-09-21 14:54:30 +0200184
Bram Moolenaarf2571c62015-06-09 19:44:55 +0200185syn region cssURL contained matchgroup=cssFunctionName start="\<url\s*(" end=")" contains=cssStringQ,cssStringQQ oneline
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200186syn region cssFunction contained matchgroup=cssFunctionName start="\<\(rgb\|clip\|attr\|counter\|rect\|cubic-bezier\|steps\)\s*(" end=")" oneline contains=cssValueInteger,cssValueNumber,cssValueLength,cssFunctionComma
187syn region cssFunction contained matchgroup=cssFunctionName start="\<\(rgba\|hsl\|hsla\|color-stop\|from\|to\)\s*(" end=")" oneline contains=cssColor,cssValueInteger,cssValueNumber,cssValueLength,cssFunctionComma,cssFunction
188syn region cssFunction contained matchgroup=cssFunctionName start="\<\(linear-\|radial-\)\=\gradient\s*(" end=")" oneline contains=cssColor,cssValueInteger,cssValueNumber,cssValueLength,cssFunction,cssGradientAttr,cssFunctionComma
189syn 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
190syn keyword cssGradientAttr contained top bottom left right cover center middle ellipse at
191syn match cssFunctionComma contained ","
Bram Moolenaar071d4272004-06-13 20:20:40 +0000192
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200193" Common Prop and Attr
194syn keyword cssCommonAttr contained auto none inherit all default normal
195syn keyword cssCommonAttr contained top bottom center stretch hidden visible
196"------------------------------------------------
197" CSS Animations
198" http://www.w3.org/TR/css3-animations/
Bram Moolenaardfb18412013-12-11 18:53:29 +0100199syn match cssAnimationProp contained "\<animation\(-\(delay\|direction\|duration\|fill-mode\|name\|play-state\|timing-function\|iteration-count\)\)\=\>"
Bram Moolenaar071d4272004-06-13 20:20:40 +0000200
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200201" animation-direction attributes
202syn keyword cssAnimationAttr contained alternate reverse
203syn match cssAnimationAttr contained "\<alternate-reverse\>"
Bram Moolenaard09acef2012-09-21 14:54:30 +0200204
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200205" animation-fill-mode attributes
206syn keyword cssAnimationAttr contained forwards backwards both
Bram Moolenaard09acef2012-09-21 14:54:30 +0200207
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200208" animation-play-state attributes
209syn keyword cssAnimationAttr contained running paused
Bram Moolenaarf2571c62015-06-09 19:44:55 +0200210
211" animation-iteration-count attributes
212syn keyword cssAnimationAttr contained infinite
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200213"------------------------------------------------
214" CSS Backgrounds and Borders Module Level 3
215" http://www.w3.org/TR/css3-background/
216syn match cssBackgroundProp contained "\<background\(-\(attachment\|clip\|color\|image\|origin\|position\|repeat\|size\)\)\=\>"
217" background-attachment attributes
218syn keyword cssBackgroundAttr contained scroll fixed local
Bram Moolenaard09acef2012-09-21 14:54:30 +0200219
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200220" background-position attributes
221syn keyword cssBackgroundAttr contained left center right top bottom
Bram Moolenaard09acef2012-09-21 14:54:30 +0200222
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200223" background-repeat attributes
Bram Moolenaard09acef2012-09-21 14:54:30 +0200224syn match cssBackgroundAttr contained "\<no-repeat\>"
225syn match cssBackgroundAttr contained "\<repeat\(-[xy]\)\=\>"
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200226syn keyword cssBackgroundAttr contained space round
Bram Moolenaard09acef2012-09-21 14:54:30 +0200227
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200228" background-size attributes
229syn keyword cssBackgroundAttr contained cover contain
Bram Moolenaard09acef2012-09-21 14:54:30 +0200230
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200231syn match cssBorderProp contained "\<border\(-\(top\|right\|bottom\|left\)\)\=\(-\(width\|color\|style\)\)\=\>"
232syn match cssBorderProp contained "\<border\(-\(top\|bottom\)-\(left\|right\)\)\=-radius\>"
233syn match cssBorderProp contained "\<border-image\(-\(outset\|repeat\|slice\|source\|width\)\)\=\>"
234syn match cssBorderProp contained "\<box-decoration-break\>"
235syn match cssBorderProp contained "\<box-shadow\>"
Bram Moolenaard09acef2012-09-21 14:54:30 +0200236
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200237" border-image attributes
Bram Moolenaardfb18412013-12-11 18:53:29 +0100238syn keyword cssBorderAttr contained stretch round space fill
Bram Moolenaard09acef2012-09-21 14:54:30 +0200239
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200240" border-style attributes
241syn keyword cssBorderAttr contained dotted dashed solid double groove ridge inset outset
242
243" border-width attributes
244syn keyword cssBorderAttr contained thin thick medium
245
246" box-decoration-break attributes
247syn keyword cssBorderAttr contained clone slice
248"------------------------------------------------
249
250syn match cssBoxProp contained "\<padding\(-\(top\|right\|bottom\|left\)\)\=\>"
251syn match cssBoxProp contained "\<margin\(-\(top\|right\|bottom\|left\)\)\=\>"
Bram Moolenaard09acef2012-09-21 14:54:30 +0200252syn match cssBoxProp contained "\<overflow\(-\(x\|y\|style\)\)\=\>"
Bram Moolenaardfb18412013-12-11 18:53:29 +0100253syn match cssBoxProp contained "\<rotation\(-point\)\=\>"
Bram Moolenaard09acef2012-09-21 14:54:30 +0200254syn keyword cssBoxAttr contained visible hidden scroll auto
255syn match cssBoxAttr contained "\<no-\(display\|content\)\>"
256
257syn keyword cssColorProp contained opacity
258syn match cssColorProp contained "\<color-profile\>"
259syn match cssColorProp contained "\<rendering-intent\>"
260
261
262syn match cssDimensionProp contained "\<\(min\|max\)-\(width\|height\)\>"
263syn keyword cssDimensionProp contained height
264syn keyword cssDimensionProp contained width
265
266" shadow and sizing are in other property groups
267syn match cssFlexibleBoxProp contained "\<box-\(align\|direction\|flex\|ordinal-group\|orient\|pack\|shadow\|sizing\)\>"
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200268syn keyword cssFlexibleBoxAttr contained start end baseline
269syn keyword cssFlexibleBoxAttr contained reverse
Bram Moolenaarf2571c62015-06-09 19:44:55 +0200270syn keyword cssFlexibleBoxAttr contained single multiple
Bram Moolenaard09acef2012-09-21 14:54:30 +0200271syn keyword cssFlexibleBoxAttr contained horizontal
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200272syn match cssFlexibleBoxAttr contained "\<vertical\(-align\)\@!\>" "escape vertical-align
Bram Moolenaard09acef2012-09-21 14:54:30 +0200273syn match cssFlexibleBoxAttr contained "\<\(inline\|block\)-axis\>"
274
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200275" CSS Fonts Module Level 3
276" http://www.w3.org/TR/css-fonts-3/
277syn match cssFontProp contained "\<font\(-\(family\|\|feature-settings\|kerning\|language-override\|size\(-adjust\)\=\|stretch\|style\|synthesis\|variant\(-\(alternates\|caps\|east-asian\|ligatures\|numeric\|position\)\)\=\|weight\)\)\=\>"
Bram Moolenaarf2571c62015-06-09 19:44:55 +0200278
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200279" font attributes
280syn keyword cssFontAttr contained icon menu caption
281syn match cssFontAttr contained "\<small-\(caps\|caption\)\>"
Bram Moolenaar071d4272004-06-13 20:20:40 +0000282syn match cssFontAttr contained "\<message-box\>"
283syn match cssFontAttr contained "\<status-bar\>"
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200284syn keyword cssFontAttr contained larger smaller
285syn match cssFontAttr contained "\<\(x\{1,2\}-\)\=\(large\|small\)\>"
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200286" font-family attributes
287syn match cssFontAttr contained "\<\(sans-\)\=serif\>"
Bram Moolenaarf2571c62015-06-09 19:44:55 +0200288syn 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
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200289syn keyword cssFontAttr contained cursive fantasy monospace
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200290" font-feature-settings attributes
291syn keyword cssFontAttr contained on off
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200292" font-stretch attributes
293syn match cssFontAttr contained "\<\(\(ultra\|extra\|semi\)-\)\=\(condensed\|expanded\)\>"
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200294" font-style attributes
295syn keyword cssFontAttr contained italic oblique
Bram Moolenaarf2571c62015-06-09 19:44:55 +0200296" font-synthesis attributes
297syn keyword cssFontAttr contained weight style
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200298" font-weight attributes
299syn keyword cssFontAttr contained bold bolder lighter
Bram Moolenaarf2571c62015-06-09 19:44:55 +0200300" TODO: font-variant-* attributes
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200301"------------------------------------------------
302
303" Webkit specific property/attributes
304syn match cssFontProp contained "\<font-smooth\>"
305syn match cssFontAttr contained "\<\(subpixel-\)\=\antialiased\>"
306
Bram Moolenaardfb18412013-12-11 18:53:29 +0100307
308" CSS Multi-column Layout Module
309" http://www.w3.org/TR/css3-multicol/
310syn match cssMultiColumnProp contained "\<break-\(after\|before\|inside\)\>"
311syn match cssMultiColumnProp contained "\<column-\(count\|fill\|gap\|rule\(-\(color\|style\|width\)\)\=\|span\|width\)\>"
312syn keyword cssMultiColumnProp contained columns
313syn keyword cssMultiColumnAttr contained balance medium
314syn keyword cssMultiColumnAttr contained always avoid left right page column
315syn match cssMultiColumnAttr contained "\<avoid-\(page\|column\)\>"
316
317" http://www.w3.org/TR/css3-break/#page-break
318syn match cssMultiColumnProp contained "\<page\(-break-\(before\|after\|inside\)\)\=\>"
319
320" TODO find following items in w3c docs.
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200321syn keyword cssGeneratedContentProp contained quotes crop
Bram Moolenaard09acef2012-09-21 14:54:30 +0200322syn match cssGeneratedContentProp contained "\<counter-\(reset\|increment\)\>"
323syn match cssGeneratedContentProp contained "\<move-to\>"
324syn match cssGeneratedContentProp contained "\<page-policy\>"
325syn match cssGeneratedContentAttr contained "\<\(no-\)\=\(open\|close\)-quote\>"
326
Bram Moolenaard09acef2012-09-21 14:54:30 +0200327syn match cssGridProp contained "\<grid-\(columns\|rows\)\>"
328
329syn match cssHyerlinkProp contained "\<target\(-\(name\|new\|position\)\)\=\>"
330
331syn match cssListProp contained "\<list-style\(-\(type\|position\|image\)\)\=\>"
332syn match cssListAttr contained "\<\(lower\|upper\)-\(roman\|alpha\|greek\|latin\)\>"
333syn match cssListAttr contained "\<\(hiragana\|katakana\)\(-iroha\)\=\>"
334syn match cssListAttr contained "\<\(decimal\(-leading-zero\)\=\|cjk-ideographic\)\>"
335syn keyword cssListAttr contained disc circle square hebrew armenian georgian
336syn keyword cssListAttr contained inside outside
337
Bram Moolenaard09acef2012-09-21 14:54:30 +0200338syn keyword cssPositioningProp contained bottom clear clip display float left
339syn keyword cssPositioningProp contained position right top visibility
340syn match cssPositioningProp contained "\<z-index\>"
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200341syn keyword cssPositioningAttr contained block compact
342syn match cssPositioningAttr contained "\<table\(-\(row-group\|\(header\|footer\)-group\|row\|column\(-group\)\=\|cell\|caption\)\)\=\>"
Bram Moolenaard09acef2012-09-21 14:54:30 +0200343syn keyword cssPositioningAttr contained left right both
344syn match cssPositioningAttr contained "\<list-item\>"
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200345syn match cssPositioningAttr contained "\<inline\(-\(block\|box\|table\)\)\=\>"
Bram Moolenaard09acef2012-09-21 14:54:30 +0200346syn keyword cssPositioningAttr contained static relative absolute fixed
347
Bram Moolenaard09acef2012-09-21 14:54:30 +0200348syn keyword cssPrintAttr contained landscape portrait crop cross always avoid
349
350syn match cssTableProp contained "\<\(caption-side\|table-layout\|border-collapse\|border-spacing\|empty-cells\)\>"
351syn keyword cssTableAttr contained fixed collapse separate show hide once always
352
353
354syn keyword cssTextProp contained color direction
Bram Moolenaar071d4272004-06-13 20:20:40 +0000355syn match cssTextProp "\<\(\(word\|letter\)-spacing\|text\(-\(decoration\|transform\|align\|index\|shadow\)\)\=\|vertical-align\|unicode-bidi\|line-height\)\>"
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200356syn match cssTextProp contained "\<text-\(justify\|outline\|warp\|align-last\|size-adjust\|rendering\|stroke\|indent\)\>"
Bram Moolenaard09acef2012-09-21 14:54:30 +0200357syn match cssTextProp contained "\<word-\(break\|\wrap\)\>"
358syn match cssTextProp contained "\<white-space\>"
359syn match cssTextProp contained "\<hanging-punctuation\>"
360syn match cssTextProp contained "\<punctuation-trim\>"
Bram Moolenaar071d4272004-06-13 20:20:40 +0000361syn match cssTextAttr contained "\<line-through\>"
Bram Moolenaar071d4272004-06-13 20:20:40 +0000362syn match cssTextAttr contained "\<\(text-\)\=\(top\|bottom\)\>"
Bram Moolenaard09acef2012-09-21 14:54:30 +0200363syn keyword cssTextAttr contained ltr rtl embed nowrap
Bram Moolenaar071d4272004-06-13 20:20:40 +0000364syn keyword cssTextAttr contained underline overline blink sub super middle
Bram Moolenaard09acef2012-09-21 14:54:30 +0200365syn keyword cssTextAttr contained capitalize uppercase lowercase
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200366syn keyword cssTextAttr contained justify baseline sub super
367syn keyword cssTextAttr contained optimizeLegibility optimizeSpeed
Bram Moolenaard09acef2012-09-21 14:54:30 +0200368syn match cssTextAttr contained "\<pre\(-\(line\|wrap\)\)\=\>"
369syn match cssTextAttr contained "\<\(allow\|force\)-end\>"
370syn keyword cssTextAttr contained start end adjacent
371syn match cssTextAttr contained "\<inter-\(word\|ideographic\|cluster\)\>"
372syn keyword cssTextAttr contained distribute kashida first last
373syn keyword cssTextAttr contained clip ellipsis unrestricted suppress
374syn match cssTextAttr contained "\<break-all\>"
375syn match cssTextAttr contained "\<break-word\>"
376syn keyword cssTextAttr contained hyphenate
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200377syn match cssTextAttr contained "\<bidi-override\>"
Bram Moolenaar071d4272004-06-13 20:20:40 +0000378
Bram Moolenaard09acef2012-09-21 14:54:30 +0200379syn match cssTransformProp contained "\<transform\(-\(origin\|style\)\)\=\>"
380syn match cssTransformProp contained "\<perspective\(-origin\)\=\>"
381syn match cssTransformProp contained "\<backface-visibility\>"
Bram Moolenaar071d4272004-06-13 20:20:40 +0000382
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200383" CSS Transitions
384" http://www.w3.org/TR/css3-transitions/
Bram Moolenaard09acef2012-09-21 14:54:30 +0200385syn match cssTransitionProp contained "\<transition\(-\(delay\|duration\|property\|timing-function\)\)\=\>"
Bram Moolenaar071d4272004-06-13 20:20:40 +0000386
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200387" transition-time-function attributes
388syn match cssTransitionAttr contained "\<linear\(-gradient\)\@!\>"
389syn match cssTransitionAttr contained "\<ease\(-\(in-out\|out\|in\)\)\=\>"
390syn match cssTransitionAttr contained "\<step\(-start\|-end\)\=\>"
391"------------------------------------------------
392" CSS Basic User Interface Module Level 3 (CSS3 UI)
393" http://www.w3.org/TR/css3-ui/
Bram Moolenaard09acef2012-09-21 14:54:30 +0200394syn match cssUIProp contained "\<box-sizing\>"
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200395syn match cssUIAttr contained "\<\(content\|padding\|border\)\(-box\)\=\>"
396
397syn keyword cssUIProp contained cursor
398syn match cssUIAttr contained "\<\(\([ns]\=[ew]\=\)\|col\|row\|nesw\|nwse\)-resize\>"
399syn keyword cssUIAttr contained crosshair help move pointer alias copy
400syn keyword cssUIAttr contained progress wait text cell move
401syn match cssUIAttr contained "\<context-menu\>"
402syn match cssUIAttr contained "\<no-drop\>"
403syn match cssUIAttr contained "\<not-allowed\>"
404syn match cssUIAttr contained "\<all-scroll\>"
405syn match cssUIAttr contained "\<\(vertical-\)\=text\>"
406syn match cssUIAttr contained "\<zoom\(-in\|-out\)\=\>"
407
408syn match cssUIProp contained "\<ime-mode\>"
409syn keyword cssUIAttr contained active inactive disabled
410
411syn match cssUIProp contained "\<nav-\(down\|index\|left\|right\|up\)\=\>"
412syn match cssUIProp contained "\<outline\(-\(width\|style\|color\|offset\)\)\=\>"
413syn keyword cssUIAttr contained invert
414
415syn keyword cssUIProp contained icon resize
416syn keyword cssUIAttr contained both horizontal vertical
417
418syn match cssUIProp contained "\<text-overflow\>"
419syn keyword cssUIAttr contained clip ellipsis
420
Bram Moolenaardfb18412013-12-11 18:53:29 +0100421" Already highlighted Props: font content
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200422"------------------------------------------------
423" Webkit/iOS specific attributes
424syn match cssUIAttr contained '\(preserve-3d\)'
425" IE specific attributes
426syn match cssIEUIAttr contained '\(bicubic\)'
427
428" Webkit/iOS specific properties
429syn match cssUIProp contained '\(tap-highlight-color\|user-select\|touch-callout\)'
430" IE specific properties
431syn match cssIEUIProp contained '\(interpolation-mode\|zoom\|filter\)'
432
433" Webkit/Firebox specific properties/attributes
434syn keyword cssUIProp contained appearance
435syn keyword cssUIAttr contained window button field icon document menu
436
Bram Moolenaar071d4272004-06-13 20:20:40 +0000437
438syn match cssAuralProp contained "\<\(pause\|cue\)\(-\(before\|after\)\)\=\>"
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200439syn match cssAuralProp contained "\<\(play-during\|speech-rate\|voice-family\|pitch\(-range\)\=\|speak\(-\(punctuation\|numeral\|header\)\)\=\)\>"
Bram Moolenaar071d4272004-06-13 20:20:40 +0000440syn keyword cssAuralProp contained volume during azimuth elevation stress richness
441syn match cssAuralAttr contained "\<\(x-\)\=\(soft\|loud\)\>"
442syn keyword cssAuralAttr contained silent
443syn match cssAuralAttr contained "\<spell-out\>"
444syn keyword cssAuralAttr contained non mix
445syn match cssAuralAttr contained "\<\(left\|right\)-side\>"
446syn match cssAuralAttr contained "\<\(far\|center\)-\(left\|center\|right\)\>"
447syn keyword cssAuralAttr contained leftwards rightwards behind
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200448syn keyword cssAuralAttr contained below level above lower higher
449syn match cssAuralAttr contained "\<\(x-\)\=\(slow\|fast\|low\|high\)\>"
Bram Moolenaar071d4272004-06-13 20:20:40 +0000450syn keyword cssAuralAttr contained faster slower
451syn keyword cssAuralAttr contained male female child code digits continuous
452
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200453" mobile text
454syn match cssMobileTextProp contained "\<text-size-adjust\>"
Bram Moolenaard09acef2012-09-21 14:54:30 +0200455
Bram Moolenaar071d4272004-06-13 20:20:40 +0000456
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200457
Bram Moolenaar071d4272004-06-13 20:20:40 +0000458syn match cssBraces contained "[{}]"
459syn match cssError contained "{@<>"
Bram Moolenaarf2571c62015-06-09 19:44:55 +0200460syn region cssDefinition transparent matchgroup=cssBraces start='{' end='}' contains=cssAttrRegion,css.*Prop,cssComment,cssValue.*,cssColor,cssURL,cssImportant,cssError,cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape,cssVendor,cssDefinition,cssHacks,cssNoise fold
Bram Moolenaar071d4272004-06-13 20:20:40 +0000461syn match cssBraceError "}"
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200462syn match cssAttrComma ","
Bram Moolenaar071d4272004-06-13 20:20:40 +0000463
Bram Moolenaard09acef2012-09-21 14:54:30 +0200464" Pseudo class
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200465" http://www.w3.org/TR/css3-selectors/
466syn match cssPseudoClass ":[A-Za-z0-9_-]*" contains=cssNoise,cssPseudoClassId,cssUnicodeEscape,cssVendor,cssPseudoClassFn
467syn keyword cssPseudoClassId contained link visited active hover before after left right
468syn keyword cssPseudoClassId contained root empty target enable disabled checked invalid
469syn match cssPseudoClassId contained "\<first-\(line\|letter\)\>"
470syn match cssPseudoClassId contained "\<\(first\|last\|only\)-\(of-type\|child\)\>"
471syn region cssPseudoClassFn contained matchgroup=cssFunctionName start="\<\(not\|lang\|\(nth\|nth-last\)-\(of-type\|child\)\)(" end=")"
472" ------------------------------------
473" Vendor specific properties
474syn match cssPseudoClassId contained "\<selection\>"
475syn match cssPseudoClassId contained "\<focus\(-inner\)\=\>"
476syn match cssPseudoClassId contained "\<\(input-\)\=placeholder\>"
477
Bram Moolenaarf2571c62015-06-09 19:44:55 +0200478" Misc highlight groups
479syntax 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
480syntax match cssNoise contained /\(:\|;\|\/\)/
Bram Moolenaar071d4272004-06-13 20:20:40 +0000481
Bram Moolenaard09acef2012-09-21 14:54:30 +0200482" Comment
Bram Moolenaar18441ae2013-09-24 23:30:38 +0200483syn region cssComment start="/\*" end="\*/" contains=@Spell fold
Bram Moolenaar071d4272004-06-13 20:20:40 +0000484
485syn match cssUnicodeEscape "\\\x\{1,6}\s\?"
Bram Moolenaardfb18412013-12-11 18:53:29 +0100486syn match cssSpecialCharQQ +\\\\\|\\"+ contained
487syn match cssSpecialCharQ +\\\\\|\\'+ contained
Bram Moolenaar071d4272004-06-13 20:20:40 +0000488syn region cssStringQQ start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=cssUnicodeEscape,cssSpecialCharQQ
489syn region cssStringQ start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=cssUnicodeEscape,cssSpecialCharQ
Bram Moolenaard09acef2012-09-21 14:54:30 +0200490
491" Vendor Prefix
492syn match cssVendor contained "\(-\(webkit\|moz\|o\|ms\)-\)"
493
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200494" Various CSS Hack characters
495" In earlier versions of IE (6 and 7), one can prefix property names
496" with a _ or * to isolate those definitions to particular versions of IE
497" This is purely decorative and therefore we assign to the same highlight
498" group to cssVendor, for more information:
499" http://www.paulirish.com/2009/browser-specific-css-hacks/
500syn match cssHacks contained /\(_\|*\)/
501
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200502" Attr Enhance
503" Some keywords are both Prop and Attr, so we have to handle them
Bram Moolenaarf2571c62015-06-09 19:44:55 +0200504syn region cssAttrRegion start=/:/ end=/\ze\(;\|)\|}\)/ contained contains=css.*Attr,cssColor,cssImportant,cssValue.*,cssFunction,cssString.*,cssURL,cssComment,cssUnicodeEscape,cssVendor,cssError,cssAttrComma,cssNoise
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200505
506" Hack for transition
Bram Moolenaarf2571c62015-06-09 19:44:55 +0200507" 'transition' has Props after ':'.
508syn 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
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200509
Bram Moolenaar071d4272004-06-13 20:20:40 +0000510
511if main_syntax == "css"
512 syn sync minlines=10
513endif
514
515" Define the default highlighting.
Bram Moolenaar89bcfda2016-08-30 23:26:57 +0200516" Only when an item doesn't have highlighting yet
Bram Moolenaar071d4272004-06-13 20:20:40 +0000517
Bram Moolenaarf37506f2016-08-31 22:22:10 +0200518hi def link cssComment Comment
519hi def link cssVendor Comment
520hi def link cssHacks Comment
521hi def link cssTagName Statement
522hi def link cssDeprecated Error
523hi def link cssSelectorOp Special
524hi def link cssSelectorOp2 Special
525hi def link cssAttrComma Special
Bram Moolenaard09acef2012-09-21 14:54:30 +0200526
Bram Moolenaarf37506f2016-08-31 22:22:10 +0200527hi def link cssAnimationProp cssProp
528hi def link cssBackgroundProp cssProp
529hi def link cssBorderProp cssProp
530hi def link cssBoxProp cssProp
531hi def link cssColorProp cssProp
532hi def link cssContentForPagedMediaProp cssProp
533hi def link cssDimensionProp cssProp
534hi def link cssFlexibleBoxProp cssProp
535hi def link cssFontProp cssProp
536hi def link cssGeneratedContentProp cssProp
537hi def link cssGridProp cssProp
538hi def link cssHyerlinkProp cssProp
539hi def link cssLineboxProp cssProp
540hi def link cssListProp cssProp
541hi def link cssMarqueeProp cssProp
542hi def link cssMultiColumnProp cssProp
543hi def link cssPagedMediaProp cssProp
544hi def link cssPositioningProp cssProp
545hi def link cssPrintProp cssProp
546hi def link cssRubyProp cssProp
547hi def link cssSpeechProp cssProp
548hi def link cssTableProp cssProp
549hi def link cssTextProp cssProp
550hi def link cssTransformProp cssProp
551hi def link cssTransitionProp cssProp
552hi def link cssUIProp cssProp
553hi def link cssIEUIProp cssProp
554hi def link cssAuralProp cssProp
555hi def link cssRenderProp cssProp
556hi def link cssMobileTextProp cssProp
Bram Moolenaard09acef2012-09-21 14:54:30 +0200557
Bram Moolenaarf37506f2016-08-31 22:22:10 +0200558hi def link cssAnimationAttr cssAttr
559hi def link cssBackgroundAttr cssAttr
560hi def link cssBorderAttr cssAttr
561hi def link cssBoxAttr cssAttr
562hi def link cssContentForPagedMediaAttr cssAttr
563hi def link cssDimensionAttr cssAttr
564hi def link cssFlexibleBoxAttr cssAttr
565hi def link cssFontAttr cssAttr
566hi def link cssGeneratedContentAttr cssAttr
567hi def link cssGridAttr cssAttr
568hi def link cssHyerlinkAttr cssAttr
569hi def link cssLineboxAttr cssAttr
570hi def link cssListAttr cssAttr
571hi def link cssMarginAttr cssAttr
572hi def link cssMarqueeAttr cssAttr
573hi def link cssMultiColumnAttr cssAttr
574hi def link cssPaddingAttr cssAttr
575hi def link cssPagedMediaAttr cssAttr
576hi def link cssPositioningAttr cssAttr
577hi def link cssGradientAttr cssAttr
578hi def link cssPrintAttr cssAttr
579hi def link cssRubyAttr cssAttr
580hi def link cssSpeechAttr cssAttr
581hi def link cssTableAttr cssAttr
582hi def link cssTextAttr cssAttr
583hi def link cssTransformAttr cssAttr
584hi def link cssTransitionAttr cssAttr
585hi def link cssUIAttr cssAttr
586hi def link cssIEUIAttr cssAttr
587hi def link cssAuralAttr cssAttr
588hi def link cssRenderAttr cssAttr
589hi def link cssCommonAttr cssAttr
Bram Moolenaard09acef2012-09-21 14:54:30 +0200590
Bram Moolenaarf37506f2016-08-31 22:22:10 +0200591hi def link cssPseudoClassId PreProc
592hi def link cssPseudoClassLang Constant
593hi def link cssValueLength Number
594hi def link cssValueInteger Number
595hi def link cssValueNumber Number
596hi def link cssValueAngle Number
597hi def link cssValueTime Number
598hi def link cssValueFrequency Number
599hi def link cssFunction Constant
600hi def link cssURL String
601hi def link cssFunctionName Function
602hi def link cssFunctionComma Function
603hi def link cssColor Constant
604hi def link cssIdentifier Function
605hi def link cssInclude Include
606hi def link cssIncludeKeyword atKeyword
607hi def link cssImportant Special
608hi def link cssBraces Function
609hi def link cssBraceError Error
610hi def link cssError Error
611hi def link cssUnicodeEscape Special
612hi def link cssStringQQ String
613hi def link cssStringQ String
614hi def link cssAttributeSelector String
615hi def link cssMedia atKeyword
616hi def link cssMediaType Special
617hi def link cssMediaComma Normal
618hi def link cssMediaKeyword Statement
619hi def link cssMediaProp cssProp
620hi def link cssMediaAttr cssAttr
621hi def link cssPage atKeyword
622hi def link cssPagePseudo PreProc
623hi def link cssPageMargin atKeyword
624hi def link cssPageProp cssProp
625hi def link cssKeyFrame atKeyword
626hi def link cssKeyFrameSelector Constant
627hi def link cssFontDescriptor Special
628hi def link cssFontDescriptorFunction Constant
629hi def link cssFontDescriptorProp cssProp
630hi def link cssFontDescriptorAttr cssAttr
631hi def link cssUnicodeRange Constant
632hi def link cssClassName Function
633hi def link cssClassNameDot Function
634hi def link cssProp StorageClass
635hi def link cssAttr Constant
636hi def link cssUnitDecorators Number
637hi def link cssNoise Noise
638hi def link atKeyword PreProc
Bram Moolenaar071d4272004-06-13 20:20:40 +0000639
640let b:current_syntax = "css"
641
642if main_syntax == 'css'
643 unlet main_syntax
644endif
645
Bram Moolenaar0c5fa7d2012-10-05 22:26:30 +0200646let &cpo = s:cpo_save
647unlet s:cpo_save
Bram Moolenaar071d4272004-06-13 20:20:40 +0000648" vim: ts=8
649