From 45f2972068cc8fbb81705d1eb5a4462ed25b6384 Mon Sep 17 00:00:00 2001 From: DuckAfire <155199080+duckafire@users.noreply.github.com> Date: Tue, 3 Feb 2026 12:29:02 -0300 Subject: [PATCH 1/6] Add missing numberic units (baseline 2015) --- runtime/syntax/css.vim | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/runtime/syntax/css.vim b/runtime/syntax/css.vim index da3f3c73f1e6fa..f83a4e6c978ab1 100644 --- a/runtime/syntax/css.vim +++ b/runtime/syntax/css.vim @@ -9,6 +9,7 @@ " Maintainer: Jay Sitter " Last Change: 2024 Mar 2 " 2025 Nov 11: improve support for cssBoxProperties #18717 +" 2026 Fev 03: add missing numberic units (baseline 2015) " quit when a syntax file was already loaded if !exists("main_syntax") @@ -74,7 +75,7 @@ syn match cssValueInteger contained "[-+]\=\d\+" contains=cssUnitDecorators syn match cssValueNumber contained "[-+]\=\d\+\(\.\d*\)\=" contains=cssUnitDecorators 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 syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=%" contains=cssUnitDecorators -syn match cssValueAngle contained "[-+]\=\d\+\(\.\d*\)\=\(deg\|grad\|rad\)\>" contains=cssUnitDecorators +syn match cssValueAngle contained "[-+]\=\d\+\(\.\d*\)\=\(deg\|grad\|rad\|turn\)\>" contains=cssUnitDecorators syn match cssValueTime contained "+\=\d\+\(\.\d*\)\=\(ms\|s\)\>" contains=cssUnitDecorators syn match cssValueFrequency contained "+\=\d\+\(\.\d*\)\=\(Hz\|kHz\)\>" contains=cssUnitDecorators From 0a05ade092d895e1219fb2700b33346de6753ff1 Mon Sep 17 00:00:00 2001 From: DuckAfire <155199080+duckafire@users.noreply.github.com> Date: Tue, 3 Feb 2026 12:33:08 -0300 Subject: [PATCH 2/6] Add missing numberic units (baseline 2020) --- runtime/syntax/css.vim | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/runtime/syntax/css.vim b/runtime/syntax/css.vim index f83a4e6c978ab1..2a237a66e89e63 100644 --- a/runtime/syntax/css.vim +++ b/runtime/syntax/css.vim @@ -10,6 +10,7 @@ " Last Change: 2024 Mar 2 " 2025 Nov 11: improve support for cssBoxProperties #18717 " 2026 Fev 03: add missing numberic units (baseline 2015) +" 2026 Fev 03: add missing numberic units (baseline 2020) " quit when a syntax file was already loaded if !exists("main_syntax") @@ -73,7 +74,7 @@ endtry " digits syn match cssValueInteger contained "[-+]\=\d\+" contains=cssUnitDecorators syn match cssValueNumber contained "[-+]\=\d\+\(\.\d*\)\=" contains=cssUnitDecorators -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 +syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=\(mm\|cm\|in\|pt\|pc\|em\|ex\|px\|rem\|dpi\|dppx\|dpcm\|fr\|vw\|vh\|vmin\|vmax\|ch\|Q\)\>" contains=cssUnitDecorators syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=%" contains=cssUnitDecorators syn match cssValueAngle contained "[-+]\=\d\+\(\.\d*\)\=\(deg\|grad\|rad\|turn\)\>" contains=cssUnitDecorators syn match cssValueTime contained "+\=\d\+\(\.\d*\)\=\(ms\|s\)\>" contains=cssUnitDecorators From 84d578d47b985c355aa145c7e5bc92e62ad85d80 Mon Sep 17 00:00:00 2001 From: DuckAfire <155199080+duckafire@users.noreply.github.com> Date: Tue, 3 Feb 2026 15:10:45 -0300 Subject: [PATCH 3/6] Add missing numberic units (baseline 2022) dvb, dvh, dvi, dvmax, dvmin, dvw ic lvb, lvh, lvi, lvmax, lvmin, lvw svb, svh, svi, svmax, svmin, svw vb vi x --- runtime/syntax/css.vim | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/runtime/syntax/css.vim b/runtime/syntax/css.vim index 2a237a66e89e63..cb6cea6bf73573 100644 --- a/runtime/syntax/css.vim +++ b/runtime/syntax/css.vim @@ -11,6 +11,7 @@ " 2025 Nov 11: improve support for cssBoxProperties #18717 " 2026 Fev 03: add missing numberic units (baseline 2015) " 2026 Fev 03: add missing numberic units (baseline 2020) +" 2026 Fev 03: add missing numberic units (baseline 2022) " quit when a syntax file was already loaded if !exists("main_syntax") @@ -74,7 +75,8 @@ endtry " digits syn match cssValueInteger contained "[-+]\=\d\+" contains=cssUnitDecorators syn match cssValueNumber contained "[-+]\=\d\+\(\.\d*\)\=" contains=cssUnitDecorators -syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=\(mm\|cm\|in\|pt\|pc\|em\|ex\|px\|rem\|dpi\|dppx\|dpcm\|fr\|vw\|vh\|vmin\|vmax\|ch\|Q\)\>" contains=cssUnitDecorators +syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=\(mm\|cm\|in\|pt\|pc\|em\|ex\|px\|rem\|dpi\|dppx\|dpcm\|fr\|ch\|Q\|ic\|x\)\>" contains=cssUnitDecorators +syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=[dls]\=\(vb\|vh\|vi\|vmax\|vmin\|vw\)\>" contains=cssUnitDecorators syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=%" contains=cssUnitDecorators syn match cssValueAngle contained "[-+]\=\d\+\(\.\d*\)\=\(deg\|grad\|rad\|turn\)\>" contains=cssUnitDecorators syn match cssValueTime contained "+\=\d\+\(\.\d*\)\=\(ms\|s\)\>" contains=cssUnitDecorators From 3e336e67cffc787404e740c63547549f42a8d701 Mon Sep 17 00:00:00 2001 From: DuckAfire <155199080+duckafire@users.noreply.github.com> Date: Tue, 3 Feb 2026 15:42:34 -0300 Subject: [PATCH 4/6] Add missing numberic units (baseline 2023) cap, lh, rlh --- runtime/syntax/css.vim | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/runtime/syntax/css.vim b/runtime/syntax/css.vim index cb6cea6bf73573..c124bb671423d4 100644 --- a/runtime/syntax/css.vim +++ b/runtime/syntax/css.vim @@ -12,6 +12,7 @@ " 2026 Fev 03: add missing numberic units (baseline 2015) " 2026 Fev 03: add missing numberic units (baseline 2020) " 2026 Fev 03: add missing numberic units (baseline 2022) +" 2026 Fev 03: add missing numberic units (baseline 2023) " quit when a syntax file was already loaded if !exists("main_syntax") @@ -75,7 +76,8 @@ endtry " digits syn match cssValueInteger contained "[-+]\=\d\+" contains=cssUnitDecorators syn match cssValueNumber contained "[-+]\=\d\+\(\.\d*\)\=" contains=cssUnitDecorators -syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=\(mm\|cm\|in\|pt\|pc\|em\|ex\|px\|rem\|dpi\|dppx\|dpcm\|fr\|ch\|Q\|ic\|x\)\>" contains=cssUnitDecorators +syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=\(mm\|cm\|in\|pt\|pc\|px\|rem\|dpi\|dppx\|dpcm\|fr\|Q\|x\)\>" contains=cssUnitDecorators +syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=\(em\|ex\|cap\|lh\|rlh\|ch\|ic\)\>" contains=cssUnitDecorators syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=[dls]\=\(vb\|vh\|vi\|vmax\|vmin\|vw\)\>" contains=cssUnitDecorators syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=%" contains=cssUnitDecorators syn match cssValueAngle contained "[-+]\=\d\+\(\.\d*\)\=\(deg\|grad\|rad\|turn\)\>" contains=cssUnitDecorators From 1936098888b20547d54278e8678877685dc58c7f Mon Sep 17 00:00:00 2001 From: DuckAfire <155199080+duckafire@users.noreply.github.com> Date: Tue, 3 Feb 2026 15:51:26 -0300 Subject: [PATCH 5/6] Add missing numberic units (baseline 2026) rcap, rch, rex, ric --- runtime/syntax/css.vim | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/runtime/syntax/css.vim b/runtime/syntax/css.vim index c124bb671423d4..2064899c741499 100644 --- a/runtime/syntax/css.vim +++ b/runtime/syntax/css.vim @@ -76,8 +76,8 @@ endtry " digits syn match cssValueInteger contained "[-+]\=\d\+" contains=cssUnitDecorators syn match cssValueNumber contained "[-+]\=\d\+\(\.\d*\)\=" contains=cssUnitDecorators -syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=\(mm\|cm\|in\|pt\|pc\|px\|rem\|dpi\|dppx\|dpcm\|fr\|Q\|x\)\>" contains=cssUnitDecorators -syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=\(em\|ex\|cap\|lh\|rlh\|ch\|ic\)\>" contains=cssUnitDecorators +syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=\(mm\|cm\|in\|pt\|pc\|px\|dpi\|dppx\|dpcm\|fr\|Q\|x\)\>" contains=cssUnitDecorators +syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=r\=\(em\|ex\|cap\|lh\|ch\|ic\)\>" contains=cssUnitDecorators syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=[dls]\=\(vb\|vh\|vi\|vmax\|vmin\|vw\)\>" contains=cssUnitDecorators syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=%" contains=cssUnitDecorators syn match cssValueAngle contained "[-+]\=\d\+\(\.\d*\)\=\(deg\|grad\|rad\|turn\)\>" contains=cssUnitDecorators From 4b2d375ea715eb866071f2a208bab42016103035 Mon Sep 17 00:00:00 2001 From: DuckAfire <155199080+duckafire@users.noreply.github.com> Date: Tue, 3 Feb 2026 16:01:47 -0300 Subject: [PATCH 6/6] Replace \(\) with \%(\) --- runtime/syntax/css.vim | 238 ++++++++++++++++++++--------------------- 1 file changed, 119 insertions(+), 119 deletions(-) diff --git a/runtime/syntax/css.vim b/runtime/syntax/css.vim index 2064899c741499..bf175e17a48bab 100644 --- a/runtime/syntax/css.vim +++ b/runtime/syntax/css.vim @@ -75,14 +75,14 @@ endtry " digits syn match cssValueInteger contained "[-+]\=\d\+" contains=cssUnitDecorators -syn match cssValueNumber contained "[-+]\=\d\+\(\.\d*\)\=" contains=cssUnitDecorators -syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=\(mm\|cm\|in\|pt\|pc\|px\|dpi\|dppx\|dpcm\|fr\|Q\|x\)\>" contains=cssUnitDecorators -syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=r\=\(em\|ex\|cap\|lh\|ch\|ic\)\>" contains=cssUnitDecorators -syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=[dls]\=\(vb\|vh\|vi\|vmax\|vmin\|vw\)\>" contains=cssUnitDecorators -syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=%" contains=cssUnitDecorators -syn match cssValueAngle contained "[-+]\=\d\+\(\.\d*\)\=\(deg\|grad\|rad\|turn\)\>" contains=cssUnitDecorators -syn match cssValueTime contained "+\=\d\+\(\.\d*\)\=\(ms\|s\)\>" contains=cssUnitDecorators -syn match cssValueFrequency contained "+\=\d\+\(\.\d*\)\=\(Hz\|kHz\)\>" contains=cssUnitDecorators +syn match cssValueNumber contained "[-+]\=\d\+\%(\.\d*\)\=" contains=cssUnitDecorators +syn match cssValueLength contained "[-+]\=\d\+\%(\.\d*\)\=\%(mm\|cm\|in\|pt\|pc\|px\|dpi\|dppx\|dpcm\|fr\|Q\|x\)\>" contains=cssUnitDecorators +syn match cssValueLength contained "[-+]\=\d\+\%(\.\d*\)\=r\=\%(em\|ex\|cap\|lh\|ch\|ic\)\>" contains=cssUnitDecorators +syn match cssValueLength contained "[-+]\=\d\+\%(\.\d*\)\=[dls]\=\%(vb\|vh\|vi\|vmax\|vmin\|vw\)\>" contains=cssUnitDecorators +syn match cssValueLength contained "[-+]\=\d\+\%(\.\d*\)\=%" contains=cssUnitDecorators +syn match cssValueAngle contained "[-+]\=\d\+\%(\.\d*\)\=\%(deg\|grad\|rad\|turn\)\>" contains=cssUnitDecorators +syn match cssValueTime contained "+\=\d\+\%(\.\d*\)\=\%(ms\|s\)\>" contains=cssUnitDecorators +syn match cssValueFrequency contained "+\=\d\+\%(\.\d*\)\=\%(Hz\|kHz\)\>" contains=cssUnitDecorators " The 16 basic color names syn keyword cssColor contained aqua black blue fuchsia gray green lime maroon navy olive purple red silver teal yellow @@ -91,23 +91,23 @@ syn keyword cssColor contained aqua black blue fuchsia gray green lime maroon na syn keyword cssColor contained aliceblue antiquewhite aquamarine azure syn keyword cssColor contained beige bisque blanchedalmond blueviolet brown burlywood syn keyword cssColor contained cadetblue chartreuse chocolate coral cornflowerblue cornsilk crimson cyan -syn match cssColor contained /\/ -syn match cssColor contained /\/ -syn match cssColor contained /\/ -syn match cssColor contained /\/ +syn match cssColor contained /\/ +syn match cssColor contained /\/ +syn match cssColor contained /\/ +syn match cssColor contained /\/ syn keyword cssColor contained deeppink deepskyblue dimgray dimgrey dodgerblue firebrick syn keyword cssColor contained floralwhite forestgreen gainsboro ghostwhite gold syn keyword cssColor contained goldenrod greenyellow grey honeydew hotpink syn keyword cssColor contained indianred indigo ivory khaki lavender lavenderblush lawngreen syn keyword cssColor contained lemonchiffon limegreen linen magenta -syn match cssColor contained /\/ -syn match cssColor contained /\/ -syn match cssColor contained /\/ -syn match cssColor contained /\/ -syn match cssColor contained /\/ +syn match cssColor contained /\/ +syn match cssColor contained /\/ +syn match cssColor contained /\/ +syn match cssColor contained /\/ +syn match cssColor contained /\/ syn keyword cssColor contained midnightblue mintcream mistyrose moccasin navajowhite syn keyword cssColor contained oldlace olivedrab orange orangered orchid -syn match cssColor contained /\/ +syn match cssColor contained /\/ syn keyword cssColor contained papayawhip peachpuff peru pink plum powderblue syn keyword cssColor contained rosybrown royalblue rebeccapurple saddlebrown salmon syn keyword cssColor contained sandybrown seagreen seashell sienna skyblue slateblue @@ -132,25 +132,25 @@ syn match cssColor contained "#\x\{3,4\}\>" contains=cssUnitDecorators syn match cssColor contained "#\x\{6\}\>" contains=cssUnitDecorators syn match cssColor contained "#\x\{8\}\>" contains=cssUnitDecorators -syn region cssURL contained matchgroup=cssFunctionName start="\<\(uri\|url\|local\|format\)\s*(" end=")" contains=cssStringQ,cssStringQQ oneline +syn region cssURL contained matchgroup=cssFunctionName start="\<\%(uri\|url\|local\|format\)\s*(" end=")" contains=cssStringQ,cssStringQQ oneline syn region cssMathGroup contained matchgroup=cssMathParens start="(" end=")" containedin=cssFunction,cssMathGroup contains=cssCustomProp,cssValue.*,cssFunction,cssColor,cssStringQ,cssStringQQ oneline -syn region cssFunction contained matchgroup=cssFunctionName start="\<\(var\|calc\)\s*(" end=")" contains=cssCustomProp,cssValue.*,cssFunction,cssURL,cssColor,cssStringQ,cssStringQQ oneline -syn region cssFunction contained matchgroup=cssFunctionName start="\<\(rgb\|clip\|attr\|counter\|rect\|cubic-bezier\|steps\)\s*(" end=")" oneline contains=cssValueInteger,cssValueNumber,cssValueLength,cssFunctionComma -syn region cssFunction contained matchgroup=cssFunctionName start="\<\(rgba\|hsl\|hsla\|color-stop\|from\|to\)\s*(" end=")" oneline contains=cssColor,cssValueInteger,cssValueNumber,cssValueLength,cssFunctionComma,cssFunction -syn region cssFunction contained matchgroup=cssFunctionName start="\<\(linear-\|radial-\|conic-\)\=\gradient\s*(" end=")" oneline contains=cssColor,cssValueInteger,cssValueNumber,cssValueLength,cssFunction,cssGradientAttr,cssFunctionComma -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 -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 +syn region cssFunction contained matchgroup=cssFunctionName start="\<\%(var\|calc\)\s*(" end=")" contains=cssCustomProp,cssValue.*,cssFunction,cssURL,cssColor,cssStringQ,cssStringQQ oneline +syn region cssFunction contained matchgroup=cssFunctionName start="\<\%(rgb\|clip\|attr\|counter\|rect\|cubic-bezier\|steps\)\s*(" end=")" oneline contains=cssValueInteger,cssValueNumber,cssValueLength,cssFunctionComma +syn region cssFunction contained matchgroup=cssFunctionName start="\<\%(rgba\|hsl\|hsla\|color-stop\|from\|to\)\s*(" end=")" oneline contains=cssColor,cssValueInteger,cssValueNumber,cssValueLength,cssFunctionComma,cssFunction +syn region cssFunction contained matchgroup=cssFunctionName start="\<\%(linear-\|radial-\|conic-\)\=\gradient\s*(" end=")" oneline contains=cssColor,cssValueInteger,cssValueNumber,cssValueLength,cssFunction,cssGradientAttr,cssFunctionComma +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 +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 syn keyword cssGradientAttr contained top bottom left right cover center middle ellipse at syn match cssFunctionComma contained "," " Common Prop and Attr syn keyword cssCommonAttr contained auto none inherit all default normal syn keyword cssCommonAttr contained top bottom center stretch hidden visible -syn match cssCommonAttr contained "\<\(max-\|min-\|fit-\)content\>" +syn match cssCommonAttr contained "\<\%(max-\|min-\|fit-\)content\>" "------------------------------------------------ " CSS Animations " http://www.w3.org/TR/css3-animations/ -syn match cssAnimationProp contained "\" +syn match cssAnimationProp contained "\" " animation-direction attributes syn keyword cssAnimationAttr contained alternate reverse @@ -167,7 +167,7 @@ syn keyword cssAnimationAttr contained infinite "------------------------------------------------ " CSS Backgrounds and Borders Module Level 3 " http://www.w3.org/TR/css3-background/ -syn match cssBackgroundProp contained "\" +syn match cssBackgroundProp contained "\" " background-attachment attributes syn keyword cssBackgroundAttr contained scroll fixed local @@ -176,16 +176,16 @@ syn keyword cssBackgroundAttr contained left center right top bottom " background-repeat attributes syn match cssBackgroundAttr contained "\" -syn match cssBackgroundAttr contained "\" +syn match cssBackgroundAttr contained "\" " background-size attributes syn keyword cssBackgroundAttr contained cover contain -syn match cssBorderProp contained "\" -syn match cssBorderProp contained "\" -syn match cssBorderProp contained "\" -syn match cssBorderProp contained "\" -syn match cssBorderProp contained "\" +syn match cssBorderProp contained "\" +syn match cssBorderProp contained "\" +syn match cssBorderProp contained "\" +syn match cssBorderProp contained "\" +syn match cssBorderProp contained "\" syn match cssBorderProp contained "\" syn match cssBorderProp contained "\" @@ -202,13 +202,13 @@ syn keyword cssBorderAttr contained thin thick medium syn keyword cssBorderAttr contained clone slice "------------------------------------------------ -syn match cssBoxProp contained "\" -syn match cssBoxProp contained "\" -syn match cssBoxProp contained "\<\(margin\|padding\)\(-\(inline\|block\)\(-\(start\|end\)\)\=\)\=\>" -syn match cssBoxProp contained "\" -syn match cssBoxProp contained "\" +syn match cssBoxProp contained "\" +syn match cssBoxProp contained "\" +syn match cssBoxProp contained "\<\%(margin\|padding\)\%(-\%(inline\|block\)\%(-\%(start\|end\)\)\=\)\=\>" +syn match cssBoxProp contained "\" +syn match cssBoxProp contained "\" syn keyword cssBoxAttr contained visible hidden scroll auto -syn match cssBoxAttr contained "\" +syn match cssBoxAttr contained "\" syn keyword cssCascadeProp contained all syn keyword cssCascadeAttr contained initial unset revert @@ -218,7 +218,7 @@ syn match cssColorProp contained "\" syn match cssColorProp contained "\" -syn match cssDimensionProp contained "\<\(min\|max\)-\(width\|height\)\>" +syn match cssDimensionProp contained "\<\%(min\|max\)-\%(width\|height\)\>" syn keyword cssDimensionProp contained height syn keyword cssDimensionProp contained width @@ -226,32 +226,32 @@ syn keyword cssDimensionProp contained width " http://www.w3.org/TR/css3-flexbox/ " CSS Box Alignment Module Level 3 " http://www.w3.org/TR/css-align-3/ -syn match cssFlexibleBoxProp contained "\" -syn match cssFlexibleBoxProp contained "\<\(align\|justify\)\(-\(items\|self\|content\)\)\=\>" +syn match cssFlexibleBoxProp contained "\" +syn match cssFlexibleBoxProp contained "\<\%(align\|justify\)\%(-\%(items\|self\|content\)\)\=\>" syn keyword cssFlexibleBoxProp contained order -syn match cssFlexibleBoxAttr contained "\<\(row\|column\|wrap\)\(-reverse\)\=\>" +syn match cssFlexibleBoxAttr contained "\<\%(row\|column\|wrap\)\%(-reverse\)\=\>" syn keyword cssFlexibleBoxAttr contained nowrap stretch baseline center -syn match cssFlexibleBoxAttr contained "\" -syn match cssFlexibleBoxAttr contained "\" +syn match cssFlexibleBoxAttr contained "\" +syn match cssFlexibleBoxAttr contained "\" " CSS Fonts Module Level 3 " http://www.w3.org/TR/css-fonts-3/ -syn match cssFontProp contained "\" +syn match cssFontProp contained "\" " font attributes syn keyword cssFontAttr contained icon menu caption syn match cssFontAttr contained "\" syn match cssFontAttr contained "\" syn keyword cssFontAttr contained larger smaller -syn match cssFontAttr contained "\<\(x\{1,2\}-\)\=\(large\|small\)\>" -syn match cssFontAttr contained "\" +syn match cssFontAttr contained "\<\%(x\{1,2\}-\)\=\%(large\|small\)\>" +syn match cssFontAttr contained "\" " font-family attributes syn keyword cssFontAttr contained sans-serif serif cursive fantasy monospace " font-feature-settings attributes syn keyword cssFontAttr contained on off " font-stretch attributes -syn match cssFontAttr contained "\<\(\(ultra\|extra\|semi\)-\)\=\(condensed\|expanded\)\>" +syn match cssFontAttr contained "\<\%(\%(ultra\|extra\|semi\)-\)\=\%(condensed\|expanded\)\>" " font-style attributes syn keyword cssFontAttr contained italic oblique " font-synthesis attributes @@ -265,89 +265,89 @@ syn keyword cssFontAttr contained auto block swap fallback optional " Webkit specific property/attributes syn match cssFontProp contained "\" -syn match cssFontAttr contained "\<\(subpixel-\)\=\antialiased\>" +syn match cssFontAttr contained "\<\%(subpixel-\)\=\antialiased\>" " CSS Multi-column Layout Module " http://www.w3.org/TR/css3-multicol/ -syn match cssMultiColumnProp contained "\" -syn match cssMultiColumnProp contained "\" +syn match cssMultiColumnProp contained "\" +syn match cssMultiColumnProp contained "\" syn keyword cssMultiColumnProp contained columns syn keyword cssMultiColumnAttr contained balance medium syn keyword cssMultiColumnAttr contained always left right page column -syn match cssMultiColumnAttr contained "\" +syn match cssMultiColumnAttr contained "\" " http://www.w3.org/TR/css3-break/#page-break -syn match cssMultiColumnProp contained "\" +syn match cssMultiColumnProp contained "\" " http://www.w3.org/TR/SVG11/interact.html syn match cssInteractProp contained "\" -syn match cssInteractAttr contained "\<\(visible\)\=\(Painted\|Fill\|Stroke\)\=\>" +syn match cssInteractAttr contained "\<\%(visible\)\=\%(Painted\|Fill\|Stroke\)\=\>" " TODO find following items in w3c docs. syn keyword cssGeneratedContentProp contained quotes crop -syn match cssGeneratedContentProp contained "\" +syn match cssGeneratedContentProp contained "\" syn match cssGeneratedContentProp contained "\" syn match cssGeneratedContentProp contained "\" -syn match cssGeneratedContentAttr contained "\<\(no-\)\=\(open\|close\)-quote\>" +syn match cssGeneratedContentAttr contained "\<\%(no-\)\=\%(open\|close\)-quote\>" " https://www.w3.org/TR/css-grid-1/ syn match cssGridProp contained "\" -syn match cssGridProp contained "\" -syn match cssGridProp contained "\<\(grid-\)\=\(column\|row\)\(-\(start\|end\|gap\)\)\=\>" -syn match cssGridProp contained "\" +syn match cssGridProp contained "\" +syn match cssGridProp contained "\<\%(grid-\)\=\%(column\|row\)\%(-\%(start\|end\|gap\)\)\=\>" +syn match cssGridProp contained "\" syn match cssGridProp contained "\" -syn match cssGridProp contained "\" +syn match cssGridProp contained "\" -syn match cssHyerlinkProp contained "\" +syn match cssHyerlinkProp contained "\" -syn match cssListProp contained "\" -syn match cssListAttr contained "\<\(lower\|upper\)-\(roman\|alpha\|greek\|latin\)\>" -syn match cssListAttr contained "\<\(hiragana\|katakana\)\(-iroha\)\=\>" -syn match cssListAttr contained "\<\(decimal\(-leading-zero\)\=\|cjk-ideographic\)\>" +syn match cssListProp contained "\" +syn match cssListAttr contained "\<\%(lower\|upper\)-\%(roman\|alpha\|greek\|latin\)\>" +syn match cssListAttr contained "\<\%(hiragana\|katakana\)\%(-iroha\)\=\>" +syn match cssListAttr contained "\<\%(decimal\%(-leading-zero\)\=\|cjk-ideographic\)\>" syn keyword cssListAttr contained disc circle square hebrew armenian georgian syn keyword cssListAttr contained inside outside " object-fit https://www.w3.org/TR/css-images-3/#the-object-fit -syn match cssObjectProp contained "\" +syn match cssObjectProp contained "\" syn keyword cssObjectAttr contained fill contain cover scale-down syn keyword cssPositioningProp contained bottom clear clip display float left syn keyword cssPositioningProp contained position right top visibility syn match cssPositioningProp contained "\" syn keyword cssPositioningAttr contained block compact grid -syn match cssPositioningAttr contained "\" +syn match cssPositioningAttr contained "\" syn keyword cssPositioningAttr contained left right both syn match cssPositioningAttr contained "\" -syn match cssPositioningAttr contained "\" -syn match cssPositioningAttr contained "\" +syn match cssPositioningAttr contained "\" +syn match cssPositioningAttr contained "\" syn keyword cssPositioningAttr contained static relative absolute fixed subgrid sticky syn keyword cssPrintAttr contained landscape portrait crop cross always -syn match cssTableProp contained "\<\(caption-side\|table-layout\|border-collapse\|border-spacing\|empty-cells\)\>" +syn match cssTableProp contained "\<\%(caption-side\|table-layout\|border-collapse\|border-spacing\|empty-cells\)\>" syn keyword cssTableAttr contained fixed collapse separate show hide once always syn keyword cssTextProp contained color direction hyphens -syn match cssTextProp "\<\(\(word\|letter\)-spacing\|text\(-\(decoration\|transform\|align\|index\|shadow\)\)\=\|vertical-align\|unicode-bidi\|line-height\)\>" -syn match cssTextProp contained "\" -syn match cssTextProp contained "\<\(word\|line\)-break\|\(overflow\|word\)-wrap\>" +syn match cssTextProp "\<\%(\%(word\|letter\)-spacing\|text\%(-\%(decoration\|transform\|align\|index\|shadow\)\)\=\|vertical-align\|unicode-bidi\|line-height\)\>" +syn match cssTextProp contained "\" +syn match cssTextProp contained "\<\%(word\|line\)-break\|\%(overflow\|word\)-wrap\>" syn match cssTextProp contained "\" syn match cssTextProp contained "\" syn match cssTextProp contained "\" syn match cssTextProp contained "\" syn match cssTextAttr contained "\" -syn match cssTextAttr contained "\<\(text-\)\=\(top\|bottom\)\>" +syn match cssTextAttr contained "\<\%(text-\)\=\%(top\|bottom\)\>" syn keyword cssTextAttr contained ltr rtl embed nowrap syn keyword cssTextAttr contained underline overline blink sub super middle syn keyword cssTextAttr contained capitalize uppercase lowercase syn keyword cssTextAttr contained justify baseline sub super syn keyword cssTextAttr contained optimizeLegibility optimizeSpeed geometricPrecision -syn match cssTextAttr contained "\" -syn match cssTextAttr contained "\<\(allow\|force\)-end\>" +syn match cssTextAttr contained "\" +syn match cssTextAttr contained "\<\%(allow\|force\)-end\>" syn keyword cssTextAttr contained start end adjacent -syn match cssTextAttr contained "\" +syn match cssTextAttr contained "\" syn keyword cssTextAttr contained distribute kashida first last syn keyword cssTextAttr contained clip ellipsis unrestricted suppress syn match cssTextAttr contained "\" @@ -355,40 +355,40 @@ syn match cssTextAttr contained "\" syn keyword cssTextAttr contained manual syn match cssTextAttr contained "\" -syn match cssTransformProp contained "\" -syn match cssTransformProp contained "\" +syn match cssTransformProp contained "\" +syn match cssTransformProp contained "\" syn match cssTransformProp contained "\" " CSS Transitions " http://www.w3.org/TR/css3-transitions/ -syn match cssTransitionProp contained "\" +syn match cssTransitionProp contained "\" " transition-time-function attributes -syn match cssTransitionAttr contained "\" -syn match cssTransitionAttr contained "\" -syn match cssTransitionAttr contained "\" +syn match cssTransitionAttr contained "\" +syn match cssTransitionAttr contained "\" +syn match cssTransitionAttr contained "\" "------------------------------------------------ " CSS Basic User Interface Module Level 3 (CSS3 UI) " http://www.w3.org/TR/css3-ui/ syn match cssUIProp contained "\" -syn match cssUIAttr contained "\<\(content\|padding\|border\)\(-box\)\=\>" +syn match cssUIAttr contained "\<\%(content\|padding\|border\)\%(-box\)\=\>" syn keyword cssUIProp contained cursor -syn match cssUIAttr contained "\<\(\([ns]\=[ew]\=\)\|col\|row\|nesw\|nwse\)-resize\>" +syn match cssUIAttr contained "\<\%(\%([ns]\=[ew]\=\)\|col\|row\|nesw\|nwse\)-resize\>" syn keyword cssUIAttr contained crosshair help move pointer alias copy syn keyword cssUIAttr contained progress wait text cell move syn match cssUIAttr contained "\" syn match cssUIAttr contained "\" syn match cssUIAttr contained "\" syn match cssUIAttr contained "\" -syn match cssUIAttr contained "\<\(vertical-\)\=text\>" -syn match cssUIAttr contained "\" +syn match cssUIAttr contained "\<\%(vertical-\)\=text\>" +syn match cssUIAttr contained "\" syn match cssUIProp contained "\" syn keyword cssUIAttr contained active inactive disabled -syn match cssUIProp contained "\" -syn match cssUIProp contained "\" +syn match cssUIProp contained "\" +syn match cssUIProp contained "\" syn keyword cssUIAttr contained invert syn keyword cssUIProp contained icon resize @@ -408,27 +408,27 @@ syn match cssUIAttr contained '\' syn match cssIEUIAttr contained '\' " Webkit/iOS specific properties -syn match cssUIProp contained '\<\(tap-highlight-color\|user-select\|touch-callout\)\>' +syn match cssUIProp contained '\<\%(tap-highlight-color\|user-select\|touch-callout\)\>' " IE specific properties -syn match cssIEUIProp contained '\<\(interpolation-mode\|zoom\|filter\)\>' +syn match cssIEUIProp contained '\<\%(interpolation-mode\|zoom\|filter\)\>' " Webkit/Firebox specific properties/attributes syn keyword cssUIProp contained appearance syn keyword cssUIAttr contained window button field icon document menu -syn match cssAuralProp contained "\<\(pause\|cue\)\(-\(before\|after\)\)\=\>" -syn match cssAuralProp contained "\<\(play-during\|speech-rate\|voice-family\|pitch\(-range\)\=\|speak\(-\(punctuation\|numeral\|header\)\)\=\)\>" +syn match cssAuralProp contained "\<\%(pause\|cue\)\%(-\%(before\|after\)\)\=\>" +syn match cssAuralProp contained "\<\%(play-during\|speech-rate\|voice-family\|pitch\%(-range\)\=\|speak\%(-\%(punctuation\|numeral\|header\)\)\=\)\>" syn keyword cssAuralProp contained volume during azimuth elevation stress richness -syn match cssAuralAttr contained "\<\(x-\)\=\(soft\|loud\)\>" +syn match cssAuralAttr contained "\<\%(x-\)\=\%(soft\|loud\)\>" syn keyword cssAuralAttr contained silent syn match cssAuralAttr contained "\" syn keyword cssAuralAttr contained non mix -syn match cssAuralAttr contained "\<\(left\|right\)-side\>" -syn match cssAuralAttr contained "\<\(far\|center\)-\(left\|center\|right\)\>" +syn match cssAuralAttr contained "\<\%(left\|right\)-side\>" +syn match cssAuralAttr contained "\<\%(far\|center\)-\%(left\|center\|right\)\>" syn keyword cssAuralAttr contained leftwards rightwards behind syn keyword cssAuralAttr contained below level above lower higher -syn match cssAuralAttr contained "\<\(x-\)\=\(slow\|fast\|low\|high\)\>" +syn match cssAuralAttr contained "\<\%(x-\)\=\%(slow\|fast\|low\|high\)\>" syn keyword cssAuralAttr contained faster slower syn keyword cssAuralAttr contained male female child code digits continuous @@ -438,15 +438,15 @@ syn match cssMobileTextProp contained "\" syn keyword cssMediaProp contained width height orientation scan syn keyword cssMediaProp contained any-hover any-pointer color-gamut grid hover syn keyword cssMediaProp contained overflow-block overflow-inline pointer update -syn match cssMediaProp contained /\<\(\(max\|min\)-\)\=\(\(device\)-\)\=aspect-ratio\>/ -syn match cssMediaProp contained /\<\(\(max\|min\)-\)\=device-pixel-ratio\>/ -syn match cssMediaProp contained /\<\(\(max\|min\)-\)\=device-\(height\|width\)\>/ -syn match cssMediaProp contained /\<\(\(max\|min\)-\)\=\(height\|width\|resolution\|monochrome\|color\(-index\)\=\)\>/ +syn match cssMediaProp contained /\<\%(\%(max\|min\)-\)\=\%(\%(device\)-\)\=aspect-ratio\>/ +syn match cssMediaProp contained /\<\%(\%(max\|min\)-\)\=device-pixel-ratio\>/ +syn match cssMediaProp contained /\<\%(\%(max\|min\)-\)\=device-\%(height\|width\)\>/ +syn match cssMediaProp contained /\<\%(\%(max\|min\)-\)\=\%(height\|width\|resolution\|monochrome\|color\%(-index\)\=\)\>/ syn keyword cssMediaAttr contained portrait landscape progressive interlace syn keyword cssMediaAttr contained coarse fast fine hover infinite p3 paged syn keyword cssMediaAttr contained rec2020 scroll slow srgb -syn match cssKeyFrameProp contained /\(\d\+\(\.\d\+\)\?%\|\(\\)\)/ nextgroup=cssDefinition -syn match cssPageMarginProp /@\(\(top\|left\|right\|bottom\)-\(left\|center\|right\|middle\|bottom\)\)\(-corner\)\=/ contained nextgroup=cssDefinition +syn match cssKeyFrameProp contained /\%(\d\+\%(\.\d\+\)\?%\|\%(\\)\)/ nextgroup=cssDefinition +syn match cssPageMarginProp /@\%(\%(top\|left\|right\|bottom\)-\%(left\|center\|right\|middle\|bottom\)\)\%(-corner\)\=/ contained nextgroup=cssDefinition syn keyword cssPageProp contained content size syn keyword cssPageProp contained orphans widows syn keyword cssFontDescriptorProp contained src @@ -466,18 +466,18 @@ syn match cssAttrComma "," syn match cssPseudoClass ":[A-Za-z0-9_-]*" contains=cssNoise,cssPseudoClassId,cssUnicodeEscape,cssVendor,cssPseudoClassFn syn keyword cssPseudoClassId contained link visited active hover before after left right syn keyword cssPseudoClassId contained root empty target enabled disabled checked invalid -syn match cssPseudoClassId contained "\" -syn match cssPseudoClassId contained "\<\(first\|last\|only\)-\(of-type\|child\)\>" -syn match cssPseudoClassId contained "\" -syn region cssPseudoClassFn contained matchgroup=cssFunctionName start="\<\(not\|is\|lang\|\(nth\|nth-last\)-\(of-type\|child\)\)(" end=")" contains=cssStringQ,cssStringQQ,cssTagName,cssAttributeSelector,cssClassName,cssIdentifier +syn match cssPseudoClassId contained "\" +syn match cssPseudoClassId contained "\<\%(first\|last\|only\)-\%(of-type\|child\)\>" +syn match cssPseudoClassId contained "\" +syn region cssPseudoClassFn contained matchgroup=cssFunctionName start="\<\%(not\|is\|lang\|\%(nth\|nth-last\)-\%(of-type\|child\)\)(" end=")" contains=cssStringQ,cssStringQQ,cssTagName,cssAttributeSelector,cssClassName,cssIdentifier " ------------------------------------ " Vendor specific properties syn match cssPseudoClassId contained "\" -syn match cssPseudoClassId contained "\<\(input-\)\=placeholder\>" +syn match cssPseudoClassId contained "\<\%(input-\)\=placeholder\>" " Misc highlight groups -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 -syntax match cssNoise contained /\(:\|;\|\/\)/ +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 +syntax match cssNoise contained /\%(:\|;\|\/\)/ " Comment syn region cssComment start="/\*" end="\*/" contains=@Spell fold @@ -489,7 +489,7 @@ syn region cssStringQQ start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=cssUnicodeEsc syn region cssStringQ start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=cssUnicodeEscape,cssSpecialCharQ " Vendor Prefix -syn match cssVendor contained "-\(webkit\|moz\|o\|ms\)-" +syn match cssVendor contained "-\%(webkit\|moz\|o\|ms\)-" " Various CSS Hack characters " In earlier versions of IE (6 and 7), one can prefix property names @@ -497,18 +497,18 @@ syn match cssVendor contained "-\(webkit\|moz\|o\|ms\)-" " This is purely decorative and therefore we assign to the same highlight " group to cssVendor, for more information: " http://www.paulirish.com/2009/browser-specific-css-hacks/ -syn match cssHacks contained /\(_\|*\)/ +syn match cssHacks contained /\%(_\|*\)/ " Attr Enhance " Some keywords are both Prop and Attr, so we have to handle them " cssPseudoClassId is hidden by cssAttrRegion, so we add it here. see #69 -syn region cssAttrRegion start=/:/ end=/\ze\(;\|)\|}\|{\)/ contained contains=cssPseudoClassId,css.*Attr,cssColor,cssImportant,cssValue.*,cssFunction,cssString.*,cssURL,cssComment,cssUnicodeEscape,cssVendor,cssError,cssAttrComma,cssNoise +syn region cssAttrRegion start=/:/ end=/\ze\%(;\|)\|}\|{\)/ contained contains=cssPseudoClassId,css.*Attr,cssColor,cssImportant,cssValue.*,cssFunction,cssString.*,cssURL,cssComment,cssUnicodeEscape,cssVendor,cssError,cssAttrComma,cssNoise " Hack for transition " 'transition' has Props after ':'. -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 +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 -syn match cssAtKeyword /@\(font-face\|media\|keyframes\|import\|charset\|namespace\|page\|supports\)/ +syn match cssAtKeyword /@\%(font-face\|media\|keyframes\|import\|charset\|namespace\|page\|supports\)/ syn keyword cssAtRuleLogical only not and contained @@ -520,10 +520,10 @@ syn keyword cssMediaType contained screen print aural braille embossed handheld " @page " http://www.w3.org/TR/css3-page/ syn region cssAtRule start=/@page\>/ end=/\ze{/ skipwhite skipnl matchgroup=cssAtKeyword contains=cssPagePseudo,cssComment nextgroup=cssDefinition -syn match cssPagePseudo /:\(left\|right\|first\|blank\)/ contained skipwhite skipnl +syn match cssPagePseudo /:\%(left\|right\|first\|blank\)/ contained skipwhite skipnl " @keyframe " http://www.w3.org/TR/css3-animations/#keyframes -syn region cssAtRule start=/@\(-[a-z]\+-\)\=keyframes\>/ end=/\ze{/ skipwhite skipnl matchgroup=cssAtKeyword contains=cssVendor,cssComment nextgroup=cssDefinition +syn region cssAtRule start=/@\%(-[a-z]\+-\)\=keyframes\>/ end=/\ze{/ skipwhite skipnl matchgroup=cssAtKeyword contains=cssVendor,cssComment nextgroup=cssDefinition syn region cssAtRule start=/@import\>/ end=/\ze;/ contains=cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment,cssAtKeyword,cssURL,cssMediaProp,cssValueLength,cssAtRuleLogical,cssValueInteger,cssMediaAttr,cssMediaType syn region cssAtRule start=/@charset\>/ end=/\ze;/ contains=cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment,cssAtKeyword