blob: 51758ca98f034a2a122b2fcf57d4a86a52ed4072 [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
11" For version 5.x: Clear all syntax items
12" For version 6.x: Quit when a syntax file was already loaded
13if !exists("main_syntax")
14 if version < 600
15 syntax clear
16 elseif exists("b:current_syntax")
Bram Moolenaare2db6952013-07-24 19:53:36 +020017 finish
18 endif
Bram Moolenaar071d4272004-06-13 20:20:40 +000019 let main_syntax = 'css'
Bram Moolenaare2db6952013-07-24 19:53:36 +020020elseif exists("b:current_syntax") && b:current_syntax == "css"
21 finish
Bram Moolenaar071d4272004-06-13 20:20:40 +000022endif
23
Bram Moolenaar0c5fa7d2012-10-05 22:26:30 +020024let s:cpo_save = &cpo
25set cpo&vim
26
Bram Moolenaar071d4272004-06-13 20:20:40 +000027syn case ignore
28
Bram Moolenaarf2571c62015-06-09 19:44:55 +020029" HTML4 tags
30syn keyword cssTagName abbr address area a b base
31syn keyword cssTagName bdo blockquote body br button
32syn keyword cssTagName caption cite code col colgroup dd del
33syn keyword cssTagName dfn div dl dt em fieldset form
34syn keyword cssTagName h1 h2 h3 h4 h5 h6 head hr html img i
35syn keyword cssTagName iframe input ins isindex kbd label legend li
36syn keyword cssTagName link map menu meta noscript ol optgroup
37syn keyword cssTagName option p param pre q s samp script small
38syn keyword cssTagName span strong sub sup tbody td
39syn keyword cssTagName textarea tfoot th thead title tr ul u var
Bram Moolenaarbaca7f72013-09-22 14:42:24 +020040syn keyword cssTagName object svg
Bram Moolenaarf2571c62015-06-09 19:44:55 +020041syn match cssTagName /\<select\>\|\<style\>\|\<table\>/
Bram Moolenaard09acef2012-09-21 14:54:30 +020042
Bram Moolenaarbaca7f72013-09-22 14:42:24 +020043" 34 HTML5 tags
44syn keyword cssTagName article aside audio bdi canvas command data
45syn keyword cssTagName datalist details dialog embed figcaption figure footer
46syn keyword cssTagName header hgroup keygen main mark menuitem meter nav
Bram Moolenaard09acef2012-09-21 14:54:30 +020047syn keyword cssTagName output progress rt rp ruby section
48syn keyword cssTagName source summary time track video wbr
49
50" Tags not supported in HTML5
Bram Moolenaarf2571c62015-06-09 19:44:55 +020051" acronym applet basefont big center dir
52" font frame frameset noframes strike tt
Bram Moolenaard09acef2012-09-21 14:54:30 +020053
Bram Moolenaar071d4272004-06-13 20:20:40 +000054syn match cssTagName "\*"
55
Bram Moolenaard09acef2012-09-21 14:54:30 +020056" selectors
Bram Moolenaarbaca7f72013-09-22 14:42:24 +020057syn match cssSelectorOp "[,>+~]"
Bram Moolenaard09acef2012-09-21 14:54:30 +020058syn match cssSelectorOp2 "[~|^$*]\?=" contained
Bram Moolenaarbaca7f72013-09-22 14:42:24 +020059syn region cssAttributeSelector matchgroup=cssSelectorOp start="\[" end="]" contains=cssUnicodeEscape,cssSelectorOp2,cssStringQ,cssStringQQ
Bram Moolenaar071d4272004-06-13 20:20:40 +000060
Bram Moolenaard09acef2012-09-21 14:54:30 +020061" .class and #id
Bram Moolenaardfb18412013-12-11 18:53:29 +010062syn match cssClassName "\.[A-Za-z][A-Za-z0-9_-]\+" contains=cssClassNameDot
63syn match cssClassNameDot contained '\.'
Bram Moolenaard09acef2012-09-21 14:54:30 +020064
Bram Moolenaara5792f52005-11-23 21:25:05 +000065try
Bram Moolenaar293ee4d2004-12-09 21:34:53 +000066syn match cssIdentifier "#[A-Za-zÀ-ÿ_@][A-Za-zÀ-ÿ0-9_@-]*"
Bram Moolenaara5792f52005-11-23 21:25:05 +000067catch /^.*/
68syn match cssIdentifier "#[A-Za-z_@][A-Za-z0-9_@-]*"
69endtry
70
Bram Moolenaarbaca7f72013-09-22 14:42:24 +020071" digits
72syn match cssValueInteger contained "[-+]\=\d\+" contains=cssUnitDecorators
73syn match cssValueNumber contained "[-+]\=\d\+\(\.\d*\)\=" contains=cssUnitDecorators
Bram Moolenaarf2571c62015-06-09 19:44:55 +020074syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=\(%\|mm\|cm\|in\|pt\|pc\|em\|ex\|px\|rem\|dpi\|dppx\|dpcm\)\>" contains=cssUnitDecorators
75syn match cssValueAngle contained "[-+]\=\d\+\(\.\d*\)\=\(deg\|grad\|rad\)\>" contains=cssUnitDecorators
76syn match cssValueTime contained "+\=\d\+\(\.\d*\)\=\(ms\|s\)\>" contains=cssUnitDecorators
77syn match cssValueFrequency contained "+\=\d\+\(\.\d*\)\=\(Hz\|kHz\)\>" contains=cssUnitDecorators
Bram Moolenaar071d4272004-06-13 20:20:40 +000078
Bram Moolenaardfb18412013-12-11 18:53:29 +010079
Bram Moolenaarf2571c62015-06-09 19:44:55 +020080syn match cssIncludeKeyword /@\(-[a-z]\+-\)\=\(media\|keyframes\|import\|charset\|namespace\|page\)/ contained
Bram Moolenaarbaca7f72013-09-22 14:42:24 +020081" @media
Bram Moolenaardfb18412013-12-11 18:53:29 +010082syn 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 +020083syn keyword cssMediaType contained screen print aural braille embossed handheld projection tty tv speech all contained skipwhite skipnl
84syn keyword cssMediaKeyword only not and contained
Bram Moolenaarbaca7f72013-09-22 14:42:24 +020085syn 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 +010086syn match cssMediaComma "," skipwhite skipnl contained
Bram Moolenaarbaca7f72013-09-22 14:42:24 +020087
88" Reference: http://www.w3.org/TR/css3-mediaqueries/
Bram Moolenaar18441ae2013-09-24 23:30:38 +020089syn keyword cssMediaProp contained width height orientation scan grid
Bram Moolenaarf2571c62015-06-09 19:44:55 +020090syn match cssMediaProp contained /\(\(max\|min\)-\)\=\(\(device\)-\)\=aspect-ratio/
Bram Moolenaarbaca7f72013-09-22 14:42:24 +020091syn match cssMediaProp contained /\(\(max\|min\)-\)\=device-pixel-ratio/
92syn match cssMediaProp contained /\(\(max\|min\)-\)\=device-\(height\|width\)/
Bram Moolenaar18441ae2013-09-24 23:30:38 +020093syn match cssMediaProp contained /\(\(max\|min\)-\)\=\(height\|width\|resolution\|monochrome\|color\(-index\)\=\)/
Bram Moolenaarbaca7f72013-09-22 14:42:24 +020094syn keyword cssMediaAttr contained portrait landscape progressive interlace
95
96" @page
Bram Moolenaardfb18412013-12-11 18:53:29 +010097" http://www.w3.org/TR/css3-page/
98syn match cssPage "@page\>[^{]*{\@=" contains=cssPagePseudo,cssIncludeKeyword nextgroup=cssPageWrap transparent skipwhite skipnl
99syn match cssPagePseudo /:\(left\|right\|first\|blank\)/ contained skipwhite skipnl
100syn 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
101syn match cssPageMargin /@\(\(top\|left\|right\|bottom\)-\(left\|center\|right\|middle\|bottom\)\)\(-corner\)\=/ contained nextgroup=cssDefinition skipwhite skipnl
102syn keyword cssPageProp contained content size
103" http://www.w3.org/TR/CSS2/page.html#break-inside
104syn keyword cssPageProp contained orphans widows
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200105
106" @keyframe
Bram Moolenaardfb18412013-12-11 18:53:29 +0100107" http://www.w3.org/TR/css3-animations/#keyframes
Bram Moolenaarf2571c62015-06-09 19:44:55 +0200108syn match cssKeyFrame "@\(-[a-z]\+-\)\=keyframes\>[^{]*{\@=" nextgroup=cssKeyFrameWrap contains=cssVendor,cssIncludeKeyword skipwhite skipnl transparent
Bram Moolenaardfb18412013-12-11 18:53:29 +0100109syn region cssKeyFrameWrap contained transparent matchgroup=cssBraces start="{" end="}" contains=cssKeyFrameSelector
110syn match cssKeyFrameSelector /\(\d*%\|from\|to\)\=/ contained skipwhite skipnl nextgroup=cssDefinition
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200111
112" @import
Bram Moolenaardfb18412013-12-11 18:53:29 +0100113syn region cssInclude start=/@import\>/ end=/\ze;/ transparent contains=cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment,cssIncludeKeyword,cssURL,cssMediaProp,cssValueLength,cssMediaKeyword,cssValueInteger,cssMediaAttr,cssVendor,cssMediaType
114syn region cssInclude start=/@charset\>/ end=/\ze;/ transparent contains=cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment,cssIncludeKeyword
115syn region cssInclude start=/@namespace\>/ end=/\ze;/ transparent contains=cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment,cssIncludeKeyword
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200116
117" @font-face
118" http://www.w3.org/TR/css3-fonts/#at-font-face-rule
Bram Moolenaar071d4272004-06-13 20:20:40 +0000119syn match cssFontDescriptor "@font-face\>" nextgroup=cssFontDescriptorBlock skipwhite skipnl
Bram Moolenaarf2571c62015-06-09 19:44:55 +0200120syn region cssFontDescriptorBlock contained transparent matchgroup=cssBraces start="{" end="}" contains=cssComment,cssError,cssUnicodeEscape,cssCommonAttr,cssFontDescriptorProp,cssValue.*,cssFontDescriptorFunction,cssFontDescriptorAttr,cssNoise
121
122syn match cssFontDescriptorProp contained "\<font-family\>"
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200123syn keyword cssFontDescriptorProp contained src
Bram Moolenaarf2571c62015-06-09 19:44:55 +0200124syn match cssFontDescriptorProp contained "\<font-\(style\|weight\|stretch\)\>"
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200125syn match cssFontDescriptorProp contained "\<unicode-range\>"
Bram Moolenaarf2571c62015-06-09 19:44:55 +0200126syn match cssFontDescriptorProp contained "\<font-\(variant\|feature-settings\)\>"
127
128" src functions
Bram Moolenaar071d4272004-06-13 20:20:40 +0000129syn region cssFontDescriptorFunction contained matchgroup=cssFunctionName start="\<\(uri\|url\|local\|format\)\s*(" end=")" contains=cssStringQ,cssStringQQ oneline keepend
Bram Moolenaarf2571c62015-06-09 19:44:55 +0200130" font-sytle and font-weight attributes
131syn keyword cssFontDescriptorAttr contained normal italic oblique bold
132" font-stretch attributes
133syn match cssFontDescriptorAttr contained "\<\(\(ultra\|extra\|semi\)-\)\=\(condensed\|expanded\)\>"
134" unicode-range attributes
135syn match cssFontDescriptorAttr contained "U+[0-9A-Fa-f?]\+"
136syn match cssFontDescriptorAttr contained "U+\x\+-\x\+"
137" font-feature-settings attributes
138syn keyword cssFontDescriptorAttr contained on off
139
140
Bram Moolenaar071d4272004-06-13 20:20:40 +0000141
Bram Moolenaar3a0d8092012-10-21 03:02:54 +0200142" The 16 basic color names
Bram Moolenaar071d4272004-06-13 20:20:40 +0000143syn 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 +0200144
145" 130 more color names
146syn keyword cssColor contained aliceblue antiquewhite aquamarine azure
147syn keyword cssColor contained beige bisque blanchedalmond blueviolet brown burlywood
148syn keyword cssColor contained cadetblue chartreuse chocolate coral cornflowerblue cornsilk crimson cyan
Bram Moolenaarf2571c62015-06-09 19:44:55 +0200149syn match cssColor contained /\<dark\(blue\|cyan\|goldenrod\|gray\|green\|grey\|khaki\)\>/
150syn match cssColor contained /\<dark\(magenta\|olivegreen\|orange\|orchid\|red\|salmon\|seagreen\)\>/
151syn match cssColor contained /\<darkslate\(blue\|gray\|grey\)\>/
152syn match cssColor contained /\<dark\(turquoise\|violet\)\>/
Bram Moolenaar3a0d8092012-10-21 03:02:54 +0200153syn keyword cssColor contained deeppink deepskyblue dimgray dimgrey dodgerblue firebrick
154syn keyword cssColor contained floralwhite forestgreen gainsboro ghostwhite gold
155syn keyword cssColor contained goldenrod greenyellow grey honeydew hotpink
156syn keyword cssColor contained indianred indigo ivory khaki lavender lavenderblush lawngreen
157syn keyword cssColor contained lemonchiffon limegreen linen magenta
Bram Moolenaarf2571c62015-06-09 19:44:55 +0200158syn match cssColor contained /\<light\(blue\|coral\|cyan\|goldenrodyellow\|gray\|green\)\>/
159syn match cssColor contained /\<light\(grey\|pink\|salmon\|seagreen\|skyblue\|yellow\)\>/
160syn match cssColor contained /\<light\(slategray\|slategrey\|steelblue\)\>/
161syn match cssColor contained /\<medium\(aquamarine\|blue\|orchid\|purple\|seagreen\)\>/
162syn match cssColor contained /\<medium\(slateblue\|springgreen\|turquoise\|violetred\)\>/
Bram Moolenaar3a0d8092012-10-21 03:02:54 +0200163syn keyword cssColor contained midnightblue mintcream mistyrose moccasin navajowhite
164syn keyword cssColor contained oldlace olivedrab orange orangered orchid
Bram Moolenaarf2571c62015-06-09 19:44:55 +0200165syn match cssColor contained /\<pale\(goldenrod\|green\|turquoise\|violetred\)\>/
Bram Moolenaar3a0d8092012-10-21 03:02:54 +0200166syn keyword cssColor contained papayawhip peachpuff peru pink plum powderblue
167syn keyword cssColor contained rosybrown royalblue saddlebrown salmon sandybrown
168syn keyword cssColor contained seagreen seashell sienna skyblue slateblue
169syn keyword cssColor contained slategray slategrey snow springgreen steelblue tan
170syn keyword cssColor contained thistle tomato turquoise violet wheat
171syn keyword cssColor contained whitesmoke yellowgreen
172
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200173" FIXME: These are actually case-insensitive too, but (a) specs recommend using
Bram Moolenaar071d4272004-06-13 20:20:40 +0000174" mixed-case (b) it's hard to highlight the word `Background' correctly in
175" all situations
176syn case match
177syn 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
178syn case ignore
Bram Moolenaard09acef2012-09-21 14:54:30 +0200179
180syn match cssImportant contained "!\s*important\>"
181
Bram Moolenaar071d4272004-06-13 20:20:40 +0000182syn match cssColor contained "\<transparent\>"
Bram Moolenaarf2571c62015-06-09 19:44:55 +0200183syn match cssColor contained "\<currentColor\>"
Bram Moolenaar071d4272004-06-13 20:20:40 +0000184syn match cssColor contained "\<white\>"
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200185syn match cssColor contained "#[0-9A-Fa-f]\{3\}\>" contains=cssUnitDecorators
186syn match cssColor contained "#[0-9A-Fa-f]\{6\}\>" contains=cssUnitDecorators
Bram Moolenaard09acef2012-09-21 14:54:30 +0200187
Bram Moolenaarf2571c62015-06-09 19:44:55 +0200188syn region cssURL contained matchgroup=cssFunctionName start="\<url\s*(" end=")" contains=cssStringQ,cssStringQQ oneline
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200189syn region cssFunction contained matchgroup=cssFunctionName start="\<\(rgb\|clip\|attr\|counter\|rect\|cubic-bezier\|steps\)\s*(" end=")" oneline contains=cssValueInteger,cssValueNumber,cssValueLength,cssFunctionComma
190syn region cssFunction contained matchgroup=cssFunctionName start="\<\(rgba\|hsl\|hsla\|color-stop\|from\|to\)\s*(" end=")" oneline contains=cssColor,cssValueInteger,cssValueNumber,cssValueLength,cssFunctionComma,cssFunction
191syn region cssFunction contained matchgroup=cssFunctionName start="\<\(linear-\|radial-\)\=\gradient\s*(" end=")" oneline contains=cssColor,cssValueInteger,cssValueNumber,cssValueLength,cssFunction,cssGradientAttr,cssFunctionComma
192syn 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
193syn keyword cssGradientAttr contained top bottom left right cover center middle ellipse at
194syn match cssFunctionComma contained ","
Bram Moolenaar071d4272004-06-13 20:20:40 +0000195
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200196" Common Prop and Attr
197syn keyword cssCommonAttr contained auto none inherit all default normal
198syn keyword cssCommonAttr contained top bottom center stretch hidden visible
199"------------------------------------------------
200" CSS Animations
201" http://www.w3.org/TR/css3-animations/
Bram Moolenaardfb18412013-12-11 18:53:29 +0100202syn match cssAnimationProp contained "\<animation\(-\(delay\|direction\|duration\|fill-mode\|name\|play-state\|timing-function\|iteration-count\)\)\=\>"
Bram Moolenaar071d4272004-06-13 20:20:40 +0000203
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200204" animation-direction attributes
205syn keyword cssAnimationAttr contained alternate reverse
206syn match cssAnimationAttr contained "\<alternate-reverse\>"
Bram Moolenaard09acef2012-09-21 14:54:30 +0200207
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200208" animation-fill-mode attributes
209syn keyword cssAnimationAttr contained forwards backwards both
Bram Moolenaard09acef2012-09-21 14:54:30 +0200210
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200211" animation-play-state attributes
212syn keyword cssAnimationAttr contained running paused
Bram Moolenaarf2571c62015-06-09 19:44:55 +0200213
214" animation-iteration-count attributes
215syn keyword cssAnimationAttr contained infinite
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200216"------------------------------------------------
217" CSS Backgrounds and Borders Module Level 3
218" http://www.w3.org/TR/css3-background/
219syn match cssBackgroundProp contained "\<background\(-\(attachment\|clip\|color\|image\|origin\|position\|repeat\|size\)\)\=\>"
220" background-attachment attributes
221syn keyword cssBackgroundAttr contained scroll fixed local
Bram Moolenaard09acef2012-09-21 14:54:30 +0200222
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200223" background-position attributes
224syn keyword cssBackgroundAttr contained left center right top bottom
Bram Moolenaard09acef2012-09-21 14:54:30 +0200225
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200226" background-repeat attributes
Bram Moolenaard09acef2012-09-21 14:54:30 +0200227syn match cssBackgroundAttr contained "\<no-repeat\>"
228syn match cssBackgroundAttr contained "\<repeat\(-[xy]\)\=\>"
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200229syn keyword cssBackgroundAttr contained space round
Bram Moolenaard09acef2012-09-21 14:54:30 +0200230
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200231" background-size attributes
232syn keyword cssBackgroundAttr contained cover contain
Bram Moolenaard09acef2012-09-21 14:54:30 +0200233
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200234syn match cssBorderProp contained "\<border\(-\(top\|right\|bottom\|left\)\)\=\(-\(width\|color\|style\)\)\=\>"
235syn match cssBorderProp contained "\<border\(-\(top\|bottom\)-\(left\|right\)\)\=-radius\>"
236syn match cssBorderProp contained "\<border-image\(-\(outset\|repeat\|slice\|source\|width\)\)\=\>"
237syn match cssBorderProp contained "\<box-decoration-break\>"
238syn match cssBorderProp contained "\<box-shadow\>"
Bram Moolenaard09acef2012-09-21 14:54:30 +0200239
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200240" border-image attributes
Bram Moolenaardfb18412013-12-11 18:53:29 +0100241syn keyword cssBorderAttr contained stretch round space fill
Bram Moolenaard09acef2012-09-21 14:54:30 +0200242
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200243" border-style attributes
244syn keyword cssBorderAttr contained dotted dashed solid double groove ridge inset outset
245
246" border-width attributes
247syn keyword cssBorderAttr contained thin thick medium
248
249" box-decoration-break attributes
250syn keyword cssBorderAttr contained clone slice
251"------------------------------------------------
252
253syn match cssBoxProp contained "\<padding\(-\(top\|right\|bottom\|left\)\)\=\>"
254syn match cssBoxProp contained "\<margin\(-\(top\|right\|bottom\|left\)\)\=\>"
Bram Moolenaard09acef2012-09-21 14:54:30 +0200255syn match cssBoxProp contained "\<overflow\(-\(x\|y\|style\)\)\=\>"
Bram Moolenaardfb18412013-12-11 18:53:29 +0100256syn match cssBoxProp contained "\<rotation\(-point\)\=\>"
Bram Moolenaard09acef2012-09-21 14:54:30 +0200257syn keyword cssBoxAttr contained visible hidden scroll auto
258syn match cssBoxAttr contained "\<no-\(display\|content\)\>"
259
260syn keyword cssColorProp contained opacity
261syn match cssColorProp contained "\<color-profile\>"
262syn match cssColorProp contained "\<rendering-intent\>"
263
264
265syn match cssDimensionProp contained "\<\(min\|max\)-\(width\|height\)\>"
266syn keyword cssDimensionProp contained height
267syn keyword cssDimensionProp contained width
268
269" shadow and sizing are in other property groups
270syn match cssFlexibleBoxProp contained "\<box-\(align\|direction\|flex\|ordinal-group\|orient\|pack\|shadow\|sizing\)\>"
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200271syn keyword cssFlexibleBoxAttr contained start end baseline
272syn keyword cssFlexibleBoxAttr contained reverse
Bram Moolenaarf2571c62015-06-09 19:44:55 +0200273syn keyword cssFlexibleBoxAttr contained single multiple
Bram Moolenaard09acef2012-09-21 14:54:30 +0200274syn keyword cssFlexibleBoxAttr contained horizontal
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200275syn match cssFlexibleBoxAttr contained "\<vertical\(-align\)\@!\>" "escape vertical-align
Bram Moolenaard09acef2012-09-21 14:54:30 +0200276syn match cssFlexibleBoxAttr contained "\<\(inline\|block\)-axis\>"
277
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200278" CSS Fonts Module Level 3
279" http://www.w3.org/TR/css-fonts-3/
280syn 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 +0200281
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200282" font attributes
283syn keyword cssFontAttr contained icon menu caption
284syn match cssFontAttr contained "\<small-\(caps\|caption\)\>"
Bram Moolenaar071d4272004-06-13 20:20:40 +0000285syn match cssFontAttr contained "\<message-box\>"
286syn match cssFontAttr contained "\<status-bar\>"
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200287syn keyword cssFontAttr contained larger smaller
288syn match cssFontAttr contained "\<\(x\{1,2\}-\)\=\(large\|small\)\>"
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200289" font-family attributes
290syn match cssFontAttr contained "\<\(sans-\)\=serif\>"
Bram Moolenaarf2571c62015-06-09 19:44:55 +0200291syn 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 +0200292syn keyword cssFontAttr contained cursive fantasy monospace
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200293" font-feature-settings attributes
294syn keyword cssFontAttr contained on off
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200295" font-stretch attributes
296syn match cssFontAttr contained "\<\(\(ultra\|extra\|semi\)-\)\=\(condensed\|expanded\)\>"
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200297" font-style attributes
298syn keyword cssFontAttr contained italic oblique
Bram Moolenaarf2571c62015-06-09 19:44:55 +0200299" font-synthesis attributes
300syn keyword cssFontAttr contained weight style
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200301" font-weight attributes
302syn keyword cssFontAttr contained bold bolder lighter
Bram Moolenaarf2571c62015-06-09 19:44:55 +0200303" TODO: font-variant-* attributes
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200304"------------------------------------------------
305
306" Webkit specific property/attributes
307syn match cssFontProp contained "\<font-smooth\>"
308syn match cssFontAttr contained "\<\(subpixel-\)\=\antialiased\>"
309
Bram Moolenaardfb18412013-12-11 18:53:29 +0100310
311" CSS Multi-column Layout Module
312" http://www.w3.org/TR/css3-multicol/
313syn match cssMultiColumnProp contained "\<break-\(after\|before\|inside\)\>"
314syn match cssMultiColumnProp contained "\<column-\(count\|fill\|gap\|rule\(-\(color\|style\|width\)\)\=\|span\|width\)\>"
315syn keyword cssMultiColumnProp contained columns
316syn keyword cssMultiColumnAttr contained balance medium
317syn keyword cssMultiColumnAttr contained always avoid left right page column
318syn match cssMultiColumnAttr contained "\<avoid-\(page\|column\)\>"
319
320" http://www.w3.org/TR/css3-break/#page-break
321syn match cssMultiColumnProp contained "\<page\(-break-\(before\|after\|inside\)\)\=\>"
322
323" TODO find following items in w3c docs.
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200324syn keyword cssGeneratedContentProp contained quotes crop
Bram Moolenaard09acef2012-09-21 14:54:30 +0200325syn match cssGeneratedContentProp contained "\<counter-\(reset\|increment\)\>"
326syn match cssGeneratedContentProp contained "\<move-to\>"
327syn match cssGeneratedContentProp contained "\<page-policy\>"
328syn match cssGeneratedContentAttr contained "\<\(no-\)\=\(open\|close\)-quote\>"
329
Bram Moolenaard09acef2012-09-21 14:54:30 +0200330syn match cssGridProp contained "\<grid-\(columns\|rows\)\>"
331
332syn match cssHyerlinkProp contained "\<target\(-\(name\|new\|position\)\)\=\>"
333
334syn match cssListProp contained "\<list-style\(-\(type\|position\|image\)\)\=\>"
335syn match cssListAttr contained "\<\(lower\|upper\)-\(roman\|alpha\|greek\|latin\)\>"
336syn match cssListAttr contained "\<\(hiragana\|katakana\)\(-iroha\)\=\>"
337syn match cssListAttr contained "\<\(decimal\(-leading-zero\)\=\|cjk-ideographic\)\>"
338syn keyword cssListAttr contained disc circle square hebrew armenian georgian
339syn keyword cssListAttr contained inside outside
340
Bram Moolenaard09acef2012-09-21 14:54:30 +0200341syn keyword cssPositioningProp contained bottom clear clip display float left
342syn keyword cssPositioningProp contained position right top visibility
343syn match cssPositioningProp contained "\<z-index\>"
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200344syn keyword cssPositioningAttr contained block compact
345syn match cssPositioningAttr contained "\<table\(-\(row-group\|\(header\|footer\)-group\|row\|column\(-group\)\=\|cell\|caption\)\)\=\>"
Bram Moolenaard09acef2012-09-21 14:54:30 +0200346syn keyword cssPositioningAttr contained left right both
347syn match cssPositioningAttr contained "\<list-item\>"
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200348syn match cssPositioningAttr contained "\<inline\(-\(block\|box\|table\)\)\=\>"
Bram Moolenaard09acef2012-09-21 14:54:30 +0200349syn keyword cssPositioningAttr contained static relative absolute fixed
350
Bram Moolenaard09acef2012-09-21 14:54:30 +0200351syn keyword cssPrintAttr contained landscape portrait crop cross always avoid
352
353syn match cssTableProp contained "\<\(caption-side\|table-layout\|border-collapse\|border-spacing\|empty-cells\)\>"
354syn keyword cssTableAttr contained fixed collapse separate show hide once always
355
356
357syn keyword cssTextProp contained color direction
Bram Moolenaar071d4272004-06-13 20:20:40 +0000358syn match cssTextProp "\<\(\(word\|letter\)-spacing\|text\(-\(decoration\|transform\|align\|index\|shadow\)\)\=\|vertical-align\|unicode-bidi\|line-height\)\>"
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200359syn match cssTextProp contained "\<text-\(justify\|outline\|warp\|align-last\|size-adjust\|rendering\|stroke\|indent\)\>"
Bram Moolenaard09acef2012-09-21 14:54:30 +0200360syn match cssTextProp contained "\<word-\(break\|\wrap\)\>"
361syn match cssTextProp contained "\<white-space\>"
362syn match cssTextProp contained "\<hanging-punctuation\>"
363syn match cssTextProp contained "\<punctuation-trim\>"
Bram Moolenaar071d4272004-06-13 20:20:40 +0000364syn match cssTextAttr contained "\<line-through\>"
Bram Moolenaar071d4272004-06-13 20:20:40 +0000365syn match cssTextAttr contained "\<\(text-\)\=\(top\|bottom\)\>"
Bram Moolenaard09acef2012-09-21 14:54:30 +0200366syn keyword cssTextAttr contained ltr rtl embed nowrap
Bram Moolenaar071d4272004-06-13 20:20:40 +0000367syn keyword cssTextAttr contained underline overline blink sub super middle
Bram Moolenaard09acef2012-09-21 14:54:30 +0200368syn keyword cssTextAttr contained capitalize uppercase lowercase
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200369syn keyword cssTextAttr contained justify baseline sub super
370syn keyword cssTextAttr contained optimizeLegibility optimizeSpeed
Bram Moolenaard09acef2012-09-21 14:54:30 +0200371syn match cssTextAttr contained "\<pre\(-\(line\|wrap\)\)\=\>"
372syn match cssTextAttr contained "\<\(allow\|force\)-end\>"
373syn keyword cssTextAttr contained start end adjacent
374syn match cssTextAttr contained "\<inter-\(word\|ideographic\|cluster\)\>"
375syn keyword cssTextAttr contained distribute kashida first last
376syn keyword cssTextAttr contained clip ellipsis unrestricted suppress
377syn match cssTextAttr contained "\<break-all\>"
378syn match cssTextAttr contained "\<break-word\>"
379syn keyword cssTextAttr contained hyphenate
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200380syn match cssTextAttr contained "\<bidi-override\>"
Bram Moolenaar071d4272004-06-13 20:20:40 +0000381
Bram Moolenaard09acef2012-09-21 14:54:30 +0200382syn match cssTransformProp contained "\<transform\(-\(origin\|style\)\)\=\>"
383syn match cssTransformProp contained "\<perspective\(-origin\)\=\>"
384syn match cssTransformProp contained "\<backface-visibility\>"
Bram Moolenaar071d4272004-06-13 20:20:40 +0000385
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200386" CSS Transitions
387" http://www.w3.org/TR/css3-transitions/
Bram Moolenaard09acef2012-09-21 14:54:30 +0200388syn match cssTransitionProp contained "\<transition\(-\(delay\|duration\|property\|timing-function\)\)\=\>"
Bram Moolenaar071d4272004-06-13 20:20:40 +0000389
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200390" transition-time-function attributes
391syn match cssTransitionAttr contained "\<linear\(-gradient\)\@!\>"
392syn match cssTransitionAttr contained "\<ease\(-\(in-out\|out\|in\)\)\=\>"
393syn match cssTransitionAttr contained "\<step\(-start\|-end\)\=\>"
394"------------------------------------------------
395" CSS Basic User Interface Module Level 3 (CSS3 UI)
396" http://www.w3.org/TR/css3-ui/
Bram Moolenaard09acef2012-09-21 14:54:30 +0200397syn match cssUIProp contained "\<box-sizing\>"
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200398syn match cssUIAttr contained "\<\(content\|padding\|border\)\(-box\)\=\>"
399
400syn keyword cssUIProp contained cursor
401syn match cssUIAttr contained "\<\(\([ns]\=[ew]\=\)\|col\|row\|nesw\|nwse\)-resize\>"
402syn keyword cssUIAttr contained crosshair help move pointer alias copy
403syn keyword cssUIAttr contained progress wait text cell move
404syn match cssUIAttr contained "\<context-menu\>"
405syn match cssUIAttr contained "\<no-drop\>"
406syn match cssUIAttr contained "\<not-allowed\>"
407syn match cssUIAttr contained "\<all-scroll\>"
408syn match cssUIAttr contained "\<\(vertical-\)\=text\>"
409syn match cssUIAttr contained "\<zoom\(-in\|-out\)\=\>"
410
411syn match cssUIProp contained "\<ime-mode\>"
412syn keyword cssUIAttr contained active inactive disabled
413
414syn match cssUIProp contained "\<nav-\(down\|index\|left\|right\|up\)\=\>"
415syn match cssUIProp contained "\<outline\(-\(width\|style\|color\|offset\)\)\=\>"
416syn keyword cssUIAttr contained invert
417
418syn keyword cssUIProp contained icon resize
419syn keyword cssUIAttr contained both horizontal vertical
420
421syn match cssUIProp contained "\<text-overflow\>"
422syn keyword cssUIAttr contained clip ellipsis
423
Bram Moolenaardfb18412013-12-11 18:53:29 +0100424" Already highlighted Props: font content
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200425"------------------------------------------------
426" Webkit/iOS specific attributes
427syn match cssUIAttr contained '\(preserve-3d\)'
428" IE specific attributes
429syn match cssIEUIAttr contained '\(bicubic\)'
430
431" Webkit/iOS specific properties
432syn match cssUIProp contained '\(tap-highlight-color\|user-select\|touch-callout\)'
433" IE specific properties
434syn match cssIEUIProp contained '\(interpolation-mode\|zoom\|filter\)'
435
436" Webkit/Firebox specific properties/attributes
437syn keyword cssUIProp contained appearance
438syn keyword cssUIAttr contained window button field icon document menu
439
Bram Moolenaar071d4272004-06-13 20:20:40 +0000440
441syn match cssAuralProp contained "\<\(pause\|cue\)\(-\(before\|after\)\)\=\>"
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200442syn match cssAuralProp contained "\<\(play-during\|speech-rate\|voice-family\|pitch\(-range\)\=\|speak\(-\(punctuation\|numeral\|header\)\)\=\)\>"
Bram Moolenaar071d4272004-06-13 20:20:40 +0000443syn keyword cssAuralProp contained volume during azimuth elevation stress richness
444syn match cssAuralAttr contained "\<\(x-\)\=\(soft\|loud\)\>"
445syn keyword cssAuralAttr contained silent
446syn match cssAuralAttr contained "\<spell-out\>"
447syn keyword cssAuralAttr contained non mix
448syn match cssAuralAttr contained "\<\(left\|right\)-side\>"
449syn match cssAuralAttr contained "\<\(far\|center\)-\(left\|center\|right\)\>"
450syn keyword cssAuralAttr contained leftwards rightwards behind
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200451syn keyword cssAuralAttr contained below level above lower higher
452syn match cssAuralAttr contained "\<\(x-\)\=\(slow\|fast\|low\|high\)\>"
Bram Moolenaar071d4272004-06-13 20:20:40 +0000453syn keyword cssAuralAttr contained faster slower
454syn keyword cssAuralAttr contained male female child code digits continuous
455
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200456" mobile text
457syn match cssMobileTextProp contained "\<text-size-adjust\>"
Bram Moolenaard09acef2012-09-21 14:54:30 +0200458
Bram Moolenaar071d4272004-06-13 20:20:40 +0000459
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200460
Bram Moolenaar071d4272004-06-13 20:20:40 +0000461syn match cssBraces contained "[{}]"
462syn match cssError contained "{@<>"
Bram Moolenaarf2571c62015-06-09 19:44:55 +0200463syn 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 +0000464syn match cssBraceError "}"
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200465syn match cssAttrComma ","
Bram Moolenaar071d4272004-06-13 20:20:40 +0000466
Bram Moolenaard09acef2012-09-21 14:54:30 +0200467" Pseudo class
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200468" http://www.w3.org/TR/css3-selectors/
469syn match cssPseudoClass ":[A-Za-z0-9_-]*" contains=cssNoise,cssPseudoClassId,cssUnicodeEscape,cssVendor,cssPseudoClassFn
470syn keyword cssPseudoClassId contained link visited active hover before after left right
471syn keyword cssPseudoClassId contained root empty target enable disabled checked invalid
472syn match cssPseudoClassId contained "\<first-\(line\|letter\)\>"
473syn match cssPseudoClassId contained "\<\(first\|last\|only\)-\(of-type\|child\)\>"
474syn region cssPseudoClassFn contained matchgroup=cssFunctionName start="\<\(not\|lang\|\(nth\|nth-last\)-\(of-type\|child\)\)(" end=")"
475" ------------------------------------
476" Vendor specific properties
477syn match cssPseudoClassId contained "\<selection\>"
478syn match cssPseudoClassId contained "\<focus\(-inner\)\=\>"
479syn match cssPseudoClassId contained "\<\(input-\)\=placeholder\>"
480
Bram Moolenaarf2571c62015-06-09 19:44:55 +0200481" Misc highlight groups
482syntax 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
483syntax match cssNoise contained /\(:\|;\|\/\)/
Bram Moolenaar071d4272004-06-13 20:20:40 +0000484
Bram Moolenaard09acef2012-09-21 14:54:30 +0200485" Comment
Bram Moolenaar18441ae2013-09-24 23:30:38 +0200486syn region cssComment start="/\*" end="\*/" contains=@Spell fold
Bram Moolenaar071d4272004-06-13 20:20:40 +0000487
488syn match cssUnicodeEscape "\\\x\{1,6}\s\?"
Bram Moolenaardfb18412013-12-11 18:53:29 +0100489syn match cssSpecialCharQQ +\\\\\|\\"+ contained
490syn match cssSpecialCharQ +\\\\\|\\'+ contained
Bram Moolenaar071d4272004-06-13 20:20:40 +0000491syn region cssStringQQ start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=cssUnicodeEscape,cssSpecialCharQQ
492syn region cssStringQ start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=cssUnicodeEscape,cssSpecialCharQ
Bram Moolenaard09acef2012-09-21 14:54:30 +0200493
494" Vendor Prefix
495syn match cssVendor contained "\(-\(webkit\|moz\|o\|ms\)-\)"
496
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200497" Various CSS Hack characters
498" In earlier versions of IE (6 and 7), one can prefix property names
499" with a _ or * to isolate those definitions to particular versions of IE
500" This is purely decorative and therefore we assign to the same highlight
501" group to cssVendor, for more information:
502" http://www.paulirish.com/2009/browser-specific-css-hacks/
503syn match cssHacks contained /\(_\|*\)/
504
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200505" Attr Enhance
506" Some keywords are both Prop and Attr, so we have to handle them
Bram Moolenaarf2571c62015-06-09 19:44:55 +0200507syn 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 +0200508
509" Hack for transition
Bram Moolenaarf2571c62015-06-09 19:44:55 +0200510" 'transition' has Props after ':'.
511syn 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 +0200512
Bram Moolenaar071d4272004-06-13 20:20:40 +0000513
514if main_syntax == "css"
515 syn sync minlines=10
516endif
517
518" Define the default highlighting.
519" For version 5.7 and earlier: only when not done already
520" For version 5.8 and later: only when an item doesn't have highlighting yet
521if version >= 508 || !exists("did_css_syn_inits")
522 if version < 508
523 let did_css_syn_inits = 1
524 command -nargs=+ HiLink hi link <args>
525 else
526 command -nargs=+ HiLink hi def link <args>
527 endif
528
529 HiLink cssComment Comment
Bram Moolenaard09acef2012-09-21 14:54:30 +0200530 HiLink cssVendor Comment
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200531 HiLink cssHacks Comment
Bram Moolenaar071d4272004-06-13 20:20:40 +0000532 HiLink cssTagName Statement
Bram Moolenaard09acef2012-09-21 14:54:30 +0200533 HiLink cssDeprecated Error
Bram Moolenaar071d4272004-06-13 20:20:40 +0000534 HiLink cssSelectorOp Special
535 HiLink cssSelectorOp2 Special
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200536 HiLink cssAttrComma Special
Bram Moolenaard09acef2012-09-21 14:54:30 +0200537
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200538 HiLink cssAnimationProp cssProp
539 HiLink cssBackgroundProp cssProp
540 HiLink cssBorderProp cssProp
541 HiLink cssBoxProp cssProp
542 HiLink cssColorProp cssProp
543 HiLink cssContentForPagedMediaProp cssProp
544 HiLink cssDimensionProp cssProp
545 HiLink cssFlexibleBoxProp cssProp
546 HiLink cssFontProp cssProp
547 HiLink cssGeneratedContentProp cssProp
548 HiLink cssGridProp cssProp
549 HiLink cssHyerlinkProp cssProp
550 HiLink cssLineboxProp cssProp
551 HiLink cssListProp cssProp
552 HiLink cssMarqueeProp cssProp
553 HiLink cssMultiColumnProp cssProp
554 HiLink cssPagedMediaProp cssProp
555 HiLink cssPositioningProp cssProp
556 HiLink cssPrintProp cssProp
557 HiLink cssRubyProp cssProp
558 HiLink cssSpeechProp cssProp
559 HiLink cssTableProp cssProp
560 HiLink cssTextProp cssProp
561 HiLink cssTransformProp cssProp
562 HiLink cssTransitionProp cssProp
563 HiLink cssUIProp cssProp
564 HiLink cssIEUIProp cssProp
565 HiLink cssAuralProp cssProp
566 HiLink cssRenderProp cssProp
567 HiLink cssMobileTextProp cssProp
Bram Moolenaard09acef2012-09-21 14:54:30 +0200568
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200569 HiLink cssAnimationAttr cssAttr
570 HiLink cssBackgroundAttr cssAttr
571 HiLink cssBorderAttr cssAttr
572 HiLink cssBoxAttr cssAttr
573 HiLink cssContentForPagedMediaAttr cssAttr
574 HiLink cssDimensionAttr cssAttr
575 HiLink cssFlexibleBoxAttr cssAttr
576 HiLink cssFontAttr cssAttr
577 HiLink cssGeneratedContentAttr cssAttr
578 HiLink cssGridAttr cssAttr
579 HiLink cssHyerlinkAttr cssAttr
580 HiLink cssLineboxAttr cssAttr
581 HiLink cssListAttr cssAttr
582 HiLink cssMarginAttr cssAttr
583 HiLink cssMarqueeAttr cssAttr
584 HiLink cssMultiColumnAttr cssAttr
585 HiLink cssPaddingAttr cssAttr
586 HiLink cssPagedMediaAttr cssAttr
587 HiLink cssPositioningAttr cssAttr
588 HiLink cssGradientAttr cssAttr
589 HiLink cssPrintAttr cssAttr
590 HiLink cssRubyAttr cssAttr
591 HiLink cssSpeechAttr cssAttr
592 HiLink cssTableAttr cssAttr
593 HiLink cssTextAttr cssAttr
594 HiLink cssTransformAttr cssAttr
595 HiLink cssTransitionAttr cssAttr
596 HiLink cssUIAttr cssAttr
597 HiLink cssIEUIAttr cssAttr
598 HiLink cssAuralAttr cssAttr
599 HiLink cssRenderAttr cssAttr
600 HiLink cssCommonAttr cssAttr
Bram Moolenaard09acef2012-09-21 14:54:30 +0200601
Bram Moolenaar071d4272004-06-13 20:20:40 +0000602 HiLink cssPseudoClassId PreProc
603 HiLink cssPseudoClassLang Constant
604 HiLink cssValueLength Number
605 HiLink cssValueInteger Number
606 HiLink cssValueNumber Number
607 HiLink cssValueAngle Number
608 HiLink cssValueTime Number
609 HiLink cssValueFrequency Number
610 HiLink cssFunction Constant
611 HiLink cssURL String
612 HiLink cssFunctionName Function
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200613 HiLink cssFunctionComma Function
Bram Moolenaar071d4272004-06-13 20:20:40 +0000614 HiLink cssColor Constant
615 HiLink cssIdentifier Function
616 HiLink cssInclude Include
Bram Moolenaar18441ae2013-09-24 23:30:38 +0200617 HiLink cssIncludeKeyword atKeyword
Bram Moolenaar071d4272004-06-13 20:20:40 +0000618 HiLink cssImportant Special
619 HiLink cssBraces Function
620 HiLink cssBraceError Error
621 HiLink cssError Error
Bram Moolenaar071d4272004-06-13 20:20:40 +0000622 HiLink cssUnicodeEscape Special
623 HiLink cssStringQQ String
624 HiLink cssStringQ String
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200625 HiLink cssAttributeSelector String
Bram Moolenaar18441ae2013-09-24 23:30:38 +0200626 HiLink cssMedia atKeyword
Bram Moolenaar071d4272004-06-13 20:20:40 +0000627 HiLink cssMediaType Special
628 HiLink cssMediaComma Normal
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200629 HiLink cssMediaKeyword Statement
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200630 HiLink cssMediaProp cssProp
631 HiLink cssMediaAttr cssAttr
Bram Moolenaar18441ae2013-09-24 23:30:38 +0200632 HiLink cssPage atKeyword
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200633 HiLink cssPagePseudo PreProc
Bram Moolenaardfb18412013-12-11 18:53:29 +0100634 HiLink cssPageMargin atKeyword
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200635 HiLink cssPageProp cssProp
Bram Moolenaar18441ae2013-09-24 23:30:38 +0200636 HiLink cssKeyFrame atKeyword
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200637 HiLink cssKeyFrameSelector Constant
Bram Moolenaar071d4272004-06-13 20:20:40 +0000638 HiLink cssFontDescriptor Special
639 HiLink cssFontDescriptorFunction Constant
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200640 HiLink cssFontDescriptorProp cssProp
641 HiLink cssFontDescriptorAttr cssAttr
Bram Moolenaar071d4272004-06-13 20:20:40 +0000642 HiLink cssUnicodeRange Constant
Bram Moolenaar29c34722007-05-12 15:34:06 +0000643 HiLink cssClassName Function
Bram Moolenaardfb18412013-12-11 18:53:29 +0100644 HiLink cssClassNameDot Function
Bram Moolenaarbaca7f72013-09-22 14:42:24 +0200645 HiLink cssProp StorageClass
646 HiLink cssAttr Constant
647 HiLink cssUnitDecorators Number
648 HiLink cssNoise Noise
Bram Moolenaarf2571c62015-06-09 19:44:55 +0200649 HiLink atKeyword PreProc
Bram Moolenaar071d4272004-06-13 20:20:40 +0000650 delcommand HiLink
651endif
652
653let b:current_syntax = "css"
654
655if main_syntax == 'css'
656 unlet main_syntax
657endif
658
Bram Moolenaar0c5fa7d2012-10-05 22:26:30 +0200659let &cpo = s:cpo_save
660unlet s:cpo_save
Bram Moolenaar071d4272004-06-13 20:20:40 +0000661" vim: ts=8
662