Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 1 | " Vim syntax file |
Bram Moolenaar | d09acef | 2012-09-21 14:54:30 +0200 | [diff] [blame] | 2 | " Language: Cascading Style Sheets |
| 3 | " Previous Contributor List: |
Bram Moolenaar | e7b1ea0 | 2020-08-07 19:54:59 +0200 | [diff] [blame] | 4 | " Jules Wang <w.jq0722@gmail.com> |
Bram Moolenaar | 2286304 | 2021-10-16 15:23:36 +0100 | [diff] [blame] | 5 | " Claudio Fleiner <claudio@fleiner.com> |
Bram Moolenaar | d09acef | 2012-09-21 14:54:30 +0200 | [diff] [blame] | 6 | " Yeti (Add full CSS2, HTML4 support) |
| 7 | " Nikolai Weibull (Add CSS2 support) |
Bram Moolenaar | 2286304 | 2021-10-16 15:23:36 +0100 | [diff] [blame] | 8 | " URL: https://github.com/vim-language-dept/css-syntax.vim |
Bram Moolenaar | e7b1ea0 | 2020-08-07 19:54:59 +0200 | [diff] [blame] | 9 | " Maintainer: Jay Sitter <jay@jaysitter.com> |
Bram Moolenaar | 0e6adf8 | 2021-12-16 14:41:10 +0000 | [diff] [blame] | 10 | " Last Change: 2021 Oct 20 |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 11 | |
Bram Moolenaar | 89bcfda | 2016-08-30 23:26:57 +0200 | [diff] [blame] | 12 | " quit when a syntax file was already loaded |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 13 | if !exists("main_syntax") |
Bram Moolenaar | 89bcfda | 2016-08-30 23:26:57 +0200 | [diff] [blame] | 14 | if exists("b:current_syntax") |
Bram Moolenaar | e2db695 | 2013-07-24 19:53:36 +0200 | [diff] [blame] | 15 | finish |
| 16 | endif |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 17 | let main_syntax = 'css' |
Bram Moolenaar | e2db695 | 2013-07-24 19:53:36 +0200 | [diff] [blame] | 18 | elseif exists("b:current_syntax") && b:current_syntax == "css" |
| 19 | finish |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 20 | endif |
| 21 | |
Bram Moolenaar | 0c5fa7d | 2012-10-05 22:26:30 +0200 | [diff] [blame] | 22 | let s:cpo_save = &cpo |
| 23 | set cpo&vim |
| 24 | |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 25 | syn case ignore |
Bram Moolenaar | 2286304 | 2021-10-16 15:23:36 +0100 | [diff] [blame] | 26 | " Add dash to allowed keyword characters. |
| 27 | syn iskeyword @,48-57,_,192-255,- |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 28 | |
Bram Moolenaar | f2571c6 | 2015-06-09 19:44:55 +0200 | [diff] [blame] | 29 | " HTML4 tags |
| 30 | syn keyword cssTagName abbr address area a b base |
| 31 | syn keyword cssTagName bdo blockquote body br button |
| 32 | syn keyword cssTagName caption cite code col colgroup dd del |
| 33 | syn keyword cssTagName dfn div dl dt em fieldset form |
| 34 | syn keyword cssTagName h1 h2 h3 h4 h5 h6 head hr html img i |
| 35 | syn keyword cssTagName iframe input ins isindex kbd label legend li |
| 36 | syn keyword cssTagName link map menu meta noscript ol optgroup |
Bram Moolenaar | 2286304 | 2021-10-16 15:23:36 +0100 | [diff] [blame] | 37 | syn keyword cssTagName option p param picture pre q s samp script small |
Bram Moolenaar | f2571c6 | 2015-06-09 19:44:55 +0200 | [diff] [blame] | 38 | syn keyword cssTagName span strong sub sup tbody td |
| 39 | syn keyword cssTagName textarea tfoot th thead title tr ul u var |
Bram Moolenaar | baca7f7 | 2013-09-22 14:42:24 +0200 | [diff] [blame] | 40 | syn keyword cssTagName object svg |
Bram Moolenaar | f2571c6 | 2015-06-09 19:44:55 +0200 | [diff] [blame] | 41 | syn match cssTagName /\<select\>\|\<style\>\|\<table\>/ |
Bram Moolenaar | d09acef | 2012-09-21 14:54:30 +0200 | [diff] [blame] | 42 | |
Bram Moolenaar | baca7f7 | 2013-09-22 14:42:24 +0200 | [diff] [blame] | 43 | " 34 HTML5 tags |
| 44 | syn keyword cssTagName article aside audio bdi canvas command data |
| 45 | syn keyword cssTagName datalist details dialog embed figcaption figure footer |
| 46 | syn keyword cssTagName header hgroup keygen main mark menuitem meter nav |
Bram Moolenaar | d09acef | 2012-09-21 14:54:30 +0200 | [diff] [blame] | 47 | syn keyword cssTagName output progress rt rp ruby section |
| 48 | syn keyword cssTagName source summary time track video wbr |
| 49 | |
| 50 | " Tags not supported in HTML5 |
Bram Moolenaar | f2571c6 | 2015-06-09 19:44:55 +0200 | [diff] [blame] | 51 | " acronym applet basefont big center dir |
| 52 | " font frame frameset noframes strike tt |
Bram Moolenaar | d09acef | 2012-09-21 14:54:30 +0200 | [diff] [blame] | 53 | |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 54 | syn match cssTagName "\*" |
| 55 | |
Bram Moolenaar | d09acef | 2012-09-21 14:54:30 +0200 | [diff] [blame] | 56 | " selectors |
Bram Moolenaar | baca7f7 | 2013-09-22 14:42:24 +0200 | [diff] [blame] | 57 | syn match cssSelectorOp "[,>+~]" |
Bram Moolenaar | d09acef | 2012-09-21 14:54:30 +0200 | [diff] [blame] | 58 | syn match cssSelectorOp2 "[~|^$*]\?=" contained |
Bram Moolenaar | baca7f7 | 2013-09-22 14:42:24 +0200 | [diff] [blame] | 59 | syn region cssAttributeSelector matchgroup=cssSelectorOp start="\[" end="]" contains=cssUnicodeEscape,cssSelectorOp2,cssStringQ,cssStringQQ |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 60 | |
Bram Moolenaar | d09acef | 2012-09-21 14:54:30 +0200 | [diff] [blame] | 61 | " .class and #id |
Bram Moolenaar | 369b6f5 | 2017-01-17 12:22:32 +0100 | [diff] [blame] | 62 | syn match cssClassName "\.-\=[A-Za-z_][A-Za-z0-9_-]*" contains=cssClassNameDot |
Bram Moolenaar | dfb1841 | 2013-12-11 18:53:29 +0100 | [diff] [blame] | 63 | syn match cssClassNameDot contained '\.' |
Bram Moolenaar | d09acef | 2012-09-21 14:54:30 +0200 | [diff] [blame] | 64 | |
Bram Moolenaar | a5792f5 | 2005-11-23 21:25:05 +0000 | [diff] [blame] | 65 | try |
Bram Moolenaar | 4f4d51a | 2020-10-11 13:57:40 +0200 | [diff] [blame] | 66 | syn match cssIdentifier "#[A-Za-zÀ-ÿ_@][A-Za-zÀ-ÿ0-9_@-]*" |
Bram Moolenaar | a5792f5 | 2005-11-23 21:25:05 +0000 | [diff] [blame] | 67 | catch /^.*/ |
| 68 | syn match cssIdentifier "#[A-Za-z_@][A-Za-z0-9_@-]*" |
| 69 | endtry |
| 70 | |
Bram Moolenaar | baca7f7 | 2013-09-22 14:42:24 +0200 | [diff] [blame] | 71 | " digits |
| 72 | syn match cssValueInteger contained "[-+]\=\d\+" contains=cssUnitDecorators |
| 73 | syn match cssValueNumber contained "[-+]\=\d\+\(\.\d*\)\=" contains=cssUnitDecorators |
Bram Moolenaar | e7b1ea0 | 2020-08-07 19:54:59 +0200 | [diff] [blame] | 74 | syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=\(mm\|cm\|in\|pt\|pc\|em\|ex\|px\|rem\|dpi\|dppx\|dpcm\|fr\|vw\|vh\|vmin\|vmax\|ch\)\>" contains=cssUnitDecorators |
Bram Moolenaar | 22f1d0e | 2018-02-27 14:53:30 +0100 | [diff] [blame] | 75 | syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=%" contains=cssUnitDecorators |
Bram Moolenaar | f2571c6 | 2015-06-09 19:44:55 +0200 | [diff] [blame] | 76 | syn match cssValueAngle contained "[-+]\=\d\+\(\.\d*\)\=\(deg\|grad\|rad\)\>" contains=cssUnitDecorators |
| 77 | syn match cssValueTime contained "+\=\d\+\(\.\d*\)\=\(ms\|s\)\>" contains=cssUnitDecorators |
| 78 | syn match cssValueFrequency contained "+\=\d\+\(\.\d*\)\=\(Hz\|kHz\)\>" contains=cssUnitDecorators |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 79 | |
Bram Moolenaar | 3a0d809 | 2012-10-21 03:02:54 +0200 | [diff] [blame] | 80 | " The 16 basic color names |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 81 | syn keyword cssColor contained aqua black blue fuchsia gray green lime maroon navy olive purple red silver teal yellow |
Bram Moolenaar | 3a0d809 | 2012-10-21 03:02:54 +0200 | [diff] [blame] | 82 | |
| 83 | " 130 more color names |
| 84 | syn keyword cssColor contained aliceblue antiquewhite aquamarine azure |
| 85 | syn keyword cssColor contained beige bisque blanchedalmond blueviolet brown burlywood |
| 86 | syn keyword cssColor contained cadetblue chartreuse chocolate coral cornflowerblue cornsilk crimson cyan |
Bram Moolenaar | f2571c6 | 2015-06-09 19:44:55 +0200 | [diff] [blame] | 87 | syn match cssColor contained /\<dark\(blue\|cyan\|goldenrod\|gray\|green\|grey\|khaki\)\>/ |
| 88 | syn match cssColor contained /\<dark\(magenta\|olivegreen\|orange\|orchid\|red\|salmon\|seagreen\)\>/ |
| 89 | syn match cssColor contained /\<darkslate\(blue\|gray\|grey\)\>/ |
| 90 | syn match cssColor contained /\<dark\(turquoise\|violet\)\>/ |
Bram Moolenaar | 3a0d809 | 2012-10-21 03:02:54 +0200 | [diff] [blame] | 91 | syn keyword cssColor contained deeppink deepskyblue dimgray dimgrey dodgerblue firebrick |
| 92 | syn keyword cssColor contained floralwhite forestgreen gainsboro ghostwhite gold |
| 93 | syn keyword cssColor contained goldenrod greenyellow grey honeydew hotpink |
| 94 | syn keyword cssColor contained indianred indigo ivory khaki lavender lavenderblush lawngreen |
| 95 | syn keyword cssColor contained lemonchiffon limegreen linen magenta |
Bram Moolenaar | f2571c6 | 2015-06-09 19:44:55 +0200 | [diff] [blame] | 96 | syn match cssColor contained /\<light\(blue\|coral\|cyan\|goldenrodyellow\|gray\|green\)\>/ |
| 97 | syn match cssColor contained /\<light\(grey\|pink\|salmon\|seagreen\|skyblue\|yellow\)\>/ |
| 98 | syn match cssColor contained /\<light\(slategray\|slategrey\|steelblue\)\>/ |
| 99 | syn match cssColor contained /\<medium\(aquamarine\|blue\|orchid\|purple\|seagreen\)\>/ |
| 100 | syn match cssColor contained /\<medium\(slateblue\|springgreen\|turquoise\|violetred\)\>/ |
Bram Moolenaar | 3a0d809 | 2012-10-21 03:02:54 +0200 | [diff] [blame] | 101 | syn keyword cssColor contained midnightblue mintcream mistyrose moccasin navajowhite |
| 102 | syn keyword cssColor contained oldlace olivedrab orange orangered orchid |
Bram Moolenaar | f2571c6 | 2015-06-09 19:44:55 +0200 | [diff] [blame] | 103 | syn match cssColor contained /\<pale\(goldenrod\|green\|turquoise\|violetred\)\>/ |
Bram Moolenaar | 3a0d809 | 2012-10-21 03:02:54 +0200 | [diff] [blame] | 104 | syn keyword cssColor contained papayawhip peachpuff peru pink plum powderblue |
Bram Moolenaar | 22f1d0e | 2018-02-27 14:53:30 +0100 | [diff] [blame] | 105 | syn keyword cssColor contained rosybrown royalblue rebeccapurple saddlebrown salmon |
| 106 | syn keyword cssColor contained sandybrown seagreen seashell sienna skyblue slateblue |
Bram Moolenaar | 3a0d809 | 2012-10-21 03:02:54 +0200 | [diff] [blame] | 107 | syn keyword cssColor contained slategray slategrey snow springgreen steelblue tan |
| 108 | syn keyword cssColor contained thistle tomato turquoise violet wheat |
| 109 | syn keyword cssColor contained whitesmoke yellowgreen |
| 110 | |
Bram Moolenaar | baca7f7 | 2013-09-22 14:42:24 +0200 | [diff] [blame] | 111 | " FIXME: These are actually case-insensitive too, but (a) specs recommend using |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 112 | " mixed-case (b) it's hard to highlight the word `Background' correctly in |
| 113 | " all situations |
| 114 | syn case match |
| 115 | syn 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 |
| 116 | syn case ignore |
Bram Moolenaar | d09acef | 2012-09-21 14:54:30 +0200 | [diff] [blame] | 117 | |
| 118 | syn match cssImportant contained "!\s*important\>" |
Bram Moolenaar | 0e6adf8 | 2021-12-16 14:41:10 +0000 | [diff] [blame] | 119 | syn match cssCustomProp contained "\<--[a-zA-Z0-9-_]*\>" |
Bram Moolenaar | d09acef | 2012-09-21 14:54:30 +0200 | [diff] [blame] | 120 | |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 121 | syn match cssColor contained "\<transparent\>" |
Bram Moolenaar | f2571c6 | 2015-06-09 19:44:55 +0200 | [diff] [blame] | 122 | syn match cssColor contained "\<currentColor\>" |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 123 | syn match cssColor contained "\<white\>" |
Bram Moolenaar | 22f1d0e | 2018-02-27 14:53:30 +0100 | [diff] [blame] | 124 | syn match cssColor contained "#\x\{3,4\}\>" contains=cssUnitDecorators |
| 125 | syn match cssColor contained "#\x\{6\}\>" contains=cssUnitDecorators |
| 126 | syn match cssColor contained "#\x\{8\}\>" contains=cssUnitDecorators |
Bram Moolenaar | d09acef | 2012-09-21 14:54:30 +0200 | [diff] [blame] | 127 | |
Bram Moolenaar | 22f1d0e | 2018-02-27 14:53:30 +0100 | [diff] [blame] | 128 | syn region cssURL contained matchgroup=cssFunctionName start="\<\(uri\|url\|local\|format\)\s*(" end=")" contains=cssStringQ,cssStringQQ oneline |
Bram Moolenaar | 0e6adf8 | 2021-12-16 14:41:10 +0000 | [diff] [blame] | 129 | syn region cssMathGroup contained matchgroup=cssMathParens start="(" end=")" containedin=cssFunction,cssMathGroup contains=cssCustomProp,cssValue.*,cssFunction,cssColor,cssStringQ,cssStringQQ oneline |
Bram Moolenaar | 06fe74a | 2019-08-31 16:20:32 +0200 | [diff] [blame] | 130 | syn region cssFunction contained matchgroup=cssFunctionName start="\<\(var\|calc\)\s*(" end=")" contains=cssCustomProp,cssValue.*,cssFunction,cssColor,cssStringQ,cssStringQQ oneline |
Bram Moolenaar | baca7f7 | 2013-09-22 14:42:24 +0200 | [diff] [blame] | 131 | syn region cssFunction contained matchgroup=cssFunctionName start="\<\(rgb\|clip\|attr\|counter\|rect\|cubic-bezier\|steps\)\s*(" end=")" oneline contains=cssValueInteger,cssValueNumber,cssValueLength,cssFunctionComma |
| 132 | syn region cssFunction contained matchgroup=cssFunctionName start="\<\(rgba\|hsl\|hsla\|color-stop\|from\|to\)\s*(" end=")" oneline contains=cssColor,cssValueInteger,cssValueNumber,cssValueLength,cssFunctionComma,cssFunction |
Bram Moolenaar | 2286304 | 2021-10-16 15:23:36 +0100 | [diff] [blame] | 133 | syn region cssFunction contained matchgroup=cssFunctionName start="\<\(linear-\|radial-\|conic-\)\=\gradient\s*(" end=")" oneline contains=cssColor,cssValueInteger,cssValueNumber,cssValueLength,cssFunction,cssGradientAttr,cssFunctionComma |
Bram Moolenaar | baca7f7 | 2013-09-22 14:42:24 +0200 | [diff] [blame] | 134 | syn 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 |
Bram Moolenaar | e7b1ea0 | 2020-08-07 19:54:59 +0200 | [diff] [blame] | 135 | syn region cssFunction contained matchgroup=cssFunctionName start="\<\(blur\|brightness\|contrast\|drop-shadow\|grayscale\|hue-rotate\|invert\|opacity\|saturate\|sepia\)\s*(" end=")" oneline contains=cssValueInteger,cssValueNumber,cssValueLength,cssValueAngle,cssFunctionComma |
Bram Moolenaar | baca7f7 | 2013-09-22 14:42:24 +0200 | [diff] [blame] | 136 | syn keyword cssGradientAttr contained top bottom left right cover center middle ellipse at |
| 137 | syn match cssFunctionComma contained "," |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 138 | |
Bram Moolenaar | baca7f7 | 2013-09-22 14:42:24 +0200 | [diff] [blame] | 139 | " Common Prop and Attr |
| 140 | syn keyword cssCommonAttr contained auto none inherit all default normal |
| 141 | syn keyword cssCommonAttr contained top bottom center stretch hidden visible |
Bram Moolenaar | e7b1ea0 | 2020-08-07 19:54:59 +0200 | [diff] [blame] | 142 | syn match cssCommonAttr contained "\<\(max-\|min-\|fit-\)content\>" |
Bram Moolenaar | baca7f7 | 2013-09-22 14:42:24 +0200 | [diff] [blame] | 143 | "------------------------------------------------ |
| 144 | " CSS Animations |
| 145 | " http://www.w3.org/TR/css3-animations/ |
Bram Moolenaar | dfb1841 | 2013-12-11 18:53:29 +0100 | [diff] [blame] | 146 | syn match cssAnimationProp contained "\<animation\(-\(delay\|direction\|duration\|fill-mode\|name\|play-state\|timing-function\|iteration-count\)\)\=\>" |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 147 | |
Bram Moolenaar | baca7f7 | 2013-09-22 14:42:24 +0200 | [diff] [blame] | 148 | " animation-direction attributes |
| 149 | syn keyword cssAnimationAttr contained alternate reverse |
| 150 | syn match cssAnimationAttr contained "\<alternate-reverse\>" |
Bram Moolenaar | d09acef | 2012-09-21 14:54:30 +0200 | [diff] [blame] | 151 | |
Bram Moolenaar | baca7f7 | 2013-09-22 14:42:24 +0200 | [diff] [blame] | 152 | " animation-fill-mode attributes |
| 153 | syn keyword cssAnimationAttr contained forwards backwards both |
Bram Moolenaar | d09acef | 2012-09-21 14:54:30 +0200 | [diff] [blame] | 154 | |
Bram Moolenaar | baca7f7 | 2013-09-22 14:42:24 +0200 | [diff] [blame] | 155 | " animation-play-state attributes |
| 156 | syn keyword cssAnimationAttr contained running paused |
Bram Moolenaar | f2571c6 | 2015-06-09 19:44:55 +0200 | [diff] [blame] | 157 | |
| 158 | " animation-iteration-count attributes |
| 159 | syn keyword cssAnimationAttr contained infinite |
Bram Moolenaar | baca7f7 | 2013-09-22 14:42:24 +0200 | [diff] [blame] | 160 | "------------------------------------------------ |
| 161 | " CSS Backgrounds and Borders Module Level 3 |
| 162 | " http://www.w3.org/TR/css3-background/ |
| 163 | syn match cssBackgroundProp contained "\<background\(-\(attachment\|clip\|color\|image\|origin\|position\|repeat\|size\)\)\=\>" |
| 164 | " background-attachment attributes |
| 165 | syn keyword cssBackgroundAttr contained scroll fixed local |
Bram Moolenaar | d09acef | 2012-09-21 14:54:30 +0200 | [diff] [blame] | 166 | |
Bram Moolenaar | baca7f7 | 2013-09-22 14:42:24 +0200 | [diff] [blame] | 167 | " background-position attributes |
| 168 | syn keyword cssBackgroundAttr contained left center right top bottom |
Bram Moolenaar | d09acef | 2012-09-21 14:54:30 +0200 | [diff] [blame] | 169 | |
Bram Moolenaar | baca7f7 | 2013-09-22 14:42:24 +0200 | [diff] [blame] | 170 | " background-repeat attributes |
Bram Moolenaar | d09acef | 2012-09-21 14:54:30 +0200 | [diff] [blame] | 171 | syn match cssBackgroundAttr contained "\<no-repeat\>" |
| 172 | syn match cssBackgroundAttr contained "\<repeat\(-[xy]\)\=\>" |
Bram Moolenaar | d09acef | 2012-09-21 14:54:30 +0200 | [diff] [blame] | 173 | |
Bram Moolenaar | baca7f7 | 2013-09-22 14:42:24 +0200 | [diff] [blame] | 174 | " background-size attributes |
| 175 | syn keyword cssBackgroundAttr contained cover contain |
Bram Moolenaar | d09acef | 2012-09-21 14:54:30 +0200 | [diff] [blame] | 176 | |
Bram Moolenaar | baca7f7 | 2013-09-22 14:42:24 +0200 | [diff] [blame] | 177 | syn match cssBorderProp contained "\<border\(-\(top\|right\|bottom\|left\)\)\=\(-\(width\|color\|style\)\)\=\>" |
| 178 | syn match cssBorderProp contained "\<border\(-\(top\|bottom\)-\(left\|right\)\)\=-radius\>" |
| 179 | syn match cssBorderProp contained "\<border-image\(-\(outset\|repeat\|slice\|source\|width\)\)\=\>" |
| 180 | syn match cssBorderProp contained "\<box-decoration-break\>" |
| 181 | syn match cssBorderProp contained "\<box-shadow\>" |
Bram Moolenaar | d09acef | 2012-09-21 14:54:30 +0200 | [diff] [blame] | 182 | |
Bram Moolenaar | baca7f7 | 2013-09-22 14:42:24 +0200 | [diff] [blame] | 183 | " border-image attributes |
Bram Moolenaar | 22f1d0e | 2018-02-27 14:53:30 +0100 | [diff] [blame] | 184 | syn keyword cssBorderAttr contained stretch round fill |
Bram Moolenaar | d09acef | 2012-09-21 14:54:30 +0200 | [diff] [blame] | 185 | |
Bram Moolenaar | baca7f7 | 2013-09-22 14:42:24 +0200 | [diff] [blame] | 186 | " border-style attributes |
| 187 | syn keyword cssBorderAttr contained dotted dashed solid double groove ridge inset outset |
| 188 | |
| 189 | " border-width attributes |
| 190 | syn keyword cssBorderAttr contained thin thick medium |
| 191 | |
| 192 | " box-decoration-break attributes |
| 193 | syn keyword cssBorderAttr contained clone slice |
| 194 | "------------------------------------------------ |
| 195 | |
| 196 | syn match cssBoxProp contained "\<padding\(-\(top\|right\|bottom\|left\)\)\=\>" |
| 197 | syn match cssBoxProp contained "\<margin\(-\(top\|right\|bottom\|left\)\)\=\>" |
Bram Moolenaar | d09acef | 2012-09-21 14:54:30 +0200 | [diff] [blame] | 198 | syn match cssBoxProp contained "\<overflow\(-\(x\|y\|style\)\)\=\>" |
Bram Moolenaar | dfb1841 | 2013-12-11 18:53:29 +0100 | [diff] [blame] | 199 | syn match cssBoxProp contained "\<rotation\(-point\)\=\>" |
Bram Moolenaar | d09acef | 2012-09-21 14:54:30 +0200 | [diff] [blame] | 200 | syn keyword cssBoxAttr contained visible hidden scroll auto |
| 201 | syn match cssBoxAttr contained "\<no-\(display\|content\)\>" |
| 202 | |
Bram Moolenaar | 06fe74a | 2019-08-31 16:20:32 +0200 | [diff] [blame] | 203 | syn keyword cssCascadeProp contained all |
| 204 | syn keyword cssCascadeAttr contained initial unset revert |
| 205 | |
Bram Moolenaar | d09acef | 2012-09-21 14:54:30 +0200 | [diff] [blame] | 206 | syn keyword cssColorProp contained opacity |
| 207 | syn match cssColorProp contained "\<color-profile\>" |
| 208 | syn match cssColorProp contained "\<rendering-intent\>" |
| 209 | |
| 210 | |
| 211 | syn match cssDimensionProp contained "\<\(min\|max\)-\(width\|height\)\>" |
| 212 | syn keyword cssDimensionProp contained height |
| 213 | syn keyword cssDimensionProp contained width |
| 214 | |
Bram Moolenaar | 22f1d0e | 2018-02-27 14:53:30 +0100 | [diff] [blame] | 215 | " CSS Flexible Box Layout Module Level 1 |
| 216 | " http://www.w3.org/TR/css3-flexbox/ |
| 217 | " CSS Box Alignment Module Level 3 |
| 218 | " http://www.w3.org/TR/css-align-3/ |
| 219 | syn match cssFlexibleBoxProp contained "\<flex\(-\(direction\|wrap\|flow\|grow\|shrink\|basis\)\)\=\>" |
| 220 | syn match cssFlexibleBoxProp contained "\<\(align\|justify\)\(-\(items\|self\|content\)\)\=\>" |
| 221 | syn keyword cssFlexibleBoxProp contained order |
| 222 | |
| 223 | syn match cssFlexibleBoxAttr contained "\<\(row\|column\|wrap\)\(-reverse\)\=\>" |
| 224 | syn keyword cssFlexibleBoxAttr contained nowrap stretch baseline center |
| 225 | syn match cssFlexibleBoxAttr contained "\<flex\(-\(start\|end\)\)\=\>" |
Bram Moolenaar | 2286304 | 2021-10-16 15:23:36 +0100 | [diff] [blame] | 226 | syn match cssFlexibleBoxAttr contained "\<space\(-\(between\|around\|evenly\)\)\=\>" |
Bram Moolenaar | d09acef | 2012-09-21 14:54:30 +0200 | [diff] [blame] | 227 | |
Bram Moolenaar | baca7f7 | 2013-09-22 14:42:24 +0200 | [diff] [blame] | 228 | " CSS Fonts Module Level 3 |
| 229 | " http://www.w3.org/TR/css-fonts-3/ |
| 230 | syn match cssFontProp contained "\<font\(-\(family\|\|feature-settings\|kerning\|language-override\|size\(-adjust\)\=\|stretch\|style\|synthesis\|variant\(-\(alternates\|caps\|east-asian\|ligatures\|numeric\|position\)\)\=\|weight\)\)\=\>" |
Bram Moolenaar | f2571c6 | 2015-06-09 19:44:55 +0200 | [diff] [blame] | 231 | |
Bram Moolenaar | baca7f7 | 2013-09-22 14:42:24 +0200 | [diff] [blame] | 232 | " font attributes |
| 233 | syn keyword cssFontAttr contained icon menu caption |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 234 | syn match cssFontAttr contained "\<message-box\>" |
| 235 | syn match cssFontAttr contained "\<status-bar\>" |
Bram Moolenaar | baca7f7 | 2013-09-22 14:42:24 +0200 | [diff] [blame] | 236 | syn keyword cssFontAttr contained larger smaller |
| 237 | syn match cssFontAttr contained "\<\(x\{1,2\}-\)\=\(large\|small\)\>" |
Bram Moolenaar | 22f1d0e | 2018-02-27 14:53:30 +0100 | [diff] [blame] | 238 | syn match cssFontAttr contained "\<small-\(caps\|caption\)\>" |
Bram Moolenaar | baca7f7 | 2013-09-22 14:42:24 +0200 | [diff] [blame] | 239 | " font-family attributes |
Bram Moolenaar | 2286304 | 2021-10-16 15:23:36 +0100 | [diff] [blame] | 240 | syn keyword cssFontAttr contained sans-serif serif cursive fantasy monospace |
Bram Moolenaar | baca7f7 | 2013-09-22 14:42:24 +0200 | [diff] [blame] | 241 | " font-feature-settings attributes |
| 242 | syn keyword cssFontAttr contained on off |
Bram Moolenaar | baca7f7 | 2013-09-22 14:42:24 +0200 | [diff] [blame] | 243 | " font-stretch attributes |
| 244 | syn match cssFontAttr contained "\<\(\(ultra\|extra\|semi\)-\)\=\(condensed\|expanded\)\>" |
Bram Moolenaar | baca7f7 | 2013-09-22 14:42:24 +0200 | [diff] [blame] | 245 | " font-style attributes |
| 246 | syn keyword cssFontAttr contained italic oblique |
Bram Moolenaar | f2571c6 | 2015-06-09 19:44:55 +0200 | [diff] [blame] | 247 | " font-synthesis attributes |
| 248 | syn keyword cssFontAttr contained weight style |
Bram Moolenaar | baca7f7 | 2013-09-22 14:42:24 +0200 | [diff] [blame] | 249 | " font-weight attributes |
| 250 | syn keyword cssFontAttr contained bold bolder lighter |
Bram Moolenaar | f2571c6 | 2015-06-09 19:44:55 +0200 | [diff] [blame] | 251 | " TODO: font-variant-* attributes |
Bram Moolenaar | baca7f7 | 2013-09-22 14:42:24 +0200 | [diff] [blame] | 252 | "------------------------------------------------ |
| 253 | |
| 254 | " Webkit specific property/attributes |
| 255 | syn match cssFontProp contained "\<font-smooth\>" |
| 256 | syn match cssFontAttr contained "\<\(subpixel-\)\=\antialiased\>" |
| 257 | |
Bram Moolenaar | dfb1841 | 2013-12-11 18:53:29 +0100 | [diff] [blame] | 258 | |
| 259 | " CSS Multi-column Layout Module |
| 260 | " http://www.w3.org/TR/css3-multicol/ |
| 261 | syn match cssMultiColumnProp contained "\<break-\(after\|before\|inside\)\>" |
| 262 | syn match cssMultiColumnProp contained "\<column-\(count\|fill\|gap\|rule\(-\(color\|style\|width\)\)\=\|span\|width\)\>" |
| 263 | syn keyword cssMultiColumnProp contained columns |
| 264 | syn keyword cssMultiColumnAttr contained balance medium |
Bram Moolenaar | 22f1d0e | 2018-02-27 14:53:30 +0100 | [diff] [blame] | 265 | syn keyword cssMultiColumnAttr contained always left right page column |
| 266 | syn match cssMultiColumnAttr contained "\<avoid\(-\(page\|column\)\)\=\>" |
Bram Moolenaar | dfb1841 | 2013-12-11 18:53:29 +0100 | [diff] [blame] | 267 | |
| 268 | " http://www.w3.org/TR/css3-break/#page-break |
| 269 | syn match cssMultiColumnProp contained "\<page\(-break-\(before\|after\|inside\)\)\=\>" |
| 270 | |
Bram Moolenaar | 22f1d0e | 2018-02-27 14:53:30 +0100 | [diff] [blame] | 271 | " http://www.w3.org/TR/SVG11/interact.html |
| 272 | syn match cssInteractProp contained "\<pointer-events\>" |
| 273 | syn match cssInteractAttr contained "\<\(visible\)\=\(Painted\|Fill\|Stroke\)\=\>" |
| 274 | |
Bram Moolenaar | dfb1841 | 2013-12-11 18:53:29 +0100 | [diff] [blame] | 275 | " TODO find following items in w3c docs. |
Bram Moolenaar | baca7f7 | 2013-09-22 14:42:24 +0200 | [diff] [blame] | 276 | syn keyword cssGeneratedContentProp contained quotes crop |
Bram Moolenaar | d09acef | 2012-09-21 14:54:30 +0200 | [diff] [blame] | 277 | syn match cssGeneratedContentProp contained "\<counter-\(reset\|increment\)\>" |
| 278 | syn match cssGeneratedContentProp contained "\<move-to\>" |
| 279 | syn match cssGeneratedContentProp contained "\<page-policy\>" |
| 280 | syn match cssGeneratedContentAttr contained "\<\(no-\)\=\(open\|close\)-quote\>" |
| 281 | |
Bram Moolenaar | 22f1d0e | 2018-02-27 14:53:30 +0100 | [diff] [blame] | 282 | " https://www.w3.org/TR/css-grid-1/ |
| 283 | syn match cssGridProp contained "\<grid\>" |
Bram Moolenaar | 06fe74a | 2019-08-31 16:20:32 +0200 | [diff] [blame] | 284 | syn match cssGridProp contained "\<grid-template\(-\(columns\|rows\|areas\)\)\=\>" |
Bram Moolenaar | 22f1d0e | 2018-02-27 14:53:30 +0100 | [diff] [blame] | 285 | syn match cssGridProp contained "\<grid-\(column\|row\)\(-\(start\|end\|gap\)\)\=\>" |
| 286 | syn match cssGridProp contained "\<grid-\(area\|gap\)\>" |
Bram Moolenaar | 2286304 | 2021-10-16 15:23:36 +0100 | [diff] [blame] | 287 | syn match cssGridProp contained "\<gap\>" |
Bram Moolenaar | 06fe74a | 2019-08-31 16:20:32 +0200 | [diff] [blame] | 288 | syn match cssGridProp contained "\<grid-auto-\(flow\|rows\|columns\)\>" |
Bram Moolenaar | d09acef | 2012-09-21 14:54:30 +0200 | [diff] [blame] | 289 | |
| 290 | syn match cssHyerlinkProp contained "\<target\(-\(name\|new\|position\)\)\=\>" |
| 291 | |
| 292 | syn match cssListProp contained "\<list-style\(-\(type\|position\|image\)\)\=\>" |
| 293 | syn match cssListAttr contained "\<\(lower\|upper\)-\(roman\|alpha\|greek\|latin\)\>" |
| 294 | syn match cssListAttr contained "\<\(hiragana\|katakana\)\(-iroha\)\=\>" |
| 295 | syn match cssListAttr contained "\<\(decimal\(-leading-zero\)\=\|cjk-ideographic\)\>" |
| 296 | syn keyword cssListAttr contained disc circle square hebrew armenian georgian |
| 297 | syn keyword cssListAttr contained inside outside |
| 298 | |
Bram Moolenaar | 2286304 | 2021-10-16 15:23:36 +0100 | [diff] [blame] | 299 | " object-fit https://www.w3.org/TR/css-images-3/#the-object-fit |
| 300 | syn match cssObjectProp contained "\<object-\(fit\|position\)\>" |
| 301 | syn keyword cssObjectAttr contained fill contain cover scale-down |
| 302 | |
Bram Moolenaar | d09acef | 2012-09-21 14:54:30 +0200 | [diff] [blame] | 303 | syn keyword cssPositioningProp contained bottom clear clip display float left |
| 304 | syn keyword cssPositioningProp contained position right top visibility |
| 305 | syn match cssPositioningProp contained "\<z-index\>" |
Bram Moolenaar | 22f1d0e | 2018-02-27 14:53:30 +0100 | [diff] [blame] | 306 | syn keyword cssPositioningAttr contained block compact grid |
Bram Moolenaar | baca7f7 | 2013-09-22 14:42:24 +0200 | [diff] [blame] | 307 | syn match cssPositioningAttr contained "\<table\(-\(row-group\|\(header\|footer\)-group\|row\|column\(-group\)\=\|cell\|caption\)\)\=\>" |
Bram Moolenaar | d09acef | 2012-09-21 14:54:30 +0200 | [diff] [blame] | 308 | syn keyword cssPositioningAttr contained left right both |
| 309 | syn match cssPositioningAttr contained "\<list-item\>" |
Bram Moolenaar | 22f1d0e | 2018-02-27 14:53:30 +0100 | [diff] [blame] | 310 | syn match cssPositioningAttr contained "\<inline\(-\(block\|box\|table\|grid\|flex\)\)\=\>" |
Bram Moolenaar | 06fe74a | 2019-08-31 16:20:32 +0200 | [diff] [blame] | 311 | syn match cssPositioningAttr contained "\<flow\(-root\)\=\>" |
Bram Moolenaar | 2286304 | 2021-10-16 15:23:36 +0100 | [diff] [blame] | 312 | syn keyword cssPositioningAttr contained static relative absolute fixed subgrid sticky |
Bram Moolenaar | d09acef | 2012-09-21 14:54:30 +0200 | [diff] [blame] | 313 | |
Bram Moolenaar | 22f1d0e | 2018-02-27 14:53:30 +0100 | [diff] [blame] | 314 | syn keyword cssPrintAttr contained landscape portrait crop cross always |
Bram Moolenaar | d09acef | 2012-09-21 14:54:30 +0200 | [diff] [blame] | 315 | |
| 316 | syn match cssTableProp contained "\<\(caption-side\|table-layout\|border-collapse\|border-spacing\|empty-cells\)\>" |
| 317 | syn keyword cssTableAttr contained fixed collapse separate show hide once always |
| 318 | |
| 319 | |
Bram Moolenaar | 06fe74a | 2019-08-31 16:20:32 +0200 | [diff] [blame] | 320 | syn keyword cssTextProp contained color direction hyphens |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 321 | syn match cssTextProp "\<\(\(word\|letter\)-spacing\|text\(-\(decoration\|transform\|align\|index\|shadow\)\)\=\|vertical-align\|unicode-bidi\|line-height\)\>" |
Bram Moolenaar | baca7f7 | 2013-09-22 14:42:24 +0200 | [diff] [blame] | 322 | syn match cssTextProp contained "\<text-\(justify\|outline\|warp\|align-last\|size-adjust\|rendering\|stroke\|indent\)\>" |
Bram Moolenaar | 06fe74a | 2019-08-31 16:20:32 +0200 | [diff] [blame] | 323 | syn match cssTextProp contained "\<\(word\|line\)-break\|\(overflow\|word\)-wrap\>" |
Bram Moolenaar | d09acef | 2012-09-21 14:54:30 +0200 | [diff] [blame] | 324 | syn match cssTextProp contained "\<white-space\>" |
| 325 | syn match cssTextProp contained "\<hanging-punctuation\>" |
Bram Moolenaar | 06fe74a | 2019-08-31 16:20:32 +0200 | [diff] [blame] | 326 | syn match cssTextProp contained "\<tab-size\>" |
Bram Moolenaar | d09acef | 2012-09-21 14:54:30 +0200 | [diff] [blame] | 327 | syn match cssTextProp contained "\<punctuation-trim\>" |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 328 | syn match cssTextAttr contained "\<line-through\>" |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 329 | syn match cssTextAttr contained "\<\(text-\)\=\(top\|bottom\)\>" |
Bram Moolenaar | d09acef | 2012-09-21 14:54:30 +0200 | [diff] [blame] | 330 | syn keyword cssTextAttr contained ltr rtl embed nowrap |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 331 | syn keyword cssTextAttr contained underline overline blink sub super middle |
Bram Moolenaar | d09acef | 2012-09-21 14:54:30 +0200 | [diff] [blame] | 332 | syn keyword cssTextAttr contained capitalize uppercase lowercase |
Bram Moolenaar | baca7f7 | 2013-09-22 14:42:24 +0200 | [diff] [blame] | 333 | syn keyword cssTextAttr contained justify baseline sub super |
Bram Moolenaar | 06fe74a | 2019-08-31 16:20:32 +0200 | [diff] [blame] | 334 | syn keyword cssTextAttr contained optimizeLegibility optimizeSpeed geometricPrecision |
Bram Moolenaar | d09acef | 2012-09-21 14:54:30 +0200 | [diff] [blame] | 335 | syn match cssTextAttr contained "\<pre\(-\(line\|wrap\)\)\=\>" |
| 336 | syn match cssTextAttr contained "\<\(allow\|force\)-end\>" |
| 337 | syn keyword cssTextAttr contained start end adjacent |
| 338 | syn match cssTextAttr contained "\<inter-\(word\|ideographic\|cluster\)\>" |
| 339 | syn keyword cssTextAttr contained distribute kashida first last |
| 340 | syn keyword cssTextAttr contained clip ellipsis unrestricted suppress |
| 341 | syn match cssTextAttr contained "\<break-all\>" |
| 342 | syn match cssTextAttr contained "\<break-word\>" |
Bram Moolenaar | 06fe74a | 2019-08-31 16:20:32 +0200 | [diff] [blame] | 343 | syn keyword cssTextAttr contained manual |
Bram Moolenaar | baca7f7 | 2013-09-22 14:42:24 +0200 | [diff] [blame] | 344 | syn match cssTextAttr contained "\<bidi-override\>" |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 345 | |
Bram Moolenaar | d09acef | 2012-09-21 14:54:30 +0200 | [diff] [blame] | 346 | syn match cssTransformProp contained "\<transform\(-\(origin\|style\)\)\=\>" |
| 347 | syn match cssTransformProp contained "\<perspective\(-origin\)\=\>" |
| 348 | syn match cssTransformProp contained "\<backface-visibility\>" |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 349 | |
Bram Moolenaar | baca7f7 | 2013-09-22 14:42:24 +0200 | [diff] [blame] | 350 | " CSS Transitions |
| 351 | " http://www.w3.org/TR/css3-transitions/ |
Bram Moolenaar | d09acef | 2012-09-21 14:54:30 +0200 | [diff] [blame] | 352 | syn match cssTransitionProp contained "\<transition\(-\(delay\|duration\|property\|timing-function\)\)\=\>" |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 353 | |
Bram Moolenaar | baca7f7 | 2013-09-22 14:42:24 +0200 | [diff] [blame] | 354 | " transition-time-function attributes |
| 355 | syn match cssTransitionAttr contained "\<linear\(-gradient\)\@!\>" |
| 356 | syn match cssTransitionAttr contained "\<ease\(-\(in-out\|out\|in\)\)\=\>" |
| 357 | syn match cssTransitionAttr contained "\<step\(-start\|-end\)\=\>" |
| 358 | "------------------------------------------------ |
| 359 | " CSS Basic User Interface Module Level 3 (CSS3 UI) |
| 360 | " http://www.w3.org/TR/css3-ui/ |
Bram Moolenaar | d09acef | 2012-09-21 14:54:30 +0200 | [diff] [blame] | 361 | syn match cssUIProp contained "\<box-sizing\>" |
Bram Moolenaar | baca7f7 | 2013-09-22 14:42:24 +0200 | [diff] [blame] | 362 | syn match cssUIAttr contained "\<\(content\|padding\|border\)\(-box\)\=\>" |
| 363 | |
| 364 | syn keyword cssUIProp contained cursor |
| 365 | syn match cssUIAttr contained "\<\(\([ns]\=[ew]\=\)\|col\|row\|nesw\|nwse\)-resize\>" |
| 366 | syn keyword cssUIAttr contained crosshair help move pointer alias copy |
| 367 | syn keyword cssUIAttr contained progress wait text cell move |
| 368 | syn match cssUIAttr contained "\<context-menu\>" |
| 369 | syn match cssUIAttr contained "\<no-drop\>" |
| 370 | syn match cssUIAttr contained "\<not-allowed\>" |
| 371 | syn match cssUIAttr contained "\<all-scroll\>" |
| 372 | syn match cssUIAttr contained "\<\(vertical-\)\=text\>" |
| 373 | syn match cssUIAttr contained "\<zoom\(-in\|-out\)\=\>" |
| 374 | |
| 375 | syn match cssUIProp contained "\<ime-mode\>" |
| 376 | syn keyword cssUIAttr contained active inactive disabled |
| 377 | |
| 378 | syn match cssUIProp contained "\<nav-\(down\|index\|left\|right\|up\)\=\>" |
| 379 | syn match cssUIProp contained "\<outline\(-\(width\|style\|color\|offset\)\)\=\>" |
| 380 | syn keyword cssUIAttr contained invert |
| 381 | |
| 382 | syn keyword cssUIProp contained icon resize |
| 383 | syn keyword cssUIAttr contained both horizontal vertical |
| 384 | |
| 385 | syn match cssUIProp contained "\<text-overflow\>" |
| 386 | syn keyword cssUIAttr contained clip ellipsis |
| 387 | |
Bram Moolenaar | 22f1d0e | 2018-02-27 14:53:30 +0100 | [diff] [blame] | 388 | syn match cssUIProp contained "\<image-rendering\>" |
| 389 | syn keyword cssUIAttr contained pixellated |
| 390 | syn match cssUIAttr contained "\<crisp-edges\>" |
| 391 | |
Bram Moolenaar | baca7f7 | 2013-09-22 14:42:24 +0200 | [diff] [blame] | 392 | "------------------------------------------------ |
| 393 | " Webkit/iOS specific attributes |
Bram Moolenaar | 22f1d0e | 2018-02-27 14:53:30 +0100 | [diff] [blame] | 394 | syn match cssUIAttr contained '\<preserve-3d\>' |
Bram Moolenaar | baca7f7 | 2013-09-22 14:42:24 +0200 | [diff] [blame] | 395 | " IE specific attributes |
Bram Moolenaar | 22f1d0e | 2018-02-27 14:53:30 +0100 | [diff] [blame] | 396 | syn match cssIEUIAttr contained '\<bicubic\>' |
Bram Moolenaar | baca7f7 | 2013-09-22 14:42:24 +0200 | [diff] [blame] | 397 | |
| 398 | " Webkit/iOS specific properties |
Bram Moolenaar | 0e6adf8 | 2021-12-16 14:41:10 +0000 | [diff] [blame] | 399 | syn match cssUIProp contained '\<\(tap-highlight-color\|user-select\|touch-callout\)\>' |
Bram Moolenaar | baca7f7 | 2013-09-22 14:42:24 +0200 | [diff] [blame] | 400 | " IE specific properties |
Bram Moolenaar | 0e6adf8 | 2021-12-16 14:41:10 +0000 | [diff] [blame] | 401 | syn match cssIEUIProp contained '\<\(interpolation-mode\|zoom\|filter\)\>' |
Bram Moolenaar | baca7f7 | 2013-09-22 14:42:24 +0200 | [diff] [blame] | 402 | |
| 403 | " Webkit/Firebox specific properties/attributes |
| 404 | syn keyword cssUIProp contained appearance |
| 405 | syn keyword cssUIAttr contained window button field icon document menu |
| 406 | |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 407 | |
| 408 | syn match cssAuralProp contained "\<\(pause\|cue\)\(-\(before\|after\)\)\=\>" |
Bram Moolenaar | baca7f7 | 2013-09-22 14:42:24 +0200 | [diff] [blame] | 409 | syn match cssAuralProp contained "\<\(play-during\|speech-rate\|voice-family\|pitch\(-range\)\=\|speak\(-\(punctuation\|numeral\|header\)\)\=\)\>" |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 410 | syn keyword cssAuralProp contained volume during azimuth elevation stress richness |
| 411 | syn match cssAuralAttr contained "\<\(x-\)\=\(soft\|loud\)\>" |
| 412 | syn keyword cssAuralAttr contained silent |
| 413 | syn match cssAuralAttr contained "\<spell-out\>" |
| 414 | syn keyword cssAuralAttr contained non mix |
| 415 | syn match cssAuralAttr contained "\<\(left\|right\)-side\>" |
| 416 | syn match cssAuralAttr contained "\<\(far\|center\)-\(left\|center\|right\)\>" |
| 417 | syn keyword cssAuralAttr contained leftwards rightwards behind |
Bram Moolenaar | baca7f7 | 2013-09-22 14:42:24 +0200 | [diff] [blame] | 418 | syn keyword cssAuralAttr contained below level above lower higher |
| 419 | syn match cssAuralAttr contained "\<\(x-\)\=\(slow\|fast\|low\|high\)\>" |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 420 | syn keyword cssAuralAttr contained faster slower |
| 421 | syn keyword cssAuralAttr contained male female child code digits continuous |
| 422 | |
Bram Moolenaar | baca7f7 | 2013-09-22 14:42:24 +0200 | [diff] [blame] | 423 | " mobile text |
| 424 | syn match cssMobileTextProp contained "\<text-size-adjust\>" |
Bram Moolenaar | d09acef | 2012-09-21 14:54:30 +0200 | [diff] [blame] | 425 | |
Bram Moolenaar | 06fe74a | 2019-08-31 16:20:32 +0200 | [diff] [blame] | 426 | syn keyword cssMediaProp contained width height orientation scan |
Bram Moolenaar | 0e6adf8 | 2021-12-16 14:41:10 +0000 | [diff] [blame] | 427 | syn keyword cssMediaProp contained any-hover any-pointer color-gamut grid hover |
| 428 | syn keyword cssMediaProp contained overflow-block overflow-inline pointer update |
| 429 | syn match cssMediaProp contained /\<\(\(max\|min\)-\)\=\(\(device\)-\)\=aspect-ratio\>/ |
| 430 | syn match cssMediaProp contained /\<\(\(max\|min\)-\)\=device-pixel-ratio\>/ |
| 431 | syn match cssMediaProp contained /\<\(\(max\|min\)-\)\=device-\(height\|width\)\>/ |
| 432 | syn match cssMediaProp contained /\<\(\(max\|min\)-\)\=\(height\|width\|resolution\|monochrome\|color\(-index\)\=\)\>/ |
Bram Moolenaar | 22f1d0e | 2018-02-27 14:53:30 +0100 | [diff] [blame] | 433 | syn keyword cssMediaAttr contained portrait landscape progressive interlace |
Bram Moolenaar | 0e6adf8 | 2021-12-16 14:41:10 +0000 | [diff] [blame] | 434 | syn keyword cssMediaAttr contained coarse fast fine hover infinite p3 paged |
| 435 | syn keyword cssMediaAttr contained rec2020 scroll slow srgb |
Bram Moolenaar | 06fe74a | 2019-08-31 16:20:32 +0200 | [diff] [blame] | 436 | syn match cssKeyFrameProp contained /\(\d\+\(\.\d\+\)\?%\|\(\<from\|to\>\)\)/ nextgroup=cssDefinition |
Bram Moolenaar | 22f1d0e | 2018-02-27 14:53:30 +0100 | [diff] [blame] | 437 | syn match cssPageMarginProp /@\(\(top\|left\|right\|bottom\)-\(left\|center\|right\|middle\|bottom\)\)\(-corner\)\=/ contained nextgroup=cssDefinition |
| 438 | syn keyword cssPageProp contained content size |
| 439 | syn keyword cssPageProp contained orphans widows |
| 440 | syn keyword cssFontDescriptorProp contained src |
| 441 | syn match cssFontDescriptorProp contained "\<unicode-range\>" |
| 442 | " unicode-range attributes |
| 443 | syn match cssFontDescriptorAttr contained "U+[0-9A-Fa-f?]\+" |
| 444 | syn match cssFontDescriptorAttr contained "U+\x\+-\x\+" |
Bram Moolenaar | baca7f7 | 2013-09-22 14:42:24 +0200 | [diff] [blame] | 445 | |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 446 | syn match cssBraces contained "[{}]" |
| 447 | syn match cssError contained "{@<>" |
Bram Moolenaar | 06fe74a | 2019-08-31 16:20:32 +0200 | [diff] [blame] | 448 | syn 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 |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 449 | syn match cssBraceError "}" |
Bram Moolenaar | baca7f7 | 2013-09-22 14:42:24 +0200 | [diff] [blame] | 450 | syn match cssAttrComma "," |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 451 | |
Bram Moolenaar | d09acef | 2012-09-21 14:54:30 +0200 | [diff] [blame] | 452 | " Pseudo class |
Bram Moolenaar | 0e6adf8 | 2021-12-16 14:41:10 +0000 | [diff] [blame] | 453 | " https://www.w3.org/TR/selectors-4/ |
Bram Moolenaar | baca7f7 | 2013-09-22 14:42:24 +0200 | [diff] [blame] | 454 | syn match cssPseudoClass ":[A-Za-z0-9_-]*" contains=cssNoise,cssPseudoClassId,cssUnicodeEscape,cssVendor,cssPseudoClassFn |
Adrian Heine né Lang | 309ded1 | 2023-08-20 21:23:18 +0200 | [diff] [blame] | 455 | syn keyword cssPseudoClassId contained link visited active hover before after left right any-link |
| 456 | syn keyword cssPseudoClassId contained root empty target enabled disabled checked invalid default defined autofill fullscreen host indeterminate in-range modal optional out-of-range picture-in-picture placeholder-shown paused playing read-only read-write required scope |
Bram Moolenaar | baca7f7 | 2013-09-22 14:42:24 +0200 | [diff] [blame] | 457 | syn match cssPseudoClassId contained "\<first-\(line\|letter\)\>" |
| 458 | syn match cssPseudoClassId contained "\<\(first\|last\|only\)-\(of-type\|child\)\>" |
Bram Moolenaar | 0e6adf8 | 2021-12-16 14:41:10 +0000 | [diff] [blame] | 459 | syn match cssPseudoClassId contained "\<focus\(-within\|-visible\)\=\>" |
Adrian Heine né Lang | 309ded1 | 2023-08-20 21:23:18 +0200 | [diff] [blame] | 460 | syn region cssPseudoClassFn contained matchgroup=cssFunctionName start="\<\(where\|has\|host\|not\|is\|lang\|\(nth\|nth-last\)-\(of-type\|child\)\)(" end=")" contains=cssStringQ,cssStringQQ,cssTagName,cssAttributeSelector,cssClassName,cssIdentifier |
Bram Moolenaar | baca7f7 | 2013-09-22 14:42:24 +0200 | [diff] [blame] | 461 | " ------------------------------------ |
| 462 | " Vendor specific properties |
| 463 | syn match cssPseudoClassId contained "\<selection\>" |
Bram Moolenaar | baca7f7 | 2013-09-22 14:42:24 +0200 | [diff] [blame] | 464 | syn match cssPseudoClassId contained "\<\(input-\)\=placeholder\>" |
| 465 | |
Bram Moolenaar | f2571c6 | 2015-06-09 19:44:55 +0200 | [diff] [blame] | 466 | " Misc highlight groups |
Bram Moolenaar | 22f1d0e | 2018-02-27 14:53:30 +0100 | [diff] [blame] | 467 | syntax 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 |
Bram Moolenaar | f2571c6 | 2015-06-09 19:44:55 +0200 | [diff] [blame] | 468 | syntax match cssNoise contained /\(:\|;\|\/\)/ |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 469 | |
Bram Moolenaar | d09acef | 2012-09-21 14:54:30 +0200 | [diff] [blame] | 470 | " Comment |
Bram Moolenaar | 18441ae | 2013-09-24 23:30:38 +0200 | [diff] [blame] | 471 | syn region cssComment start="/\*" end="\*/" contains=@Spell fold |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 472 | |
| 473 | syn match cssUnicodeEscape "\\\x\{1,6}\s\?" |
Bram Moolenaar | dfb1841 | 2013-12-11 18:53:29 +0100 | [diff] [blame] | 474 | syn match cssSpecialCharQQ +\\\\\|\\"+ contained |
| 475 | syn match cssSpecialCharQ +\\\\\|\\'+ contained |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 476 | syn region cssStringQQ start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=cssUnicodeEscape,cssSpecialCharQQ |
| 477 | syn region cssStringQ start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=cssUnicodeEscape,cssSpecialCharQ |
Bram Moolenaar | d09acef | 2012-09-21 14:54:30 +0200 | [diff] [blame] | 478 | |
| 479 | " Vendor Prefix |
Bram Moolenaar | 22f1d0e | 2018-02-27 14:53:30 +0100 | [diff] [blame] | 480 | syn match cssVendor contained "-\(webkit\|moz\|o\|ms\)-" |
Bram Moolenaar | d09acef | 2012-09-21 14:54:30 +0200 | [diff] [blame] | 481 | |
Bram Moolenaar | baca7f7 | 2013-09-22 14:42:24 +0200 | [diff] [blame] | 482 | " Various CSS Hack characters |
| 483 | " In earlier versions of IE (6 and 7), one can prefix property names |
| 484 | " with a _ or * to isolate those definitions to particular versions of IE |
| 485 | " This is purely decorative and therefore we assign to the same highlight |
| 486 | " group to cssVendor, for more information: |
| 487 | " http://www.paulirish.com/2009/browser-specific-css-hacks/ |
| 488 | syn match cssHacks contained /\(_\|*\)/ |
| 489 | |
Bram Moolenaar | baca7f7 | 2013-09-22 14:42:24 +0200 | [diff] [blame] | 490 | " Attr Enhance |
| 491 | " Some keywords are both Prop and Attr, so we have to handle them |
Bram Moolenaar | 06fe74a | 2019-08-31 16:20:32 +0200 | [diff] [blame] | 492 | " cssPseudoClassId is hidden by cssAttrRegion, so we add it here. see #69 |
| 493 | syn region cssAttrRegion start=/:/ end=/\ze\(;\|)\|}\|{\)/ contained contains=cssPseudoClassId,css.*Attr,cssColor,cssImportant,cssValue.*,cssFunction,cssString.*,cssURL,cssComment,cssUnicodeEscape,cssVendor,cssError,cssAttrComma,cssNoise |
Bram Moolenaar | baca7f7 | 2013-09-22 14:42:24 +0200 | [diff] [blame] | 494 | |
| 495 | " Hack for transition |
Bram Moolenaar | f2571c6 | 2015-06-09 19:44:55 +0200 | [diff] [blame] | 496 | " 'transition' has Props after ':'. |
| 497 | syn region cssAttrRegion start=/transition\s*:/ end=/\ze\(;\|)\|}\)/ contained contains=css.*Prop,css.*Attr,cssColor,cssImportant,cssValue.*,cssFunction,cssString.*,cssURL,cssComment,cssUnicodeEscape,cssVendor,cssError,cssAttrComma,cssNoise |
Bram Moolenaar | baca7f7 | 2013-09-22 14:42:24 +0200 | [diff] [blame] | 498 | |
Bram Moolenaar | 06fe74a | 2019-08-31 16:20:32 +0200 | [diff] [blame] | 499 | syn match cssAtKeyword /@\(font-face\|media\|keyframes\|import\|charset\|namespace\|page\|supports\)/ |
Bram Moolenaar | 22f1d0e | 2018-02-27 14:53:30 +0100 | [diff] [blame] | 500 | |
| 501 | syn keyword cssAtRuleLogical only not and contained |
| 502 | |
| 503 | " @media |
| 504 | " Reference: http://www.w3.org/TR/css3-mediaqueries/ |
Bram Moolenaar | 06fe74a | 2019-08-31 16:20:32 +0200 | [diff] [blame] | 505 | syn region cssAtRule start=/@media\>/ end=/\ze{/ skipwhite skipnl matchgroup=cssAtKeyword contains=cssMediaProp,cssValueLength,cssAtRuleLogical,cssValueInteger,cssMediaAttr,cssVendor,cssMediaType,cssComment,cssCustomProp,cssFunctionName nextgroup=cssDefinition |
Bram Moolenaar | 22f1d0e | 2018-02-27 14:53:30 +0100 | [diff] [blame] | 506 | syn keyword cssMediaType contained screen print aural braille embossed handheld projection tty tv speech all contained |
| 507 | |
| 508 | " @page |
| 509 | " http://www.w3.org/TR/css3-page/ |
| 510 | syn region cssAtRule start=/@page\>/ end=/\ze{/ skipwhite skipnl matchgroup=cssAtKeyword contains=cssPagePseudo,cssComment nextgroup=cssDefinition |
| 511 | syn match cssPagePseudo /:\(left\|right\|first\|blank\)/ contained skipwhite skipnl |
| 512 | " @keyframe |
| 513 | " http://www.w3.org/TR/css3-animations/#keyframes |
| 514 | syn region cssAtRule start=/@\(-[a-z]\+-\)\=keyframes\>/ end=/\ze{/ skipwhite skipnl matchgroup=cssAtKeyword contains=cssVendor,cssComment nextgroup=cssDefinition |
| 515 | |
| 516 | syn region cssAtRule start=/@import\>/ end=/\ze;/ contains=cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment,cssAtKeyword,cssURL,cssMediaProp,cssValueLength,cssAtRuleLogical,cssValueInteger,cssMediaAttr,cssMediaType |
| 517 | syn region cssAtRule start=/@charset\>/ end=/\ze;/ contains=cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment,cssAtKeyword |
| 518 | syn region cssAtRule start=/@namespace\>/ end=/\ze;/ contains=cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment,cssAtKeyword |
| 519 | |
Bram Moolenaar | 22f1d0e | 2018-02-27 14:53:30 +0100 | [diff] [blame] | 520 | " @supports |
| 521 | " https://www.w3.org/TR/css3-conditional/#at-supports |
| 522 | syn region cssAtRule start=/@supports\>/ end=/\ze{/ skipwhite skipnl contains=cssAtRuleLogical,cssAttrRegion,css.*Prop,cssValue.*,cssVendor,cssAtKeyword,cssComment nextgroup=cssDefinition |
| 523 | |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 524 | |
| 525 | if main_syntax == "css" |
| 526 | syn sync minlines=10 |
| 527 | endif |
| 528 | |
| 529 | " Define the default highlighting. |
Bram Moolenaar | 89bcfda | 2016-08-30 23:26:57 +0200 | [diff] [blame] | 530 | " Only when an item doesn't have highlighting yet |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 531 | |
Bram Moolenaar | f37506f | 2016-08-31 22:22:10 +0200 | [diff] [blame] | 532 | hi def link cssComment Comment |
| 533 | hi def link cssVendor Comment |
| 534 | hi def link cssHacks Comment |
| 535 | hi def link cssTagName Statement |
| 536 | hi def link cssDeprecated Error |
| 537 | hi def link cssSelectorOp Special |
| 538 | hi def link cssSelectorOp2 Special |
| 539 | hi def link cssAttrComma Special |
Bram Moolenaar | d09acef | 2012-09-21 14:54:30 +0200 | [diff] [blame] | 540 | |
Bram Moolenaar | f37506f | 2016-08-31 22:22:10 +0200 | [diff] [blame] | 541 | hi def link cssAnimationProp cssProp |
| 542 | hi def link cssBackgroundProp cssProp |
| 543 | hi def link cssBorderProp cssProp |
| 544 | hi def link cssBoxProp cssProp |
Bram Moolenaar | 06fe74a | 2019-08-31 16:20:32 +0200 | [diff] [blame] | 545 | hi def link cssCascadeProp cssProp |
Bram Moolenaar | f37506f | 2016-08-31 22:22:10 +0200 | [diff] [blame] | 546 | hi def link cssColorProp cssProp |
| 547 | hi def link cssContentForPagedMediaProp cssProp |
| 548 | hi def link cssDimensionProp cssProp |
| 549 | hi def link cssFlexibleBoxProp cssProp |
| 550 | hi def link cssFontProp cssProp |
| 551 | hi def link cssGeneratedContentProp cssProp |
| 552 | hi def link cssGridProp cssProp |
| 553 | hi def link cssHyerlinkProp cssProp |
Bram Moolenaar | 22f1d0e | 2018-02-27 14:53:30 +0100 | [diff] [blame] | 554 | hi def link cssInteractProp cssProp |
Bram Moolenaar | f37506f | 2016-08-31 22:22:10 +0200 | [diff] [blame] | 555 | hi def link cssLineboxProp cssProp |
| 556 | hi def link cssListProp cssProp |
| 557 | hi def link cssMarqueeProp cssProp |
| 558 | hi def link cssMultiColumnProp cssProp |
| 559 | hi def link cssPagedMediaProp cssProp |
| 560 | hi def link cssPositioningProp cssProp |
Bram Moolenaar | 2286304 | 2021-10-16 15:23:36 +0100 | [diff] [blame] | 561 | hi def link cssObjectProp cssProp |
Bram Moolenaar | f37506f | 2016-08-31 22:22:10 +0200 | [diff] [blame] | 562 | hi def link cssPrintProp cssProp |
| 563 | hi def link cssRubyProp cssProp |
| 564 | hi def link cssSpeechProp cssProp |
| 565 | hi def link cssTableProp cssProp |
| 566 | hi def link cssTextProp cssProp |
| 567 | hi def link cssTransformProp cssProp |
| 568 | hi def link cssTransitionProp cssProp |
| 569 | hi def link cssUIProp cssProp |
| 570 | hi def link cssIEUIProp cssProp |
| 571 | hi def link cssAuralProp cssProp |
| 572 | hi def link cssRenderProp cssProp |
| 573 | hi def link cssMobileTextProp cssProp |
Bram Moolenaar | d09acef | 2012-09-21 14:54:30 +0200 | [diff] [blame] | 574 | |
Bram Moolenaar | f37506f | 2016-08-31 22:22:10 +0200 | [diff] [blame] | 575 | hi def link cssAnimationAttr cssAttr |
| 576 | hi def link cssBackgroundAttr cssAttr |
| 577 | hi def link cssBorderAttr cssAttr |
| 578 | hi def link cssBoxAttr cssAttr |
| 579 | hi def link cssContentForPagedMediaAttr cssAttr |
| 580 | hi def link cssDimensionAttr cssAttr |
| 581 | hi def link cssFlexibleBoxAttr cssAttr |
| 582 | hi def link cssFontAttr cssAttr |
| 583 | hi def link cssGeneratedContentAttr cssAttr |
| 584 | hi def link cssGridAttr cssAttr |
| 585 | hi def link cssHyerlinkAttr cssAttr |
Bram Moolenaar | 22f1d0e | 2018-02-27 14:53:30 +0100 | [diff] [blame] | 586 | hi def link cssInteractAttr cssAttr |
Bram Moolenaar | f37506f | 2016-08-31 22:22:10 +0200 | [diff] [blame] | 587 | hi def link cssLineboxAttr cssAttr |
| 588 | hi def link cssListAttr cssAttr |
| 589 | hi def link cssMarginAttr cssAttr |
| 590 | hi def link cssMarqueeAttr cssAttr |
| 591 | hi def link cssMultiColumnAttr cssAttr |
| 592 | hi def link cssPaddingAttr cssAttr |
| 593 | hi def link cssPagedMediaAttr cssAttr |
| 594 | hi def link cssPositioningAttr cssAttr |
Bram Moolenaar | 2286304 | 2021-10-16 15:23:36 +0100 | [diff] [blame] | 595 | hi def link cssObjectAttr cssAttr |
Bram Moolenaar | f37506f | 2016-08-31 22:22:10 +0200 | [diff] [blame] | 596 | hi def link cssGradientAttr cssAttr |
| 597 | hi def link cssPrintAttr cssAttr |
| 598 | hi def link cssRubyAttr cssAttr |
| 599 | hi def link cssSpeechAttr cssAttr |
| 600 | hi def link cssTableAttr cssAttr |
| 601 | hi def link cssTextAttr cssAttr |
| 602 | hi def link cssTransformAttr cssAttr |
| 603 | hi def link cssTransitionAttr cssAttr |
| 604 | hi def link cssUIAttr cssAttr |
| 605 | hi def link cssIEUIAttr cssAttr |
| 606 | hi def link cssAuralAttr cssAttr |
| 607 | hi def link cssRenderAttr cssAttr |
Bram Moolenaar | 06fe74a | 2019-08-31 16:20:32 +0200 | [diff] [blame] | 608 | hi def link cssCascadeAttr cssAttr |
Bram Moolenaar | f37506f | 2016-08-31 22:22:10 +0200 | [diff] [blame] | 609 | hi def link cssCommonAttr cssAttr |
Bram Moolenaar | d09acef | 2012-09-21 14:54:30 +0200 | [diff] [blame] | 610 | |
Bram Moolenaar | f37506f | 2016-08-31 22:22:10 +0200 | [diff] [blame] | 611 | hi def link cssPseudoClassId PreProc |
| 612 | hi def link cssPseudoClassLang Constant |
| 613 | hi def link cssValueLength Number |
| 614 | hi def link cssValueInteger Number |
| 615 | hi def link cssValueNumber Number |
| 616 | hi def link cssValueAngle Number |
| 617 | hi def link cssValueTime Number |
| 618 | hi def link cssValueFrequency Number |
| 619 | hi def link cssFunction Constant |
| 620 | hi def link cssURL String |
| 621 | hi def link cssFunctionName Function |
| 622 | hi def link cssFunctionComma Function |
| 623 | hi def link cssColor Constant |
| 624 | hi def link cssIdentifier Function |
Bram Moolenaar | 22f1d0e | 2018-02-27 14:53:30 +0100 | [diff] [blame] | 625 | hi def link cssAtRule Include |
| 626 | hi def link cssAtKeyword PreProc |
Bram Moolenaar | f37506f | 2016-08-31 22:22:10 +0200 | [diff] [blame] | 627 | hi def link cssImportant Special |
Bram Moolenaar | 06fe74a | 2019-08-31 16:20:32 +0200 | [diff] [blame] | 628 | hi def link cssCustomProp Special |
Bram Moolenaar | f37506f | 2016-08-31 22:22:10 +0200 | [diff] [blame] | 629 | hi def link cssBraces Function |
| 630 | hi def link cssBraceError Error |
| 631 | hi def link cssError Error |
| 632 | hi def link cssUnicodeEscape Special |
| 633 | hi def link cssStringQQ String |
| 634 | hi def link cssStringQ String |
| 635 | hi def link cssAttributeSelector String |
Bram Moolenaar | f37506f | 2016-08-31 22:22:10 +0200 | [diff] [blame] | 636 | hi def link cssMediaType Special |
| 637 | hi def link cssMediaComma Normal |
Bram Moolenaar | 22f1d0e | 2018-02-27 14:53:30 +0100 | [diff] [blame] | 638 | hi def link cssAtRuleLogical Statement |
Bram Moolenaar | f37506f | 2016-08-31 22:22:10 +0200 | [diff] [blame] | 639 | hi def link cssMediaProp cssProp |
| 640 | hi def link cssMediaAttr cssAttr |
Bram Moolenaar | f37506f | 2016-08-31 22:22:10 +0200 | [diff] [blame] | 641 | hi def link cssPagePseudo PreProc |
Bram Moolenaar | 22f1d0e | 2018-02-27 14:53:30 +0100 | [diff] [blame] | 642 | hi def link cssPageMarginProp cssAtKeyword |
Bram Moolenaar | f37506f | 2016-08-31 22:22:10 +0200 | [diff] [blame] | 643 | hi def link cssPageProp cssProp |
Bram Moolenaar | 22f1d0e | 2018-02-27 14:53:30 +0100 | [diff] [blame] | 644 | hi def link cssKeyFrameProp Constant |
Bram Moolenaar | f37506f | 2016-08-31 22:22:10 +0200 | [diff] [blame] | 645 | hi def link cssFontDescriptor Special |
Bram Moolenaar | f37506f | 2016-08-31 22:22:10 +0200 | [diff] [blame] | 646 | hi def link cssFontDescriptorProp cssProp |
| 647 | hi def link cssFontDescriptorAttr cssAttr |
| 648 | hi def link cssUnicodeRange Constant |
| 649 | hi def link cssClassName Function |
| 650 | hi def link cssClassNameDot Function |
| 651 | hi def link cssProp StorageClass |
| 652 | hi def link cssAttr Constant |
| 653 | hi def link cssUnitDecorators Number |
| 654 | hi def link cssNoise Noise |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 655 | |
| 656 | let b:current_syntax = "css" |
| 657 | |
| 658 | if main_syntax == 'css' |
| 659 | unlet main_syntax |
| 660 | endif |
| 661 | |
Bram Moolenaar | 0c5fa7d | 2012-10-05 22:26:30 +0200 | [diff] [blame] | 662 | let &cpo = s:cpo_save |
| 663 | unlet s:cpo_save |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 664 | |
Bram Moolenaar | 4f4d51a | 2020-10-11 13:57:40 +0200 | [diff] [blame] | 665 | " vim: ts=8 |