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