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) 73a0d8090SBram Moolenaar" URL: https://github.com/JulesWang/css.vim 822f1d0e3SBram Moolenaar" Maintainer: Jules Wang <[email protected]> 9*06fe74aeSBram Moolenaar" Last Change: 2019 Jul. 29 10071d4279SBram Moolenaar 1189bcfda6SBram Moolenaar" quit when a syntax file was already loaded 12071d4279SBram Moolenaarif !exists("main_syntax") 1389bcfda6SBram Moolenaar if exists("b:current_syntax") 14071d4279SBram Moolenaar finish 15071d4279SBram Moolenaar endif 16071d4279SBram Moolenaar let main_syntax = 'css' 17e2db695dSBram Moolenaarelseif exists("b:current_syntax") && b:current_syntax == "css" 18e2db695dSBram Moolenaar finish 19071d4279SBram Moolenaarendif 20071d4279SBram Moolenaar 210c5fa7d7SBram Moolenaarlet s:cpo_save = &cpo 220c5fa7d7SBram Moolenaarset cpo&vim 230c5fa7d7SBram Moolenaar 24071d4279SBram Moolenaarsyn case ignore 25071d4279SBram Moolenaar 26f2571c61SBram Moolenaar" HTML4 tags 27f2571c61SBram Moolenaarsyn keyword cssTagName abbr address area a b base 28f2571c61SBram Moolenaarsyn keyword cssTagName bdo blockquote body br button 29f2571c61SBram Moolenaarsyn keyword cssTagName caption cite code col colgroup dd del 30f2571c61SBram Moolenaarsyn keyword cssTagName dfn div dl dt em fieldset form 31f2571c61SBram Moolenaarsyn keyword cssTagName h1 h2 h3 h4 h5 h6 head hr html img i 32f2571c61SBram Moolenaarsyn keyword cssTagName iframe input ins isindex kbd label legend li 33f2571c61SBram Moolenaarsyn keyword cssTagName link map menu meta noscript ol optgroup 34f2571c61SBram Moolenaarsyn keyword cssTagName option p param pre q s samp script small 35f2571c61SBram Moolenaarsyn keyword cssTagName span strong sub sup tbody td 36f2571c61SBram Moolenaarsyn keyword cssTagName textarea tfoot th thead title tr ul u var 37baca7f70SBram Moolenaarsyn keyword cssTagName object svg 38f2571c61SBram Moolenaarsyn match cssTagName /\<select\>\|\<style\>\|\<table\>/ 39d09acef4SBram Moolenaar 40baca7f70SBram Moolenaar" 34 HTML5 tags 41baca7f70SBram Moolenaarsyn keyword cssTagName article aside audio bdi canvas command data 42baca7f70SBram Moolenaarsyn keyword cssTagName datalist details dialog embed figcaption figure footer 43baca7f70SBram Moolenaarsyn keyword cssTagName header hgroup keygen main mark menuitem meter nav 44d09acef4SBram Moolenaarsyn keyword cssTagName output progress rt rp ruby section 45d09acef4SBram Moolenaarsyn keyword cssTagName source summary time track video wbr 46d09acef4SBram Moolenaar 47d09acef4SBram Moolenaar" Tags not supported in HTML5 48f2571c61SBram Moolenaar" acronym applet basefont big center dir 49f2571c61SBram Moolenaar" font frame frameset noframes strike tt 50d09acef4SBram Moolenaar 51071d4279SBram Moolenaarsyn match cssTagName "\*" 52071d4279SBram Moolenaar 53d09acef4SBram Moolenaar" selectors 54baca7f70SBram Moolenaarsyn match cssSelectorOp "[,>+~]" 55d09acef4SBram Moolenaarsyn match cssSelectorOp2 "[~|^$*]\?=" contained 56baca7f70SBram Moolenaarsyn region cssAttributeSelector matchgroup=cssSelectorOp start="\[" end="]" contains=cssUnicodeEscape,cssSelectorOp2,cssStringQ,cssStringQQ 57071d4279SBram Moolenaar 58d09acef4SBram Moolenaar" .class and #id 59369b6f57SBram Moolenaarsyn match cssClassName "\.-\=[A-Za-z_][A-Za-z0-9_-]*" contains=cssClassNameDot 60dfb18411SBram Moolenaarsyn match cssClassNameDot contained '\.' 61d09acef4SBram Moolenaar 62a5792f58SBram Moolenaartry 63293ee4d4SBram Moolenaarsyn match cssIdentifier "#[A-Za-z�-�_@][A-Za-z�-�0-9_@-]*" 64a5792f58SBram Moolenaarcatch /^.*/ 65a5792f58SBram Moolenaarsyn match cssIdentifier "#[A-Za-z_@][A-Za-z0-9_@-]*" 66a5792f58SBram Moolenaarendtry 67a5792f58SBram Moolenaar 68baca7f70SBram Moolenaar" digits 69baca7f70SBram Moolenaarsyn match cssValueInteger contained "[-+]\=\d\+" contains=cssUnitDecorators 70baca7f70SBram Moolenaarsyn match cssValueNumber contained "[-+]\=\d\+\(\.\d*\)\=" contains=cssUnitDecorators 71*06fe74aeSBram Moolenaarsyn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=\(mm\|cm\|in\|pt\|pc\|em\|ex\|px\|rem\|dpi\|dppx\|dpcm\|fr\|vw\|vh\|vmin\|vmax\)\>" contains=cssUnitDecorators 7222f1d0e3SBram Moolenaarsyn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=%" contains=cssUnitDecorators 73f2571c61SBram Moolenaarsyn match cssValueAngle contained "[-+]\=\d\+\(\.\d*\)\=\(deg\|grad\|rad\)\>" contains=cssUnitDecorators 74f2571c61SBram Moolenaarsyn match cssValueTime contained "+\=\d\+\(\.\d*\)\=\(ms\|s\)\>" contains=cssUnitDecorators 75f2571c61SBram Moolenaarsyn match cssValueFrequency contained "+\=\d\+\(\.\d*\)\=\(Hz\|kHz\)\>" contains=cssUnitDecorators 76071d4279SBram Moolenaar 773a0d8090SBram Moolenaar" The 16 basic color names 78071d4279SBram Moolenaarsyn keyword cssColor contained aqua black blue fuchsia gray green lime maroon navy olive purple red silver teal yellow 793a0d8090SBram Moolenaar 803a0d8090SBram Moolenaar" 130 more color names 813a0d8090SBram Moolenaarsyn keyword cssColor contained aliceblue antiquewhite aquamarine azure 823a0d8090SBram Moolenaarsyn keyword cssColor contained beige bisque blanchedalmond blueviolet brown burlywood 833a0d8090SBram Moolenaarsyn keyword cssColor contained cadetblue chartreuse chocolate coral cornflowerblue cornsilk crimson cyan 84f2571c61SBram Moolenaarsyn match cssColor contained /\<dark\(blue\|cyan\|goldenrod\|gray\|green\|grey\|khaki\)\>/ 85f2571c61SBram Moolenaarsyn match cssColor contained /\<dark\(magenta\|olivegreen\|orange\|orchid\|red\|salmon\|seagreen\)\>/ 86f2571c61SBram Moolenaarsyn match cssColor contained /\<darkslate\(blue\|gray\|grey\)\>/ 87f2571c61SBram Moolenaarsyn match cssColor contained /\<dark\(turquoise\|violet\)\>/ 883a0d8090SBram Moolenaarsyn keyword cssColor contained deeppink deepskyblue dimgray dimgrey dodgerblue firebrick 893a0d8090SBram Moolenaarsyn keyword cssColor contained floralwhite forestgreen gainsboro ghostwhite gold 903a0d8090SBram Moolenaarsyn keyword cssColor contained goldenrod greenyellow grey honeydew hotpink 913a0d8090SBram Moolenaarsyn keyword cssColor contained indianred indigo ivory khaki lavender lavenderblush lawngreen 923a0d8090SBram Moolenaarsyn keyword cssColor contained lemonchiffon limegreen linen magenta 93f2571c61SBram Moolenaarsyn match cssColor contained /\<light\(blue\|coral\|cyan\|goldenrodyellow\|gray\|green\)\>/ 94f2571c61SBram Moolenaarsyn match cssColor contained /\<light\(grey\|pink\|salmon\|seagreen\|skyblue\|yellow\)\>/ 95f2571c61SBram Moolenaarsyn match cssColor contained /\<light\(slategray\|slategrey\|steelblue\)\>/ 96f2571c61SBram Moolenaarsyn match cssColor contained /\<medium\(aquamarine\|blue\|orchid\|purple\|seagreen\)\>/ 97f2571c61SBram Moolenaarsyn match cssColor contained /\<medium\(slateblue\|springgreen\|turquoise\|violetred\)\>/ 983a0d8090SBram Moolenaarsyn keyword cssColor contained midnightblue mintcream mistyrose moccasin navajowhite 993a0d8090SBram Moolenaarsyn keyword cssColor contained oldlace olivedrab orange orangered orchid 100f2571c61SBram Moolenaarsyn match cssColor contained /\<pale\(goldenrod\|green\|turquoise\|violetred\)\>/ 1013a0d8090SBram Moolenaarsyn keyword cssColor contained papayawhip peachpuff peru pink plum powderblue 10222f1d0e3SBram Moolenaarsyn keyword cssColor contained rosybrown royalblue rebeccapurple saddlebrown salmon 10322f1d0e3SBram Moolenaarsyn keyword cssColor contained sandybrown seagreen seashell sienna skyblue slateblue 1043a0d8090SBram Moolenaarsyn keyword cssColor contained slategray slategrey snow springgreen steelblue tan 1053a0d8090SBram Moolenaarsyn keyword cssColor contained thistle tomato turquoise violet wheat 1063a0d8090SBram Moolenaarsyn keyword cssColor contained whitesmoke yellowgreen 1073a0d8090SBram Moolenaar 108baca7f70SBram Moolenaar" FIXME: These are actually case-insensitive too, but (a) specs recommend using 109071d4279SBram Moolenaar" mixed-case (b) it's hard to highlight the word `Background' correctly in 110071d4279SBram Moolenaar" all situations 111071d4279SBram Moolenaarsyn case match 112071d4279SBram 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 113071d4279SBram Moolenaarsyn case ignore 114d09acef4SBram Moolenaar 115d09acef4SBram Moolenaarsyn match cssImportant contained "!\s*important\>" 116*06fe74aeSBram Moolenaarsyn match cssCustomProp contained "--[a-zA-Z0-9-_]*" 117d09acef4SBram Moolenaar 118071d4279SBram Moolenaarsyn match cssColor contained "\<transparent\>" 119f2571c61SBram Moolenaarsyn match cssColor contained "\<currentColor\>" 120071d4279SBram Moolenaarsyn match cssColor contained "\<white\>" 12122f1d0e3SBram Moolenaarsyn match cssColor contained "#\x\{3,4\}\>" contains=cssUnitDecorators 12222f1d0e3SBram Moolenaarsyn match cssColor contained "#\x\{6\}\>" contains=cssUnitDecorators 12322f1d0e3SBram Moolenaarsyn match cssColor contained "#\x\{8\}\>" contains=cssUnitDecorators 124d09acef4SBram Moolenaar 12522f1d0e3SBram Moolenaarsyn region cssURL contained matchgroup=cssFunctionName start="\<\(uri\|url\|local\|format\)\s*(" end=")" contains=cssStringQ,cssStringQQ oneline 126*06fe74aeSBram Moolenaarsyn region cssFunction contained matchgroup=cssFunctionName start="\<\(var\|calc\)\s*(" end=")" contains=cssCustomProp,cssValue.*,cssFunction,cssColor,cssStringQ,cssStringQQ oneline 127baca7f70SBram Moolenaarsyn region cssFunction contained matchgroup=cssFunctionName start="\<\(rgb\|clip\|attr\|counter\|rect\|cubic-bezier\|steps\)\s*(" end=")" oneline contains=cssValueInteger,cssValueNumber,cssValueLength,cssFunctionComma 128baca7f70SBram Moolenaarsyn region cssFunction contained matchgroup=cssFunctionName start="\<\(rgba\|hsl\|hsla\|color-stop\|from\|to\)\s*(" end=")" oneline contains=cssColor,cssValueInteger,cssValueNumber,cssValueLength,cssFunctionComma,cssFunction 129baca7f70SBram Moolenaarsyn region cssFunction contained matchgroup=cssFunctionName start="\<\(linear-\|radial-\)\=\gradient\s*(" end=")" oneline contains=cssColor,cssValueInteger,cssValueNumber,cssValueLength,cssFunction,cssGradientAttr,cssFunctionComma 130baca7f70SBram 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 131baca7f70SBram Moolenaarsyn keyword cssGradientAttr contained top bottom left right cover center middle ellipse at 132baca7f70SBram Moolenaarsyn match cssFunctionComma contained "," 133071d4279SBram Moolenaar 134baca7f70SBram Moolenaar" Common Prop and Attr 135baca7f70SBram Moolenaarsyn keyword cssCommonAttr contained auto none inherit all default normal 136baca7f70SBram Moolenaarsyn keyword cssCommonAttr contained top bottom center stretch hidden visible 137baca7f70SBram Moolenaar"------------------------------------------------ 138baca7f70SBram Moolenaar" CSS Animations 139baca7f70SBram Moolenaar" http://www.w3.org/TR/css3-animations/ 140dfb18411SBram Moolenaarsyn match cssAnimationProp contained "\<animation\(-\(delay\|direction\|duration\|fill-mode\|name\|play-state\|timing-function\|iteration-count\)\)\=\>" 141071d4279SBram Moolenaar 142baca7f70SBram Moolenaar" animation-direction attributes 143baca7f70SBram Moolenaarsyn keyword cssAnimationAttr contained alternate reverse 144baca7f70SBram Moolenaarsyn match cssAnimationAttr contained "\<alternate-reverse\>" 145d09acef4SBram Moolenaar 146baca7f70SBram Moolenaar" animation-fill-mode attributes 147baca7f70SBram Moolenaarsyn keyword cssAnimationAttr contained forwards backwards both 148d09acef4SBram Moolenaar 149baca7f70SBram Moolenaar" animation-play-state attributes 150baca7f70SBram Moolenaarsyn keyword cssAnimationAttr contained running paused 151f2571c61SBram Moolenaar 152f2571c61SBram Moolenaar" animation-iteration-count attributes 153f2571c61SBram Moolenaarsyn keyword cssAnimationAttr contained infinite 154baca7f70SBram Moolenaar"------------------------------------------------ 155baca7f70SBram Moolenaar" CSS Backgrounds and Borders Module Level 3 156baca7f70SBram Moolenaar" http://www.w3.org/TR/css3-background/ 157baca7f70SBram Moolenaarsyn match cssBackgroundProp contained "\<background\(-\(attachment\|clip\|color\|image\|origin\|position\|repeat\|size\)\)\=\>" 158baca7f70SBram Moolenaar" background-attachment attributes 159baca7f70SBram Moolenaarsyn keyword cssBackgroundAttr contained scroll fixed local 160d09acef4SBram Moolenaar 161baca7f70SBram Moolenaar" background-position attributes 162baca7f70SBram Moolenaarsyn keyword cssBackgroundAttr contained left center right top bottom 163d09acef4SBram Moolenaar 164baca7f70SBram Moolenaar" background-repeat attributes 165d09acef4SBram Moolenaarsyn match cssBackgroundAttr contained "\<no-repeat\>" 166d09acef4SBram Moolenaarsyn match cssBackgroundAttr contained "\<repeat\(-[xy]\)\=\>" 167d09acef4SBram Moolenaar 168baca7f70SBram Moolenaar" background-size attributes 169baca7f70SBram Moolenaarsyn keyword cssBackgroundAttr contained cover contain 170d09acef4SBram Moolenaar 171baca7f70SBram Moolenaarsyn match cssBorderProp contained "\<border\(-\(top\|right\|bottom\|left\)\)\=\(-\(width\|color\|style\)\)\=\>" 172baca7f70SBram Moolenaarsyn match cssBorderProp contained "\<border\(-\(top\|bottom\)-\(left\|right\)\)\=-radius\>" 173baca7f70SBram Moolenaarsyn match cssBorderProp contained "\<border-image\(-\(outset\|repeat\|slice\|source\|width\)\)\=\>" 174baca7f70SBram Moolenaarsyn match cssBorderProp contained "\<box-decoration-break\>" 175baca7f70SBram Moolenaarsyn match cssBorderProp contained "\<box-shadow\>" 176d09acef4SBram Moolenaar 177baca7f70SBram Moolenaar" border-image attributes 17822f1d0e3SBram Moolenaarsyn keyword cssBorderAttr contained stretch round fill 179d09acef4SBram Moolenaar 180baca7f70SBram Moolenaar" border-style attributes 181baca7f70SBram Moolenaarsyn keyword cssBorderAttr contained dotted dashed solid double groove ridge inset outset 182baca7f70SBram Moolenaar 183baca7f70SBram Moolenaar" border-width attributes 184baca7f70SBram Moolenaarsyn keyword cssBorderAttr contained thin thick medium 185baca7f70SBram Moolenaar 186baca7f70SBram Moolenaar" box-decoration-break attributes 187baca7f70SBram Moolenaarsyn keyword cssBorderAttr contained clone slice 188baca7f70SBram Moolenaar"------------------------------------------------ 189baca7f70SBram Moolenaar 190baca7f70SBram Moolenaarsyn match cssBoxProp contained "\<padding\(-\(top\|right\|bottom\|left\)\)\=\>" 191baca7f70SBram Moolenaarsyn match cssBoxProp contained "\<margin\(-\(top\|right\|bottom\|left\)\)\=\>" 192d09acef4SBram Moolenaarsyn match cssBoxProp contained "\<overflow\(-\(x\|y\|style\)\)\=\>" 193dfb18411SBram Moolenaarsyn match cssBoxProp contained "\<rotation\(-point\)\=\>" 194d09acef4SBram Moolenaarsyn keyword cssBoxAttr contained visible hidden scroll auto 195d09acef4SBram Moolenaarsyn match cssBoxAttr contained "\<no-\(display\|content\)\>" 196d09acef4SBram Moolenaar 197*06fe74aeSBram Moolenaarsyn keyword cssCascadeProp contained all 198*06fe74aeSBram Moolenaarsyn keyword cssCascadeAttr contained initial unset revert 199*06fe74aeSBram Moolenaar 200d09acef4SBram Moolenaarsyn keyword cssColorProp contained opacity 201d09acef4SBram Moolenaarsyn match cssColorProp contained "\<color-profile\>" 202d09acef4SBram Moolenaarsyn match cssColorProp contained "\<rendering-intent\>" 203d09acef4SBram Moolenaar 204d09acef4SBram Moolenaar 205d09acef4SBram Moolenaarsyn match cssDimensionProp contained "\<\(min\|max\)-\(width\|height\)\>" 206d09acef4SBram Moolenaarsyn keyword cssDimensionProp contained height 207d09acef4SBram Moolenaarsyn keyword cssDimensionProp contained width 208d09acef4SBram Moolenaar 20922f1d0e3SBram Moolenaar" CSS Flexible Box Layout Module Level 1 21022f1d0e3SBram Moolenaar" http://www.w3.org/TR/css3-flexbox/ 21122f1d0e3SBram Moolenaar" CSS Box Alignment Module Level 3 21222f1d0e3SBram Moolenaar" http://www.w3.org/TR/css-align-3/ 21322f1d0e3SBram Moolenaarsyn match cssFlexibleBoxProp contained "\<flex\(-\(direction\|wrap\|flow\|grow\|shrink\|basis\)\)\=\>" 21422f1d0e3SBram Moolenaarsyn match cssFlexibleBoxProp contained "\<\(align\|justify\)\(-\(items\|self\|content\)\)\=\>" 21522f1d0e3SBram Moolenaarsyn keyword cssFlexibleBoxProp contained order 21622f1d0e3SBram Moolenaar 21722f1d0e3SBram Moolenaarsyn match cssFlexibleBoxAttr contained "\<\(row\|column\|wrap\)\(-reverse\)\=\>" 21822f1d0e3SBram Moolenaarsyn keyword cssFlexibleBoxAttr contained nowrap stretch baseline center 21922f1d0e3SBram Moolenaarsyn match cssFlexibleBoxAttr contained "\<flex\(-\(start\|end\)\)\=\>" 22022f1d0e3SBram Moolenaarsyn match cssFlexibleBoxAttr contained "\<space\(-\(between\|around\)\)\=\>" 221d09acef4SBram Moolenaar 222baca7f70SBram Moolenaar" CSS Fonts Module Level 3 223baca7f70SBram Moolenaar" http://www.w3.org/TR/css-fonts-3/ 224baca7f70SBram 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\)\)\=\>" 225f2571c61SBram Moolenaar 226baca7f70SBram Moolenaar" font attributes 227baca7f70SBram Moolenaarsyn keyword cssFontAttr contained icon menu caption 228071d4279SBram Moolenaarsyn match cssFontAttr contained "\<message-box\>" 229071d4279SBram Moolenaarsyn match cssFontAttr contained "\<status-bar\>" 230baca7f70SBram Moolenaarsyn keyword cssFontAttr contained larger smaller 231baca7f70SBram Moolenaarsyn match cssFontAttr contained "\<\(x\{1,2\}-\)\=\(large\|small\)\>" 23222f1d0e3SBram Moolenaarsyn match cssFontAttr contained "\<small-\(caps\|caption\)\>" 233baca7f70SBram Moolenaar" font-family attributes 234baca7f70SBram Moolenaarsyn match cssFontAttr contained "\<\(sans-\)\=serif\>" 235f2571c61SBram 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 Verdana Webdings Wingdings York Zapf 236baca7f70SBram Moolenaarsyn keyword cssFontAttr contained cursive fantasy monospace 237baca7f70SBram Moolenaar" font-feature-settings attributes 238baca7f70SBram Moolenaarsyn keyword cssFontAttr contained on off 239baca7f70SBram Moolenaar" font-stretch attributes 240baca7f70SBram Moolenaarsyn match cssFontAttr contained "\<\(\(ultra\|extra\|semi\)-\)\=\(condensed\|expanded\)\>" 241baca7f70SBram Moolenaar" font-style attributes 242baca7f70SBram Moolenaarsyn keyword cssFontAttr contained italic oblique 243f2571c61SBram Moolenaar" font-synthesis attributes 244f2571c61SBram Moolenaarsyn keyword cssFontAttr contained weight style 245baca7f70SBram Moolenaar" font-weight attributes 246baca7f70SBram Moolenaarsyn keyword cssFontAttr contained bold bolder lighter 247f2571c61SBram Moolenaar" TODO: font-variant-* attributes 248baca7f70SBram Moolenaar"------------------------------------------------ 249baca7f70SBram Moolenaar 250baca7f70SBram Moolenaar" Webkit specific property/attributes 251baca7f70SBram Moolenaarsyn match cssFontProp contained "\<font-smooth\>" 252baca7f70SBram Moolenaarsyn match cssFontAttr contained "\<\(subpixel-\)\=\antialiased\>" 253baca7f70SBram Moolenaar 254dfb18411SBram Moolenaar 255dfb18411SBram Moolenaar" CSS Multi-column Layout Module 256dfb18411SBram Moolenaar" http://www.w3.org/TR/css3-multicol/ 257dfb18411SBram Moolenaarsyn match cssMultiColumnProp contained "\<break-\(after\|before\|inside\)\>" 258dfb18411SBram Moolenaarsyn match cssMultiColumnProp contained "\<column-\(count\|fill\|gap\|rule\(-\(color\|style\|width\)\)\=\|span\|width\)\>" 259dfb18411SBram Moolenaarsyn keyword cssMultiColumnProp contained columns 260dfb18411SBram Moolenaarsyn keyword cssMultiColumnAttr contained balance medium 26122f1d0e3SBram Moolenaarsyn keyword cssMultiColumnAttr contained always left right page column 26222f1d0e3SBram Moolenaarsyn match cssMultiColumnAttr contained "\<avoid\(-\(page\|column\)\)\=\>" 263dfb18411SBram Moolenaar 264dfb18411SBram Moolenaar" http://www.w3.org/TR/css3-break/#page-break 265dfb18411SBram Moolenaarsyn match cssMultiColumnProp contained "\<page\(-break-\(before\|after\|inside\)\)\=\>" 266dfb18411SBram Moolenaar 26722f1d0e3SBram Moolenaar" http://www.w3.org/TR/SVG11/interact.html 26822f1d0e3SBram Moolenaarsyn match cssInteractProp contained "\<pointer-events\>" 26922f1d0e3SBram Moolenaarsyn match cssInteractAttr contained "\<\(visible\)\=\(Painted\|Fill\|Stroke\)\=\>" 27022f1d0e3SBram Moolenaar 271dfb18411SBram Moolenaar" TODO find following items in w3c docs. 272baca7f70SBram Moolenaarsyn keyword cssGeneratedContentProp contained quotes crop 273d09acef4SBram Moolenaarsyn match cssGeneratedContentProp contained "\<counter-\(reset\|increment\)\>" 274d09acef4SBram Moolenaarsyn match cssGeneratedContentProp contained "\<move-to\>" 275d09acef4SBram Moolenaarsyn match cssGeneratedContentProp contained "\<page-policy\>" 276d09acef4SBram Moolenaarsyn match cssGeneratedContentAttr contained "\<\(no-\)\=\(open\|close\)-quote\>" 277d09acef4SBram Moolenaar 27822f1d0e3SBram Moolenaar" https://www.w3.org/TR/css-grid-1/ 27922f1d0e3SBram Moolenaarsyn match cssGridProp contained "\<grid\>" 280*06fe74aeSBram Moolenaarsyn match cssGridProp contained "\<grid-template\(-\(columns\|rows\|areas\)\)\=\>" 28122f1d0e3SBram Moolenaarsyn match cssGridProp contained "\<grid-\(column\|row\)\(-\(start\|end\|gap\)\)\=\>" 28222f1d0e3SBram Moolenaarsyn match cssGridProp contained "\<grid-\(area\|gap\)\>" 283*06fe74aeSBram Moolenaarsyn match cssGridProp contained "\<grid-auto-\(flow\|rows\|columns\)\>" 284d09acef4SBram Moolenaar 285d09acef4SBram Moolenaarsyn match cssHyerlinkProp contained "\<target\(-\(name\|new\|position\)\)\=\>" 286d09acef4SBram Moolenaar 287d09acef4SBram Moolenaarsyn match cssListProp contained "\<list-style\(-\(type\|position\|image\)\)\=\>" 288d09acef4SBram Moolenaarsyn match cssListAttr contained "\<\(lower\|upper\)-\(roman\|alpha\|greek\|latin\)\>" 289d09acef4SBram Moolenaarsyn match cssListAttr contained "\<\(hiragana\|katakana\)\(-iroha\)\=\>" 290d09acef4SBram Moolenaarsyn match cssListAttr contained "\<\(decimal\(-leading-zero\)\=\|cjk-ideographic\)\>" 291d09acef4SBram Moolenaarsyn keyword cssListAttr contained disc circle square hebrew armenian georgian 292d09acef4SBram Moolenaarsyn keyword cssListAttr contained inside outside 293d09acef4SBram Moolenaar 294d09acef4SBram Moolenaarsyn keyword cssPositioningProp contained bottom clear clip display float left 295d09acef4SBram Moolenaarsyn keyword cssPositioningProp contained position right top visibility 296d09acef4SBram Moolenaarsyn match cssPositioningProp contained "\<z-index\>" 29722f1d0e3SBram Moolenaarsyn keyword cssPositioningAttr contained block compact grid 298baca7f70SBram Moolenaarsyn match cssPositioningAttr contained "\<table\(-\(row-group\|\(header\|footer\)-group\|row\|column\(-group\)\=\|cell\|caption\)\)\=\>" 299d09acef4SBram Moolenaarsyn keyword cssPositioningAttr contained left right both 300d09acef4SBram Moolenaarsyn match cssPositioningAttr contained "\<list-item\>" 30122f1d0e3SBram Moolenaarsyn match cssPositioningAttr contained "\<inline\(-\(block\|box\|table\|grid\|flex\)\)\=\>" 302*06fe74aeSBram Moolenaarsyn match cssPositioningAttr contained "\<flow\(-root\)\=\>" 30322f1d0e3SBram Moolenaarsyn keyword cssPositioningAttr contained static relative absolute fixed subgrid 304d09acef4SBram Moolenaar 30522f1d0e3SBram Moolenaarsyn keyword cssPrintAttr contained landscape portrait crop cross always 306d09acef4SBram Moolenaar 307d09acef4SBram Moolenaarsyn match cssTableProp contained "\<\(caption-side\|table-layout\|border-collapse\|border-spacing\|empty-cells\)\>" 308d09acef4SBram Moolenaarsyn keyword cssTableAttr contained fixed collapse separate show hide once always 309d09acef4SBram Moolenaar 310d09acef4SBram Moolenaar 311*06fe74aeSBram Moolenaarsyn keyword cssTextProp contained color direction hyphens 312071d4279SBram Moolenaarsyn match cssTextProp "\<\(\(word\|letter\)-spacing\|text\(-\(decoration\|transform\|align\|index\|shadow\)\)\=\|vertical-align\|unicode-bidi\|line-height\)\>" 313baca7f70SBram Moolenaarsyn match cssTextProp contained "\<text-\(justify\|outline\|warp\|align-last\|size-adjust\|rendering\|stroke\|indent\)\>" 314*06fe74aeSBram Moolenaarsyn match cssTextProp contained "\<\(word\|line\)-break\|\(overflow\|word\)-wrap\>" 315d09acef4SBram Moolenaarsyn match cssTextProp contained "\<white-space\>" 316d09acef4SBram Moolenaarsyn match cssTextProp contained "\<hanging-punctuation\>" 317*06fe74aeSBram Moolenaarsyn match cssTextProp contained "\<tab-size\>" 318d09acef4SBram Moolenaarsyn match cssTextProp contained "\<punctuation-trim\>" 319071d4279SBram Moolenaarsyn match cssTextAttr contained "\<line-through\>" 320071d4279SBram Moolenaarsyn match cssTextAttr contained "\<\(text-\)\=\(top\|bottom\)\>" 321d09acef4SBram Moolenaarsyn keyword cssTextAttr contained ltr rtl embed nowrap 322071d4279SBram Moolenaarsyn keyword cssTextAttr contained underline overline blink sub super middle 323d09acef4SBram Moolenaarsyn keyword cssTextAttr contained capitalize uppercase lowercase 324baca7f70SBram Moolenaarsyn keyword cssTextAttr contained justify baseline sub super 325*06fe74aeSBram Moolenaarsyn keyword cssTextAttr contained optimizeLegibility optimizeSpeed geometricPrecision 326d09acef4SBram Moolenaarsyn match cssTextAttr contained "\<pre\(-\(line\|wrap\)\)\=\>" 327d09acef4SBram Moolenaarsyn match cssTextAttr contained "\<\(allow\|force\)-end\>" 328d09acef4SBram Moolenaarsyn keyword cssTextAttr contained start end adjacent 329d09acef4SBram Moolenaarsyn match cssTextAttr contained "\<inter-\(word\|ideographic\|cluster\)\>" 330d09acef4SBram Moolenaarsyn keyword cssTextAttr contained distribute kashida first last 331d09acef4SBram Moolenaarsyn keyword cssTextAttr contained clip ellipsis unrestricted suppress 332d09acef4SBram Moolenaarsyn match cssTextAttr contained "\<break-all\>" 333d09acef4SBram Moolenaarsyn match cssTextAttr contained "\<break-word\>" 334*06fe74aeSBram Moolenaarsyn keyword cssTextAttr contained manual 335baca7f70SBram Moolenaarsyn match cssTextAttr contained "\<bidi-override\>" 336071d4279SBram Moolenaar 337d09acef4SBram Moolenaarsyn match cssTransformProp contained "\<transform\(-\(origin\|style\)\)\=\>" 338d09acef4SBram Moolenaarsyn match cssTransformProp contained "\<perspective\(-origin\)\=\>" 339d09acef4SBram Moolenaarsyn match cssTransformProp contained "\<backface-visibility\>" 340071d4279SBram Moolenaar 341baca7f70SBram Moolenaar" CSS Transitions 342baca7f70SBram Moolenaar" http://www.w3.org/TR/css3-transitions/ 343d09acef4SBram Moolenaarsyn match cssTransitionProp contained "\<transition\(-\(delay\|duration\|property\|timing-function\)\)\=\>" 344071d4279SBram Moolenaar 345baca7f70SBram Moolenaar" transition-time-function attributes 346baca7f70SBram Moolenaarsyn match cssTransitionAttr contained "\<linear\(-gradient\)\@!\>" 347baca7f70SBram Moolenaarsyn match cssTransitionAttr contained "\<ease\(-\(in-out\|out\|in\)\)\=\>" 348baca7f70SBram Moolenaarsyn match cssTransitionAttr contained "\<step\(-start\|-end\)\=\>" 349baca7f70SBram Moolenaar"------------------------------------------------ 350baca7f70SBram Moolenaar" CSS Basic User Interface Module Level 3 (CSS3 UI) 351baca7f70SBram Moolenaar" http://www.w3.org/TR/css3-ui/ 352d09acef4SBram Moolenaarsyn match cssUIProp contained "\<box-sizing\>" 353baca7f70SBram Moolenaarsyn match cssUIAttr contained "\<\(content\|padding\|border\)\(-box\)\=\>" 354baca7f70SBram Moolenaar 355baca7f70SBram Moolenaarsyn keyword cssUIProp contained cursor 356baca7f70SBram Moolenaarsyn match cssUIAttr contained "\<\(\([ns]\=[ew]\=\)\|col\|row\|nesw\|nwse\)-resize\>" 357baca7f70SBram Moolenaarsyn keyword cssUIAttr contained crosshair help move pointer alias copy 358baca7f70SBram Moolenaarsyn keyword cssUIAttr contained progress wait text cell move 359baca7f70SBram Moolenaarsyn match cssUIAttr contained "\<context-menu\>" 360baca7f70SBram Moolenaarsyn match cssUIAttr contained "\<no-drop\>" 361baca7f70SBram Moolenaarsyn match cssUIAttr contained "\<not-allowed\>" 362baca7f70SBram Moolenaarsyn match cssUIAttr contained "\<all-scroll\>" 363baca7f70SBram Moolenaarsyn match cssUIAttr contained "\<\(vertical-\)\=text\>" 364baca7f70SBram Moolenaarsyn match cssUIAttr contained "\<zoom\(-in\|-out\)\=\>" 365baca7f70SBram Moolenaar 366baca7f70SBram Moolenaarsyn match cssUIProp contained "\<ime-mode\>" 367baca7f70SBram Moolenaarsyn keyword cssUIAttr contained active inactive disabled 368baca7f70SBram Moolenaar 369baca7f70SBram Moolenaarsyn match cssUIProp contained "\<nav-\(down\|index\|left\|right\|up\)\=\>" 370baca7f70SBram Moolenaarsyn match cssUIProp contained "\<outline\(-\(width\|style\|color\|offset\)\)\=\>" 371baca7f70SBram Moolenaarsyn keyword cssUIAttr contained invert 372baca7f70SBram Moolenaar 373baca7f70SBram Moolenaarsyn keyword cssUIProp contained icon resize 374baca7f70SBram Moolenaarsyn keyword cssUIAttr contained both horizontal vertical 375baca7f70SBram Moolenaar 376baca7f70SBram Moolenaarsyn match cssUIProp contained "\<text-overflow\>" 377baca7f70SBram Moolenaarsyn keyword cssUIAttr contained clip ellipsis 378baca7f70SBram Moolenaar 37922f1d0e3SBram Moolenaarsyn match cssUIProp contained "\<image-rendering\>" 38022f1d0e3SBram Moolenaarsyn keyword cssUIAttr contained pixellated 38122f1d0e3SBram Moolenaarsyn match cssUIAttr contained "\<crisp-edges\>" 38222f1d0e3SBram Moolenaar 383baca7f70SBram Moolenaar"------------------------------------------------ 384baca7f70SBram Moolenaar" Webkit/iOS specific attributes 38522f1d0e3SBram Moolenaarsyn match cssUIAttr contained '\<preserve-3d\>' 386baca7f70SBram Moolenaar" IE specific attributes 38722f1d0e3SBram Moolenaarsyn match cssIEUIAttr contained '\<bicubic\>' 388baca7f70SBram Moolenaar 389baca7f70SBram Moolenaar" Webkit/iOS specific properties 39022f1d0e3SBram Moolenaarsyn match cssUIProp contained '\<tap-highlight-color\|user-select\|touch-callout\>' 391baca7f70SBram Moolenaar" IE specific properties 39222f1d0e3SBram Moolenaarsyn match cssIEUIProp contained '\<interpolation-mode\|zoom\|filter\>' 393baca7f70SBram Moolenaar 394baca7f70SBram Moolenaar" Webkit/Firebox specific properties/attributes 395baca7f70SBram Moolenaarsyn keyword cssUIProp contained appearance 396baca7f70SBram Moolenaarsyn keyword cssUIAttr contained window button field icon document menu 397baca7f70SBram Moolenaar 398071d4279SBram Moolenaar 399071d4279SBram Moolenaarsyn match cssAuralProp contained "\<\(pause\|cue\)\(-\(before\|after\)\)\=\>" 400baca7f70SBram Moolenaarsyn match cssAuralProp contained "\<\(play-during\|speech-rate\|voice-family\|pitch\(-range\)\=\|speak\(-\(punctuation\|numeral\|header\)\)\=\)\>" 401071d4279SBram Moolenaarsyn keyword cssAuralProp contained volume during azimuth elevation stress richness 402071d4279SBram Moolenaarsyn match cssAuralAttr contained "\<\(x-\)\=\(soft\|loud\)\>" 403071d4279SBram Moolenaarsyn keyword cssAuralAttr contained silent 404071d4279SBram Moolenaarsyn match cssAuralAttr contained "\<spell-out\>" 405071d4279SBram Moolenaarsyn keyword cssAuralAttr contained non mix 406071d4279SBram Moolenaarsyn match cssAuralAttr contained "\<\(left\|right\)-side\>" 407071d4279SBram Moolenaarsyn match cssAuralAttr contained "\<\(far\|center\)-\(left\|center\|right\)\>" 408071d4279SBram Moolenaarsyn keyword cssAuralAttr contained leftwards rightwards behind 409baca7f70SBram Moolenaarsyn keyword cssAuralAttr contained below level above lower higher 410baca7f70SBram Moolenaarsyn match cssAuralAttr contained "\<\(x-\)\=\(slow\|fast\|low\|high\)\>" 411071d4279SBram Moolenaarsyn keyword cssAuralAttr contained faster slower 412071d4279SBram Moolenaarsyn keyword cssAuralAttr contained male female child code digits continuous 413071d4279SBram Moolenaar 414baca7f70SBram Moolenaar" mobile text 415baca7f70SBram Moolenaarsyn match cssMobileTextProp contained "\<text-size-adjust\>" 416d09acef4SBram Moolenaar 417*06fe74aeSBram Moolenaarsyn keyword cssMediaProp contained width height orientation scan 41822f1d0e3SBram Moolenaarsyn match cssMediaProp contained /\(\(max\|min\)-\)\=\(\(device\)-\)\=aspect-ratio/ 41922f1d0e3SBram Moolenaarsyn match cssMediaProp contained /\(\(max\|min\)-\)\=device-pixel-ratio/ 42022f1d0e3SBram Moolenaarsyn match cssMediaProp contained /\(\(max\|min\)-\)\=device-\(height\|width\)/ 42122f1d0e3SBram Moolenaarsyn match cssMediaProp contained /\(\(max\|min\)-\)\=\(height\|width\|resolution\|monochrome\|color\(-index\)\=\)/ 42222f1d0e3SBram Moolenaarsyn keyword cssMediaAttr contained portrait landscape progressive interlace 423*06fe74aeSBram Moolenaarsyn match cssKeyFrameProp contained /\(\d\+\(\.\d\+\)\?%\|\(\<from\|to\>\)\)/ nextgroup=cssDefinition 42422f1d0e3SBram Moolenaarsyn match cssPageMarginProp /@\(\(top\|left\|right\|bottom\)-\(left\|center\|right\|middle\|bottom\)\)\(-corner\)\=/ contained nextgroup=cssDefinition 42522f1d0e3SBram Moolenaarsyn keyword cssPageProp contained content size 42622f1d0e3SBram Moolenaarsyn keyword cssPageProp contained orphans widows 42722f1d0e3SBram Moolenaarsyn keyword cssFontDescriptorProp contained src 42822f1d0e3SBram Moolenaarsyn match cssFontDescriptorProp contained "\<unicode-range\>" 42922f1d0e3SBram Moolenaar" unicode-range attributes 43022f1d0e3SBram Moolenaarsyn match cssFontDescriptorAttr contained "U+[0-9A-Fa-f?]\+" 43122f1d0e3SBram Moolenaarsyn match cssFontDescriptorAttr contained "U+\x\+-\x\+" 432baca7f70SBram Moolenaar 433071d4279SBram Moolenaarsyn match cssBraces contained "[{}]" 434071d4279SBram Moolenaarsyn match cssError contained "{@<>" 435*06fe74aeSBram Moolenaarsyn region cssDefinition transparent matchgroup=cssBraces start='{' end='}' contains=cssTagName,cssAttributeSelector,cssClassName,cssIdentifier,cssAtRule,cssAttrRegion,css.*Prop,cssComment,cssValue.*,cssColor,cssURL,cssImportant,cssCustomProp,cssError,cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape,cssVendor,cssDefinition,cssHacks,cssNoise fold 436071d4279SBram Moolenaarsyn match cssBraceError "}" 437baca7f70SBram Moolenaarsyn match cssAttrComma "," 438071d4279SBram Moolenaar 439d09acef4SBram Moolenaar" Pseudo class 440baca7f70SBram Moolenaar" http://www.w3.org/TR/css3-selectors/ 441baca7f70SBram Moolenaarsyn match cssPseudoClass ":[A-Za-z0-9_-]*" contains=cssNoise,cssPseudoClassId,cssUnicodeEscape,cssVendor,cssPseudoClassFn 442baca7f70SBram Moolenaarsyn keyword cssPseudoClassId contained link visited active hover before after left right 443baca7f70SBram Moolenaarsyn keyword cssPseudoClassId contained root empty target enable disabled checked invalid 444baca7f70SBram Moolenaarsyn match cssPseudoClassId contained "\<first-\(line\|letter\)\>" 445baca7f70SBram Moolenaarsyn match cssPseudoClassId contained "\<\(first\|last\|only\)-\(of-type\|child\)\>" 446*06fe74aeSBram Moolenaarsyn region cssPseudoClassFn contained matchgroup=cssFunctionName start="\<\(not\|lang\|\(nth\|nth-last\)-\(of-type\|child\)\)(" end=")" contains=cssStringQ,cssStringQQ 447baca7f70SBram Moolenaar" ------------------------------------ 448baca7f70SBram Moolenaar" Vendor specific properties 449baca7f70SBram Moolenaarsyn match cssPseudoClassId contained "\<selection\>" 450baca7f70SBram Moolenaarsyn match cssPseudoClassId contained "\<focus\(-inner\)\=\>" 451baca7f70SBram Moolenaarsyn match cssPseudoClassId contained "\<\(input-\)\=placeholder\>" 452baca7f70SBram Moolenaar 453f2571c61SBram Moolenaar" Misc highlight groups 45422f1d0e3SBram Moolenaarsyntax 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 455f2571c61SBram Moolenaarsyntax match cssNoise contained /\(:\|;\|\/\)/ 456071d4279SBram Moolenaar 457d09acef4SBram Moolenaar" Comment 45818441ae2SBram Moolenaarsyn region cssComment start="/\*" end="\*/" contains=@Spell fold 459071d4279SBram Moolenaar 460071d4279SBram Moolenaarsyn match cssUnicodeEscape "\\\x\{1,6}\s\?" 461dfb18411SBram Moolenaarsyn match cssSpecialCharQQ +\\\\\|\\"+ contained 462dfb18411SBram Moolenaarsyn match cssSpecialCharQ +\\\\\|\\'+ contained 463071d4279SBram Moolenaarsyn region cssStringQQ start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=cssUnicodeEscape,cssSpecialCharQQ 464071d4279SBram Moolenaarsyn region cssStringQ start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=cssUnicodeEscape,cssSpecialCharQ 465d09acef4SBram Moolenaar 466d09acef4SBram Moolenaar" Vendor Prefix 46722f1d0e3SBram Moolenaarsyn match cssVendor contained "-\(webkit\|moz\|o\|ms\)-" 468d09acef4SBram Moolenaar 469baca7f70SBram Moolenaar" Various CSS Hack characters 470baca7f70SBram Moolenaar" In earlier versions of IE (6 and 7), one can prefix property names 471baca7f70SBram Moolenaar" with a _ or * to isolate those definitions to particular versions of IE 472baca7f70SBram Moolenaar" This is purely decorative and therefore we assign to the same highlight 473baca7f70SBram Moolenaar" group to cssVendor, for more information: 474baca7f70SBram Moolenaar" http://www.paulirish.com/2009/browser-specific-css-hacks/ 475baca7f70SBram Moolenaarsyn match cssHacks contained /\(_\|*\)/ 476baca7f70SBram Moolenaar 477baca7f70SBram Moolenaar" Attr Enhance 478baca7f70SBram Moolenaar" Some keywords are both Prop and Attr, so we have to handle them 479*06fe74aeSBram Moolenaar" cssPseudoClassId is hidden by cssAttrRegion, so we add it here. see #69 480*06fe74aeSBram Moolenaarsyn region cssAttrRegion start=/:/ end=/\ze\(;\|)\|}\|{\)/ contained contains=cssPseudoClassId,css.*Attr,cssColor,cssImportant,cssValue.*,cssFunction,cssString.*,cssURL,cssComment,cssUnicodeEscape,cssVendor,cssError,cssAttrComma,cssNoise 481baca7f70SBram Moolenaar 482baca7f70SBram Moolenaar" Hack for transition 483f2571c61SBram Moolenaar" 'transition' has Props after ':'. 484f2571c61SBram Moolenaarsyn 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 485baca7f70SBram Moolenaar 486*06fe74aeSBram Moolenaarsyn match cssAtKeyword /@\(font-face\|media\|keyframes\|import\|charset\|namespace\|page\|supports\)/ 48722f1d0e3SBram Moolenaar 48822f1d0e3SBram Moolenaarsyn keyword cssAtRuleLogical only not and contained 48922f1d0e3SBram Moolenaar 49022f1d0e3SBram Moolenaar" @media 49122f1d0e3SBram Moolenaar" Reference: http://www.w3.org/TR/css3-mediaqueries/ 492*06fe74aeSBram Moolenaarsyn region cssAtRule start=/@media\>/ end=/\ze{/ skipwhite skipnl matchgroup=cssAtKeyword contains=cssMediaProp,cssValueLength,cssAtRuleLogical,cssValueInteger,cssMediaAttr,cssVendor,cssMediaType,cssComment,cssCustomProp,cssFunctionName nextgroup=cssDefinition 49322f1d0e3SBram Moolenaarsyn keyword cssMediaType contained screen print aural braille embossed handheld projection tty tv speech all contained 49422f1d0e3SBram Moolenaar 49522f1d0e3SBram Moolenaar" @page 49622f1d0e3SBram Moolenaar" http://www.w3.org/TR/css3-page/ 49722f1d0e3SBram Moolenaarsyn region cssAtRule start=/@page\>/ end=/\ze{/ skipwhite skipnl matchgroup=cssAtKeyword contains=cssPagePseudo,cssComment nextgroup=cssDefinition 49822f1d0e3SBram Moolenaarsyn match cssPagePseudo /:\(left\|right\|first\|blank\)/ contained skipwhite skipnl 49922f1d0e3SBram Moolenaar" @keyframe 50022f1d0e3SBram Moolenaar" http://www.w3.org/TR/css3-animations/#keyframes 50122f1d0e3SBram Moolenaarsyn region cssAtRule start=/@\(-[a-z]\+-\)\=keyframes\>/ end=/\ze{/ skipwhite skipnl matchgroup=cssAtKeyword contains=cssVendor,cssComment nextgroup=cssDefinition 50222f1d0e3SBram Moolenaar 50322f1d0e3SBram Moolenaarsyn region cssAtRule start=/@import\>/ end=/\ze;/ contains=cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment,cssAtKeyword,cssURL,cssMediaProp,cssValueLength,cssAtRuleLogical,cssValueInteger,cssMediaAttr,cssMediaType 50422f1d0e3SBram Moolenaarsyn region cssAtRule start=/@charset\>/ end=/\ze;/ contains=cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment,cssAtKeyword 50522f1d0e3SBram Moolenaarsyn region cssAtRule start=/@namespace\>/ end=/\ze;/ contains=cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment,cssAtKeyword 50622f1d0e3SBram Moolenaar 50722f1d0e3SBram Moolenaar" @supports 50822f1d0e3SBram Moolenaar" https://www.w3.org/TR/css3-conditional/#at-supports 50922f1d0e3SBram Moolenaarsyn region cssAtRule start=/@supports\>/ end=/\ze{/ skipwhite skipnl contains=cssAtRuleLogical,cssAttrRegion,css.*Prop,cssValue.*,cssVendor,cssAtKeyword,cssComment nextgroup=cssDefinition 51022f1d0e3SBram Moolenaar 511071d4279SBram Moolenaar 512071d4279SBram Moolenaarif main_syntax == "css" 513071d4279SBram Moolenaar syn sync minlines=10 514071d4279SBram Moolenaarendif 515071d4279SBram Moolenaar 516071d4279SBram Moolenaar" Define the default highlighting. 51789bcfda6SBram Moolenaar" Only when an item doesn't have highlighting yet 518071d4279SBram Moolenaar 519f37506f6SBram Moolenaarhi def link cssComment Comment 520f37506f6SBram Moolenaarhi def link cssVendor Comment 521f37506f6SBram Moolenaarhi def link cssHacks Comment 522f37506f6SBram Moolenaarhi def link cssTagName Statement 523f37506f6SBram Moolenaarhi def link cssDeprecated Error 524f37506f6SBram Moolenaarhi def link cssSelectorOp Special 525f37506f6SBram Moolenaarhi def link cssSelectorOp2 Special 526f37506f6SBram Moolenaarhi def link cssAttrComma Special 527d09acef4SBram Moolenaar 528f37506f6SBram Moolenaarhi def link cssAnimationProp cssProp 529f37506f6SBram Moolenaarhi def link cssBackgroundProp cssProp 530f37506f6SBram Moolenaarhi def link cssBorderProp cssProp 531f37506f6SBram Moolenaarhi def link cssBoxProp cssProp 532*06fe74aeSBram Moolenaarhi def link cssCascadeProp cssProp 533f37506f6SBram Moolenaarhi def link cssColorProp cssProp 534f37506f6SBram Moolenaarhi def link cssContentForPagedMediaProp cssProp 535f37506f6SBram Moolenaarhi def link cssDimensionProp cssProp 536f37506f6SBram Moolenaarhi def link cssFlexibleBoxProp cssProp 537f37506f6SBram Moolenaarhi def link cssFontProp cssProp 538f37506f6SBram Moolenaarhi def link cssGeneratedContentProp cssProp 539f37506f6SBram Moolenaarhi def link cssGridProp cssProp 540f37506f6SBram Moolenaarhi def link cssHyerlinkProp cssProp 54122f1d0e3SBram Moolenaarhi def link cssInteractProp cssProp 542f37506f6SBram Moolenaarhi def link cssLineboxProp cssProp 543f37506f6SBram Moolenaarhi def link cssListProp cssProp 544f37506f6SBram Moolenaarhi def link cssMarqueeProp cssProp 545f37506f6SBram Moolenaarhi def link cssMultiColumnProp cssProp 546f37506f6SBram Moolenaarhi def link cssPagedMediaProp cssProp 547f37506f6SBram Moolenaarhi def link cssPositioningProp cssProp 548f37506f6SBram Moolenaarhi def link cssPrintProp cssProp 549f37506f6SBram Moolenaarhi def link cssRubyProp cssProp 550f37506f6SBram Moolenaarhi def link cssSpeechProp cssProp 551f37506f6SBram Moolenaarhi def link cssTableProp cssProp 552f37506f6SBram Moolenaarhi def link cssTextProp cssProp 553f37506f6SBram Moolenaarhi def link cssTransformProp cssProp 554f37506f6SBram Moolenaarhi def link cssTransitionProp cssProp 555f37506f6SBram Moolenaarhi def link cssUIProp cssProp 556f37506f6SBram Moolenaarhi def link cssIEUIProp cssProp 557f37506f6SBram Moolenaarhi def link cssAuralProp cssProp 558f37506f6SBram Moolenaarhi def link cssRenderProp cssProp 559f37506f6SBram Moolenaarhi def link cssMobileTextProp cssProp 560d09acef4SBram Moolenaar 561f37506f6SBram Moolenaarhi def link cssAnimationAttr cssAttr 562f37506f6SBram Moolenaarhi def link cssBackgroundAttr cssAttr 563f37506f6SBram Moolenaarhi def link cssBorderAttr cssAttr 564f37506f6SBram Moolenaarhi def link cssBoxAttr cssAttr 565f37506f6SBram Moolenaarhi def link cssContentForPagedMediaAttr cssAttr 566f37506f6SBram Moolenaarhi def link cssDimensionAttr cssAttr 567f37506f6SBram Moolenaarhi def link cssFlexibleBoxAttr cssAttr 568f37506f6SBram Moolenaarhi def link cssFontAttr cssAttr 569f37506f6SBram Moolenaarhi def link cssGeneratedContentAttr cssAttr 570f37506f6SBram Moolenaarhi def link cssGridAttr cssAttr 571f37506f6SBram Moolenaarhi def link cssHyerlinkAttr cssAttr 57222f1d0e3SBram Moolenaarhi def link cssInteractAttr cssAttr 573f37506f6SBram Moolenaarhi def link cssLineboxAttr cssAttr 574f37506f6SBram Moolenaarhi def link cssListAttr cssAttr 575f37506f6SBram Moolenaarhi def link cssMarginAttr cssAttr 576f37506f6SBram Moolenaarhi def link cssMarqueeAttr cssAttr 577f37506f6SBram Moolenaarhi def link cssMultiColumnAttr cssAttr 578f37506f6SBram Moolenaarhi def link cssPaddingAttr cssAttr 579f37506f6SBram Moolenaarhi def link cssPagedMediaAttr cssAttr 580f37506f6SBram Moolenaarhi def link cssPositioningAttr cssAttr 581f37506f6SBram Moolenaarhi def link cssGradientAttr cssAttr 582f37506f6SBram Moolenaarhi def link cssPrintAttr cssAttr 583f37506f6SBram Moolenaarhi def link cssRubyAttr cssAttr 584f37506f6SBram Moolenaarhi def link cssSpeechAttr cssAttr 585f37506f6SBram Moolenaarhi def link cssTableAttr cssAttr 586f37506f6SBram Moolenaarhi def link cssTextAttr cssAttr 587f37506f6SBram Moolenaarhi def link cssTransformAttr cssAttr 588f37506f6SBram Moolenaarhi def link cssTransitionAttr cssAttr 589f37506f6SBram Moolenaarhi def link cssUIAttr cssAttr 590f37506f6SBram Moolenaarhi def link cssIEUIAttr cssAttr 591f37506f6SBram Moolenaarhi def link cssAuralAttr cssAttr 592f37506f6SBram Moolenaarhi def link cssRenderAttr cssAttr 593*06fe74aeSBram Moolenaarhi def link cssCascadeAttr cssAttr 594f37506f6SBram Moolenaarhi def link cssCommonAttr cssAttr 595d09acef4SBram Moolenaar 596f37506f6SBram Moolenaarhi def link cssPseudoClassId PreProc 597f37506f6SBram Moolenaarhi def link cssPseudoClassLang Constant 598f37506f6SBram Moolenaarhi def link cssValueLength Number 599f37506f6SBram Moolenaarhi def link cssValueInteger Number 600f37506f6SBram Moolenaarhi def link cssValueNumber Number 601f37506f6SBram Moolenaarhi def link cssValueAngle Number 602f37506f6SBram Moolenaarhi def link cssValueTime Number 603f37506f6SBram Moolenaarhi def link cssValueFrequency Number 604f37506f6SBram Moolenaarhi def link cssFunction Constant 605f37506f6SBram Moolenaarhi def link cssURL String 606f37506f6SBram Moolenaarhi def link cssFunctionName Function 607f37506f6SBram Moolenaarhi def link cssFunctionComma Function 608f37506f6SBram Moolenaarhi def link cssColor Constant 609f37506f6SBram Moolenaarhi def link cssIdentifier Function 61022f1d0e3SBram Moolenaarhi def link cssAtRule Include 61122f1d0e3SBram Moolenaarhi def link cssAtKeyword PreProc 612f37506f6SBram Moolenaarhi def link cssImportant Special 613*06fe74aeSBram Moolenaarhi def link cssCustomProp Special 614f37506f6SBram Moolenaarhi def link cssBraces Function 615f37506f6SBram Moolenaarhi def link cssBraceError Error 616f37506f6SBram Moolenaarhi def link cssError Error 617f37506f6SBram Moolenaarhi def link cssUnicodeEscape Special 618f37506f6SBram Moolenaarhi def link cssStringQQ String 619f37506f6SBram Moolenaarhi def link cssStringQ String 620f37506f6SBram Moolenaarhi def link cssAttributeSelector String 621f37506f6SBram Moolenaarhi def link cssMediaType Special 622f37506f6SBram Moolenaarhi def link cssMediaComma Normal 62322f1d0e3SBram Moolenaarhi def link cssAtRuleLogical Statement 624f37506f6SBram Moolenaarhi def link cssMediaProp cssProp 625f37506f6SBram Moolenaarhi def link cssMediaAttr cssAttr 626f37506f6SBram Moolenaarhi def link cssPagePseudo PreProc 62722f1d0e3SBram Moolenaarhi def link cssPageMarginProp cssAtKeyword 628f37506f6SBram Moolenaarhi def link cssPageProp cssProp 62922f1d0e3SBram Moolenaarhi def link cssKeyFrameProp Constant 630f37506f6SBram Moolenaarhi def link cssFontDescriptor Special 631f37506f6SBram Moolenaarhi def link cssFontDescriptorProp cssProp 632f37506f6SBram Moolenaarhi def link cssFontDescriptorAttr cssAttr 633f37506f6SBram Moolenaarhi def link cssUnicodeRange Constant 634f37506f6SBram Moolenaarhi def link cssClassName Function 635f37506f6SBram Moolenaarhi def link cssClassNameDot Function 636f37506f6SBram Moolenaarhi def link cssProp StorageClass 637f37506f6SBram Moolenaarhi def link cssAttr Constant 638f37506f6SBram Moolenaarhi def link cssUnitDecorators Number 639f37506f6SBram Moolenaarhi def link cssNoise Noise 640071d4279SBram Moolenaar 641071d4279SBram Moolenaarlet b:current_syntax = "css" 642071d4279SBram Moolenaar 643071d4279SBram Moolenaarif main_syntax == 'css' 644071d4279SBram Moolenaar unlet main_syntax 645071d4279SBram Moolenaarendif 646071d4279SBram Moolenaar 6470c5fa7d7SBram Moolenaarlet &cpo = s:cpo_save 6480c5fa7d7SBram Moolenaarunlet s:cpo_save 649071d4279SBram Moolenaar" vim: ts=8 650071d4279SBram Moolenaar 651