summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpommicket <pommicket@gmail.com>2023-03-02 14:26:52 -0500
committerpommicket <pommicket@gmail.com>2023-03-02 14:27:16 -0500
commitc67ac3cecf5452467ea0fc757400de94bd8bdb74 (patch)
tree91ec6d340ef8a2c764e868d1dadfea173b310634
parent3ae33ebfab7545597d48dba173830f262deaf24f (diff)
CSS highlighting
-rw-r--r--keywords.h49
-rwxr-xr-xkeywords.py61
-rw-r--r--main.c3
-rw-r--r--syntax.c132
-rw-r--r--test/test.css13
5 files changed, 197 insertions, 61 deletions
diff --git a/keywords.h b/keywords.h
index 0e60d29..3010dcc 100644
--- a/keywords.h
+++ b/keywords.h
@@ -368,35 +368,36 @@ static const KeywordList syntax_all_keywords_glsl[128] = {
['E'] = {syntax_keywords_glsl_E, arr_count(syntax_keywords_glsl_E)}, ['a'] = {syntax_keywords_glsl_a, arr_count(syntax_keywords_glsl_a)}, ['b'] = {syntax_keywords_glsl_b, arr_count(syntax_keywords_glsl_b)}, ['c'] = {syntax_keywords_glsl_c, arr_count(syntax_keywords_glsl_c)}, ['d'] = {syntax_keywords_glsl_d, arr_count(syntax_keywords_glsl_d)}, ['e'] = {syntax_keywords_glsl_e, arr_count(syntax_keywords_glsl_e)}, ['f'] = {syntax_keywords_glsl_f, arr_count(syntax_keywords_glsl_f)}, ['g'] = {syntax_keywords_glsl_g, arr_count(syntax_keywords_glsl_g)}, ['h'] = {syntax_keywords_glsl_h, arr_count(syntax_keywords_glsl_h)}, ['i'] = {syntax_keywords_glsl_i, arr_count(syntax_keywords_glsl_i)}, ['l'] = {syntax_keywords_glsl_l, arr_count(syntax_keywords_glsl_l)}, ['m'] = {syntax_keywords_glsl_m, arr_count(syntax_keywords_glsl_m)}, ['n'] = {syntax_keywords_glsl_n, arr_count(syntax_keywords_glsl_n)}, ['o'] = {syntax_keywords_glsl_o, arr_count(syntax_keywords_glsl_o)}, ['p'] = {syntax_keywords_glsl_p, arr_count(syntax_keywords_glsl_p)}, ['r'] = {syntax_keywords_glsl_r, arr_count(syntax_keywords_glsl_r)}, ['s'] = {syntax_keywords_glsl_s, arr_count(syntax_keywords_glsl_s)}, ['t'] = {syntax_keywords_glsl_t, arr_count(syntax_keywords_glsl_t)}, ['u'] = {syntax_keywords_glsl_u, arr_count(syntax_keywords_glsl_u)}, ['v'] = {syntax_keywords_glsl_v, arr_count(syntax_keywords_glsl_v)}, ['w'] = {syntax_keywords_glsl_w, arr_count(syntax_keywords_glsl_w)}
};
+static const Keyword syntax_keywords_css_x21[1] = {{"!important", SYNTAX_CONSTANT}};
static const Keyword syntax_keywords_css_x2d[1] = {{"-webkit-line-clamp:", SYNTAX_BUILTIN}};
-static const Keyword syntax_keywords_css_x40[25] = {{"@annotation:", SYNTAX_BUILTIN},{"@bottom-center:", SYNTAX_BUILTIN},{"@character-variant:", SYNTAX_BUILTIN},{"@charset:", SYNTAX_BUILTIN},{"@counter-style:", SYNTAX_BUILTIN},{"@font-face:", SYNTAX_BUILTIN},{"@font-feature-values:", SYNTAX_BUILTIN},{"@historical-forms:", SYNTAX_BUILTIN},{"@import:", SYNTAX_BUILTIN},{"@keyframes:", SYNTAX_BUILTIN},{"@layer:", SYNTAX_BUILTIN},{"@left-bottom:", SYNTAX_BUILTIN},{"@media:", SYNTAX_BUILTIN},{"@namespace:", SYNTAX_BUILTIN},{"@ornaments:", SYNTAX_BUILTIN},{"@page:", SYNTAX_BUILTIN},{"@property:", SYNTAX_BUILTIN},{"@right-bottom:", SYNTAX_BUILTIN},{"@scroll-timeline:", SYNTAX_BUILTIN},{"@styleset:", SYNTAX_BUILTIN},{"@stylistic:", SYNTAX_BUILTIN},{"@supports:", SYNTAX_BUILTIN},{"@swash:", SYNTAX_BUILTIN},{"@top-center:", SYNTAX_BUILTIN},{"@viewport:", SYNTAX_BUILTIN}};
-static const Keyword syntax_keywords_css_a[56] = {{"above", SYNTAX_CONSTANT},{"abs", SYNTAX_BUILTIN},{"absolute", SYNTAX_CONSTANT},{"accent-color:", SYNTAX_BUILTIN},{"acos", SYNTAX_BUILTIN},{"active", SYNTAX_CONSTANT},{"add", SYNTAX_CONSTANT},{"additive", SYNTAX_CONSTANT},{"additive-symbols:", SYNTAX_BUILTIN},{"after-edge", SYNTAX_CONSTANT},{"alias", SYNTAX_CONSTANT},{"aliceblue", SYNTAX_CONSTANT},{"align-content:", SYNTAX_BUILTIN},{"align-items:", SYNTAX_BUILTIN},{"align-self:", SYNTAX_BUILTIN},{"align-tracks:", SYNTAX_BUILTIN},{"all-petite-caps", SYNTAX_CONSTANT},{"all-scroll", SYNTAX_CONSTANT},{"all-small-caps", SYNTAX_CONSTANT},{"all:", SYNTAX_BUILTIN},{"alpha", SYNTAX_CONSTANT},{"alphabetic", SYNTAX_CONSTANT},{"alternate", SYNTAX_CONSTANT},{"alternate-reverse", SYNTAX_CONSTANT},{"always", SYNTAX_CONSTANT},{"animation-composition:", SYNTAX_BUILTIN},{"animation-delay:", SYNTAX_BUILTIN},{"animation-direction:", SYNTAX_BUILTIN},{"animation-duration:", SYNTAX_BUILTIN},{"animation-fill-mode:", SYNTAX_BUILTIN},{"animation-iteration-count:", SYNTAX_BUILTIN},{"animation-name:", SYNTAX_BUILTIN},{"animation-play-state:", SYNTAX_BUILTIN},{"animation-timeline:", SYNTAX_BUILTIN},{"animation-timing-function:", SYNTAX_BUILTIN},{"animation:", SYNTAX_BUILTIN},{"annotation", SYNTAX_BUILTIN},{"antialiased", SYNTAX_CONSTANT},{"antiquewhite", SYNTAX_CONSTANT},{"appearance:", SYNTAX_BUILTIN},{"aqua", SYNTAX_CONSTANT},{"aquamarine", SYNTAX_CONSTANT},{"ascent-override:", SYNTAX_BUILTIN},{"asin", SYNTAX_BUILTIN},{"aspect-ratio:", SYNTAX_BUILTIN},{"atan", SYNTAX_BUILTIN},{"atan2", SYNTAX_BUILTIN},{"attr", SYNTAX_BUILTIN},{"auto", SYNTAX_CONSTANT},{"auto-pos", SYNTAX_CONSTANT},{"available", SYNTAX_CONSTANT},{"avoid", SYNTAX_CONSTANT},{"avoid-column", SYNTAX_CONSTANT},{"avoid-page", SYNTAX_CONSTANT},{"avoid-region", SYNTAX_CONSTANT},{"azure", SYNTAX_CONSTANT}};
-static const Keyword syntax_keywords_css_b[116] = {{"backdrop-filter:", SYNTAX_BUILTIN},{"backface-visibility:", SYNTAX_BUILTIN},{"background-attachment:", SYNTAX_BUILTIN},{"background-blend-mode:", SYNTAX_BUILTIN},{"background-clip:", SYNTAX_BUILTIN},{"background-color:", SYNTAX_BUILTIN},{"background-image:", SYNTAX_BUILTIN},{"background-origin:", SYNTAX_BUILTIN},{"background-position-x:", SYNTAX_BUILTIN},{"background-position-y:", SYNTAX_BUILTIN},{"background-position:", SYNTAX_BUILTIN},{"background-repeat:", SYNTAX_BUILTIN},{"background-size:", SYNTAX_BUILTIN},{"background:", SYNTAX_BUILTIN},{"backwards", SYNTAX_CONSTANT},{"balance", SYNTAX_CONSTANT},{"baseline", SYNTAX_CONSTANT},{"before-edge", SYNTAX_CONSTANT},{"beige", SYNTAX_CONSTANT},{"below", SYNTAX_CONSTANT},{"bevel", SYNTAX_CONSTANT},{"bidi-override", SYNTAX_CONSTANT},{"bisque", SYNTAX_CONSTANT},{"black", SYNTAX_CONSTANT},{"blanchedalmond", SYNTAX_CONSTANT},{"bleed:", SYNTAX_BUILTIN},{"blink", SYNTAX_CONSTANT},{"block", SYNTAX_CONSTANT},{"block-axis", SYNTAX_CONSTANT},{"block-end", SYNTAX_CONSTANT},{"block-overflow:", SYNTAX_BUILTIN},{"block-size:", SYNTAX_BUILTIN},{"block-start", SYNTAX_CONSTANT},{"blue", SYNTAX_CONSTANT},{"blueviolet", SYNTAX_CONSTANT},{"blur", SYNTAX_BUILTIN},{"bold", SYNTAX_CONSTANT},{"bolder", SYNTAX_CONSTANT},{"border-block-color:", SYNTAX_BUILTIN},{"border-block-end-color:", SYNTAX_BUILTIN},{"border-block-end-style:", SYNTAX_BUILTIN},{"border-block-end-width:", SYNTAX_BUILTIN},{"border-block-end:", SYNTAX_BUILTIN},{"border-block-start-color:", SYNTAX_BUILTIN},{"border-block-start-style:", SYNTAX_BUILTIN},{"border-block-start-width:", SYNTAX_BUILTIN},{"border-block-start:", SYNTAX_BUILTIN},{"border-block-style:", SYNTAX_BUILTIN},{"border-block-width:", SYNTAX_BUILTIN},{"border-block:", SYNTAX_BUILTIN},{"border-bottom-color:", SYNTAX_BUILTIN},{"border-bottom-left-radius:", SYNTAX_BUILTIN},{"border-bottom-right-radius:", SYNTAX_BUILTIN},{"border-bottom-style:", SYNTAX_BUILTIN},{"border-bottom-width:", SYNTAX_BUILTIN},{"border-bottom:", SYNTAX_BUILTIN},{"border-box", SYNTAX_CONSTANT},{"border-collapse:", SYNTAX_BUILTIN},{"border-color:", SYNTAX_BUILTIN},{"border-end-end-radius:", SYNTAX_BUILTIN},{"border-end-start-radius:", SYNTAX_BUILTIN},{"border-image-outset:", SYNTAX_BUILTIN},{"border-image-repeat:", SYNTAX_BUILTIN},{"border-image-slice:", SYNTAX_BUILTIN},{"border-image-source:", SYNTAX_BUILTIN},{"border-image-width:", SYNTAX_BUILTIN},{"border-image:", SYNTAX_BUILTIN},{"border-inline-color:", SYNTAX_BUILTIN},{"border-inline-end-color:", SYNTAX_BUILTIN},{"border-inline-end-style:", SYNTAX_BUILTIN},{"border-inline-end-width:", SYNTAX_BUILTIN},{"border-inline-end:", SYNTAX_BUILTIN},{"border-inline-start-color:", SYNTAX_BUILTIN},{"border-inline-start-style:", SYNTAX_BUILTIN},{"border-inline-start-width:", SYNTAX_BUILTIN},{"border-inline-start:", SYNTAX_BUILTIN},{"border-inline-style:", SYNTAX_BUILTIN},{"border-inline-width:", SYNTAX_BUILTIN},{"border-inline:", SYNTAX_BUILTIN},{"border-left-color:", SYNTAX_BUILTIN},{"border-left-style:", SYNTAX_BUILTIN},{"border-left-width:", SYNTAX_BUILTIN},{"border-left:", SYNTAX_BUILTIN},{"border-radius:", SYNTAX_BUILTIN},{"border-right-color:", SYNTAX_BUILTIN},{"border-right-style:", SYNTAX_BUILTIN},{"border-right-width:", SYNTAX_BUILTIN},{"border-right:", SYNTAX_BUILTIN},{"border-spacing:", SYNTAX_BUILTIN},{"border-start-end-radius:", SYNTAX_BUILTIN},{"border-start-start-radius:", SYNTAX_BUILTIN},{"border-style:", SYNTAX_BUILTIN},{"border-top-color:", SYNTAX_BUILTIN},{"border-top-left-radius:", SYNTAX_BUILTIN},{"border-top-right-radius:", SYNTAX_BUILTIN},{"border-top-style:", SYNTAX_BUILTIN},{"border-top-width:", SYNTAX_BUILTIN},{"border-top:", SYNTAX_BUILTIN},{"border-width:", SYNTAX_BUILTIN},{"border:", SYNTAX_BUILTIN},{"both", SYNTAX_CONSTANT},{"bottom", SYNTAX_CONSTANT},{"bottom-outside", SYNTAX_CONSTANT},{"box-decoration-break:", SYNTAX_BUILTIN},{"box-shadow:", SYNTAX_BUILTIN},{"box-sizing:", SYNTAX_BUILTIN},{"break-after:", SYNTAX_BUILTIN},{"break-all", SYNTAX_CONSTANT},{"break-before:", SYNTAX_BUILTIN},{"break-inside:", SYNTAX_BUILTIN},{"break-word", SYNTAX_CONSTANT},{"brightness", SYNTAX_BUILTIN},{"brown", SYNTAX_CONSTANT},{"bullets", SYNTAX_CONSTANT},{"burlywood", SYNTAX_CONSTANT},{"butt", SYNTAX_CONSTANT}};
-static const Keyword syntax_keywords_css_c[78] = {{"cadetblue", SYNTAX_CONSTANT},{"calc", SYNTAX_BUILTIN},{"capitalize", SYNTAX_CONSTANT},{"caption", SYNTAX_CONSTANT},{"caption-side:", SYNTAX_BUILTIN},{"caret-color:", SYNTAX_BUILTIN},{"caret-shape:", SYNTAX_BUILTIN},{"caret:", SYNTAX_BUILTIN},{"cell", SYNTAX_CONSTANT},{"center", SYNTAX_CONSTANT},{"central", SYNTAX_CONSTANT},{"char", SYNTAX_CONSTANT},{"character-variant", SYNTAX_BUILTIN},{"chartreuse", SYNTAX_CONSTANT},{"chocolate", SYNTAX_CONSTANT},{"circle", SYNTAX_BUILTIN},{"clamp", SYNTAX_BUILTIN},{"clear:", SYNTAX_BUILTIN},{"clip-path:", SYNTAX_BUILTIN},{"clip:", SYNTAX_BUILTIN},{"clone", SYNTAX_CONSTANT},{"close-quote", SYNTAX_CONSTANT},{"closest-corner", SYNTAX_CONSTANT},{"closest-side", SYNTAX_CONSTANT},{"col-resize", SYNTAX_CONSTANT},{"collapse", SYNTAX_CONSTANT},{"color-burn", SYNTAX_CONSTANT},{"color-dodge", SYNTAX_CONSTANT},{"color-scheme:", SYNTAX_BUILTIN},{"color:", SYNTAX_BUILTIN},{"column", SYNTAX_CONSTANT},{"column-count:", SYNTAX_BUILTIN},{"column-fill:", SYNTAX_BUILTIN},{"column-gap:", SYNTAX_BUILTIN},{"column-reverse", SYNTAX_CONSTANT},{"column-rule-color:", SYNTAX_BUILTIN},{"column-rule-style:", SYNTAX_BUILTIN},{"column-rule-width:", SYNTAX_BUILTIN},{"column-rule:", SYNTAX_BUILTIN},{"column-span:", SYNTAX_BUILTIN},{"column-width:", SYNTAX_BUILTIN},{"columns:", SYNTAX_BUILTIN},{"common-ligatures", SYNTAX_CONSTANT},{"compact", SYNTAX_CONSTANT},{"condensed", SYNTAX_CONSTANT},{"conic-gradient", SYNTAX_BUILTIN},{"contain-intrinsic-block-size:", SYNTAX_BUILTIN},{"contain-intrinsic-height:", SYNTAX_BUILTIN},{"contain-intrinsic-inline-size:", SYNTAX_BUILTIN},{"contain-intrinsic-size:", SYNTAX_BUILTIN},{"contain-intrinsic-width:", SYNTAX_BUILTIN},{"contain:", SYNTAX_BUILTIN},{"content-box", SYNTAX_CONSTANT},{"content-visibility:", SYNTAX_BUILTIN},{"content:", SYNTAX_BUILTIN},{"contents", SYNTAX_CONSTANT},{"context-menu", SYNTAX_CONSTANT},{"contextual", SYNTAX_CONSTANT},{"contrast", SYNTAX_BUILTIN},{"copy", SYNTAX_CONSTANT},{"coral", SYNTAX_CONSTANT},{"cornflowerblue", SYNTAX_CONSTANT},{"cornsilk", SYNTAX_CONSTANT},{"cos", SYNTAX_BUILTIN},{"counter-increment:", SYNTAX_BUILTIN},{"counter-reset:", SYNTAX_BUILTIN},{"counter-set:", SYNTAX_BUILTIN},{"counters", SYNTAX_BUILTIN},{"cover", SYNTAX_CONSTANT},{"crimson", SYNTAX_CONSTANT},{"crisp-edges", SYNTAX_CONSTANT},{"crispEdges", SYNTAX_CONSTANT},{"cross-fade", SYNTAX_BUILTIN},{"crosshair", SYNTAX_CONSTANT},{"cubic-bezier", SYNTAX_BUILTIN},{"cursor:", SYNTAX_BUILTIN},{"cyan", SYNTAX_CONSTANT},{"cyclic", SYNTAX_CONSTANT}};
-static const Keyword syntax_keywords_css_d[50] = {{"dark", SYNTAX_CONSTANT},{"darkblue", SYNTAX_CONSTANT},{"darkcyan", SYNTAX_CONSTANT},{"darken", SYNTAX_CONSTANT},{"darkgoldenrod", SYNTAX_CONSTANT},{"darkgray", SYNTAX_CONSTANT},{"darkgreen", SYNTAX_CONSTANT},{"darkgrey", SYNTAX_CONSTANT},{"darkkhaki", SYNTAX_CONSTANT},{"darkmagenta", SYNTAX_CONSTANT},{"darkolivegreen", SYNTAX_CONSTANT},{"darkorange", SYNTAX_CONSTANT},{"darkorchid", SYNTAX_CONSTANT},{"darkred", SYNTAX_CONSTANT},{"darksalmon", SYNTAX_CONSTANT},{"darkseagreen", SYNTAX_CONSTANT},{"darkslateblue", SYNTAX_CONSTANT},{"darkslategray", SYNTAX_CONSTANT},{"darkslategrey", SYNTAX_CONSTANT},{"darkturquoise", SYNTAX_CONSTANT},{"darkviolet", SYNTAX_CONSTANT},{"dashed", SYNTAX_CONSTANT},{"decimal", SYNTAX_CONSTANT},{"deeppink", SYNTAX_CONSTANT},{"deepskyblue", SYNTAX_CONSTANT},{"default", SYNTAX_CONSTANT},{"dense", SYNTAX_CONSTANT},{"descent-override:", SYNTAX_BUILTIN},{"diagonal-fractions", SYNTAX_CONSTANT},{"difference", SYNTAX_CONSTANT},{"digits", SYNTAX_CONSTANT},{"dimgray", SYNTAX_CONSTANT},{"dimgrey", SYNTAX_CONSTANT},{"direction:", SYNTAX_BUILTIN},{"disabled", SYNTAX_CONSTANT},{"disc", SYNTAX_CONSTANT},{"discretionary-ligatures", SYNTAX_CONSTANT},{"display:", SYNTAX_BUILTIN},{"distribute", SYNTAX_CONSTANT},{"distribute-all-lines", SYNTAX_CONSTANT},{"distribute-letter", SYNTAX_CONSTANT},{"distribute-space", SYNTAX_CONSTANT},{"dodgerblue", SYNTAX_CONSTANT},{"dot", SYNTAX_CONSTANT},{"dotted", SYNTAX_CONSTANT},{"double", SYNTAX_CONSTANT},{"double-circle", SYNTAX_CONSTANT},{"downleft", SYNTAX_CONSTANT},{"downright", SYNTAX_CONSTANT},{"drop-shadow", SYNTAX_BUILTIN}};
-static const Keyword syntax_keywords_css_e[24] = {{"e-resize", SYNTAX_CONSTANT},{"each-line", SYNTAX_CONSTANT},{"ease", SYNTAX_CONSTANT},{"ease-in", SYNTAX_CONSTANT},{"ease-in-out", SYNTAX_CONSTANT},{"ease-out", SYNTAX_CONSTANT},{"economy", SYNTAX_CONSTANT},{"element", SYNTAX_BUILTIN},{"ellipse", SYNTAX_BUILTIN},{"ellipsis", SYNTAX_CONSTANT},{"embed", SYNTAX_CONSTANT},{"empty-cells:", SYNTAX_BUILTIN},{"end", SYNTAX_CONSTANT},{"env", SYNTAX_BUILTIN},{"evenodd", SYNTAX_CONSTANT},{"ew-resize", SYNTAX_CONSTANT},{"exact", SYNTAX_CONSTANT},{"exclude", SYNTAX_CONSTANT},{"exclusion", SYNTAX_CONSTANT},{"exp", SYNTAX_BUILTIN},{"expanded", SYNTAX_CONSTANT},{"extends", SYNTAX_CONSTANT},{"extra-condensed", SYNTAX_CONSTANT},{"extra-expanded", SYNTAX_CONSTANT}};
-static const Keyword syntax_keywords_css_f[52] = {{"fallback:", SYNTAX_BUILTIN},{"farthest-corner", SYNTAX_CONSTANT},{"farthest-side", SYNTAX_CONSTANT},{"fill", SYNTAX_CONSTANT},{"fill-available", SYNTAX_CONSTANT},{"fill-box", SYNTAX_CONSTANT},{"filled", SYNTAX_CONSTANT},{"filter:", SYNTAX_BUILTIN},{"firebrick", SYNTAX_CONSTANT},{"fit-content", SYNTAX_CONSTANT},{"fixed", SYNTAX_CONSTANT},{"flat", SYNTAX_CONSTANT},{"flex-basis:", SYNTAX_BUILTIN},{"flex-direction:", SYNTAX_BUILTIN},{"flex-flow:", SYNTAX_BUILTIN},{"flex-grow:", SYNTAX_BUILTIN},{"flex-shrink:", SYNTAX_BUILTIN},{"flex-wrap:", SYNTAX_BUILTIN},{"flex:", SYNTAX_BUILTIN},{"flip", SYNTAX_CONSTANT},{"float:", SYNTAX_BUILTIN},{"floralwhite", SYNTAX_CONSTANT},{"flow-root", SYNTAX_CONSTANT},{"font-display:", SYNTAX_BUILTIN},{"font-family:", SYNTAX_BUILTIN},{"font-feature-settings:", SYNTAX_BUILTIN},{"font-kerning:", SYNTAX_BUILTIN},{"font-language-override:", SYNTAX_BUILTIN},{"font-optical-sizing:", SYNTAX_BUILTIN},{"font-size-adjust:", SYNTAX_BUILTIN},{"font-size:", SYNTAX_BUILTIN},{"font-stretch:", SYNTAX_BUILTIN},{"font-style:", SYNTAX_BUILTIN},{"font-synthesis:", SYNTAX_BUILTIN},{"font-variant-alternates:", SYNTAX_BUILTIN},{"font-variant-caps:", SYNTAX_BUILTIN},{"font-variant-east-asian:", SYNTAX_BUILTIN},{"font-variant-ligatures:", SYNTAX_BUILTIN},{"font-variant-numeric:", SYNTAX_BUILTIN},{"font-variant-position:", SYNTAX_BUILTIN},{"font-variant:", SYNTAX_BUILTIN},{"font-variation-settings:", SYNTAX_BUILTIN},{"font-weight:", SYNTAX_BUILTIN},{"font:", SYNTAX_BUILTIN},{"forced-color-adjust:", SYNTAX_BUILTIN},{"forestgreen", SYNTAX_CONSTANT},{"format", SYNTAX_BUILTIN},{"forwards", SYNTAX_CONSTANT},{"freeze", SYNTAX_CONSTANT},{"from-image", SYNTAX_CONSTANT},{"fuchsia", SYNTAX_CONSTANT},{"full-width", SYNTAX_CONSTANT}};
+static const Keyword syntax_keywords_css_x40[25] = {{"@annotation", SYNTAX_KEYWORD},{"@bottom-center", SYNTAX_KEYWORD},{"@character-variant", SYNTAX_KEYWORD},{"@charset", SYNTAX_KEYWORD},{"@counter-style", SYNTAX_KEYWORD},{"@font-face", SYNTAX_KEYWORD},{"@font-feature-values", SYNTAX_KEYWORD},{"@historical-forms", SYNTAX_KEYWORD},{"@import", SYNTAX_KEYWORD},{"@keyframes", SYNTAX_KEYWORD},{"@layer", SYNTAX_KEYWORD},{"@left-bottom", SYNTAX_KEYWORD},{"@media", SYNTAX_KEYWORD},{"@namespace", SYNTAX_KEYWORD},{"@ornaments", SYNTAX_KEYWORD},{"@page", SYNTAX_KEYWORD},{"@property", SYNTAX_KEYWORD},{"@right-bottom", SYNTAX_KEYWORD},{"@scroll-timeline", SYNTAX_KEYWORD},{"@styleset", SYNTAX_KEYWORD},{"@stylistic", SYNTAX_KEYWORD},{"@supports", SYNTAX_KEYWORD},{"@swash", SYNTAX_KEYWORD},{"@top-center", SYNTAX_KEYWORD},{"@viewport", SYNTAX_KEYWORD}};
+static const Keyword syntax_keywords_css_a[65] = {{"a", SYNTAX_KEYWORD},{"abbr", SYNTAX_KEYWORD},{"above", SYNTAX_CONSTANT},{"abs", SYNTAX_BUILTIN},{"absolute", SYNTAX_CONSTANT},{"accent-color:", SYNTAX_BUILTIN},{"acos", SYNTAX_BUILTIN},{"acronym", SYNTAX_KEYWORD},{"active", SYNTAX_CONSTANT},{"add", SYNTAX_CONSTANT},{"additive", SYNTAX_CONSTANT},{"additive-symbols:", SYNTAX_BUILTIN},{"address", SYNTAX_KEYWORD},{"after-edge", SYNTAX_CONSTANT},{"alias", SYNTAX_CONSTANT},{"aliceblue", SYNTAX_CONSTANT},{"align-content:", SYNTAX_BUILTIN},{"align-items:", SYNTAX_BUILTIN},{"align-self:", SYNTAX_BUILTIN},{"align-tracks:", SYNTAX_BUILTIN},{"all-petite-caps", SYNTAX_CONSTANT},{"all-scroll", SYNTAX_CONSTANT},{"all-small-caps", SYNTAX_CONSTANT},{"all:", SYNTAX_BUILTIN},{"alpha", SYNTAX_CONSTANT},{"alphabetic", SYNTAX_CONSTANT},{"alternate", SYNTAX_CONSTANT},{"alternate-reverse", SYNTAX_CONSTANT},{"always", SYNTAX_CONSTANT},{"animation-composition:", SYNTAX_BUILTIN},{"animation-delay:", SYNTAX_BUILTIN},{"animation-direction:", SYNTAX_BUILTIN},{"animation-duration:", SYNTAX_BUILTIN},{"animation-fill-mode:", SYNTAX_BUILTIN},{"animation-iteration-count:", SYNTAX_BUILTIN},{"animation-name:", SYNTAX_BUILTIN},{"animation-play-state:", SYNTAX_BUILTIN},{"animation-timeline:", SYNTAX_BUILTIN},{"animation-timing-function:", SYNTAX_BUILTIN},{"animation:", SYNTAX_BUILTIN},{"annotation", SYNTAX_BUILTIN},{"antialiased", SYNTAX_CONSTANT},{"antiquewhite", SYNTAX_CONSTANT},{"appearance:", SYNTAX_BUILTIN},{"applet", SYNTAX_KEYWORD},{"aqua", SYNTAX_CONSTANT},{"aquamarine", SYNTAX_CONSTANT},{"area", SYNTAX_KEYWORD},{"article", SYNTAX_KEYWORD},{"ascent-override:", SYNTAX_BUILTIN},{"aside", SYNTAX_KEYWORD},{"asin", SYNTAX_BUILTIN},{"aspect-ratio:", SYNTAX_BUILTIN},{"atan", SYNTAX_BUILTIN},{"atan2", SYNTAX_BUILTIN},{"attr", SYNTAX_BUILTIN},{"audio", SYNTAX_KEYWORD},{"auto", SYNTAX_CONSTANT},{"auto-pos", SYNTAX_CONSTANT},{"available", SYNTAX_CONSTANT},{"avoid", SYNTAX_CONSTANT},{"avoid-column", SYNTAX_CONSTANT},{"avoid-page", SYNTAX_CONSTANT},{"avoid-region", SYNTAX_CONSTANT},{"azure", SYNTAX_CONSTANT}};
+static const Keyword syntax_keywords_css_b[127] = {{"b", SYNTAX_KEYWORD},{"backdrop-filter:", SYNTAX_BUILTIN},{"backface-visibility:", SYNTAX_BUILTIN},{"background-attachment:", SYNTAX_BUILTIN},{"background-blend-mode:", SYNTAX_BUILTIN},{"background-clip:", SYNTAX_BUILTIN},{"background-color:", SYNTAX_BUILTIN},{"background-image:", SYNTAX_BUILTIN},{"background-origin:", SYNTAX_BUILTIN},{"background-position-x:", SYNTAX_BUILTIN},{"background-position-y:", SYNTAX_BUILTIN},{"background-position:", SYNTAX_BUILTIN},{"background-repeat:", SYNTAX_BUILTIN},{"background-size:", SYNTAX_BUILTIN},{"background:", SYNTAX_BUILTIN},{"backwards", SYNTAX_CONSTANT},{"balance", SYNTAX_CONSTANT},{"base", SYNTAX_KEYWORD},{"baseline", SYNTAX_CONSTANT},{"bdi", SYNTAX_KEYWORD},{"bdo", SYNTAX_KEYWORD},{"before-edge", SYNTAX_CONSTANT},{"beige", SYNTAX_CONSTANT},{"below", SYNTAX_CONSTANT},{"bevel", SYNTAX_CONSTANT},{"bgsound", SYNTAX_KEYWORD},{"bidi-override", SYNTAX_CONSTANT},{"big", SYNTAX_KEYWORD},{"bisque", SYNTAX_CONSTANT},{"black", SYNTAX_CONSTANT},{"blanchedalmond", SYNTAX_CONSTANT},{"bleed:", SYNTAX_BUILTIN},{"blink", SYNTAX_KEYWORD},{"block", SYNTAX_CONSTANT},{"block-axis", SYNTAX_CONSTANT},{"block-end", SYNTAX_CONSTANT},{"block-overflow:", SYNTAX_BUILTIN},{"block-size:", SYNTAX_BUILTIN},{"block-start", SYNTAX_CONSTANT},{"blockquote", SYNTAX_KEYWORD},{"blue", SYNTAX_CONSTANT},{"blueviolet", SYNTAX_CONSTANT},{"blur", SYNTAX_BUILTIN},{"body", SYNTAX_KEYWORD},{"bold", SYNTAX_CONSTANT},{"bolder", SYNTAX_CONSTANT},{"border-block-color:", SYNTAX_BUILTIN},{"border-block-end-color:", SYNTAX_BUILTIN},{"border-block-end-style:", SYNTAX_BUILTIN},{"border-block-end-width:", SYNTAX_BUILTIN},{"border-block-end:", SYNTAX_BUILTIN},{"border-block-start-color:", SYNTAX_BUILTIN},{"border-block-start-style:", SYNTAX_BUILTIN},{"border-block-start-width:", SYNTAX_BUILTIN},{"border-block-start:", SYNTAX_BUILTIN},{"border-block-style:", SYNTAX_BUILTIN},{"border-block-width:", SYNTAX_BUILTIN},{"border-block:", SYNTAX_BUILTIN},{"border-bottom-color:", SYNTAX_BUILTIN},{"border-bottom-left-radius:", SYNTAX_BUILTIN},{"border-bottom-right-radius:", SYNTAX_BUILTIN},{"border-bottom-style:", SYNTAX_BUILTIN},{"border-bottom-width:", SYNTAX_BUILTIN},{"border-bottom:", SYNTAX_BUILTIN},{"border-box", SYNTAX_CONSTANT},{"border-collapse:", SYNTAX_BUILTIN},{"border-color:", SYNTAX_BUILTIN},{"border-end-end-radius:", SYNTAX_BUILTIN},{"border-end-start-radius:", SYNTAX_BUILTIN},{"border-image-outset:", SYNTAX_BUILTIN},{"border-image-repeat:", SYNTAX_BUILTIN},{"border-image-slice:", SYNTAX_BUILTIN},{"border-image-source:", SYNTAX_BUILTIN},{"border-image-width:", SYNTAX_BUILTIN},{"border-image:", SYNTAX_BUILTIN},{"border-inline-color:", SYNTAX_BUILTIN},{"border-inline-end-color:", SYNTAX_BUILTIN},{"border-inline-end-style:", SYNTAX_BUILTIN},{"border-inline-end-width:", SYNTAX_BUILTIN},{"border-inline-end:", SYNTAX_BUILTIN},{"border-inline-start-color:", SYNTAX_BUILTIN},{"border-inline-start-style:", SYNTAX_BUILTIN},{"border-inline-start-width:", SYNTAX_BUILTIN},{"border-inline-start:", SYNTAX_BUILTIN},{"border-inline-style:", SYNTAX_BUILTIN},{"border-inline-width:", SYNTAX_BUILTIN},{"border-inline:", SYNTAX_BUILTIN},{"border-left-color:", SYNTAX_BUILTIN},{"border-left-style:", SYNTAX_BUILTIN},{"border-left-width:", SYNTAX_BUILTIN},{"border-left:", SYNTAX_BUILTIN},{"border-radius:", SYNTAX_BUILTIN},{"border-right-color:", SYNTAX_BUILTIN},{"border-right-style:", SYNTAX_BUILTIN},{"border-right-width:", SYNTAX_BUILTIN},{"border-right:", SYNTAX_BUILTIN},{"border-spacing:", SYNTAX_BUILTIN},{"border-start-end-radius:", SYNTAX_BUILTIN},{"border-start-start-radius:", SYNTAX_BUILTIN},{"border-style:", SYNTAX_BUILTIN},{"border-top-color:", SYNTAX_BUILTIN},{"border-top-left-radius:", SYNTAX_BUILTIN},{"border-top-right-radius:", SYNTAX_BUILTIN},{"border-top-style:", SYNTAX_BUILTIN},{"border-top-width:", SYNTAX_BUILTIN},{"border-top:", SYNTAX_BUILTIN},{"border-width:", SYNTAX_BUILTIN},{"border:", SYNTAX_BUILTIN},{"both", SYNTAX_CONSTANT},{"bottom", SYNTAX_CONSTANT},{"bottom-outside", SYNTAX_CONSTANT},{"bottom:", SYNTAX_BUILTIN},{"box-decoration-break:", SYNTAX_BUILTIN},{"box-shadow:", SYNTAX_BUILTIN},{"box-sizing:", SYNTAX_BUILTIN},{"br", SYNTAX_KEYWORD},{"break-after:", SYNTAX_BUILTIN},{"break-all", SYNTAX_CONSTANT},{"break-before:", SYNTAX_BUILTIN},{"break-inside:", SYNTAX_BUILTIN},{"break-word", SYNTAX_CONSTANT},{"brightness", SYNTAX_BUILTIN},{"brown", SYNTAX_CONSTANT},{"bullets", SYNTAX_CONSTANT},{"burlywood", SYNTAX_CONSTANT},{"butt", SYNTAX_CONSTANT},{"button", SYNTAX_KEYWORD}};
+static const Keyword syntax_keywords_css_c[84] = {{"cadetblue", SYNTAX_CONSTANT},{"calc", SYNTAX_BUILTIN},{"canvas", SYNTAX_KEYWORD},{"capitalize", SYNTAX_CONSTANT},{"caption", SYNTAX_KEYWORD},{"caption-side:", SYNTAX_BUILTIN},{"caret-color:", SYNTAX_BUILTIN},{"caret-shape:", SYNTAX_BUILTIN},{"caret:", SYNTAX_BUILTIN},{"cell", SYNTAX_CONSTANT},{"center", SYNTAX_CONSTANT},{"central", SYNTAX_CONSTANT},{"char", SYNTAX_CONSTANT},{"character-variant", SYNTAX_BUILTIN},{"chartreuse", SYNTAX_CONSTANT},{"chocolate", SYNTAX_CONSTANT},{"circle", SYNTAX_BUILTIN},{"cite", SYNTAX_KEYWORD},{"clamp", SYNTAX_BUILTIN},{"clear:", SYNTAX_BUILTIN},{"clip-path:", SYNTAX_BUILTIN},{"clip:", SYNTAX_BUILTIN},{"clone", SYNTAX_CONSTANT},{"close-quote", SYNTAX_CONSTANT},{"closest-corner", SYNTAX_CONSTANT},{"closest-side", SYNTAX_CONSTANT},{"code", SYNTAX_KEYWORD},{"col", SYNTAX_KEYWORD},{"col-resize", SYNTAX_CONSTANT},{"colgroup", SYNTAX_KEYWORD},{"collapse", SYNTAX_CONSTANT},{"color-burn", SYNTAX_CONSTANT},{"color-dodge", SYNTAX_CONSTANT},{"color-scheme:", SYNTAX_BUILTIN},{"color:", SYNTAX_BUILTIN},{"column", SYNTAX_CONSTANT},{"column-count:", SYNTAX_BUILTIN},{"column-fill:", SYNTAX_BUILTIN},{"column-gap:", SYNTAX_BUILTIN},{"column-reverse", SYNTAX_CONSTANT},{"column-rule-color:", SYNTAX_BUILTIN},{"column-rule-style:", SYNTAX_BUILTIN},{"column-rule-width:", SYNTAX_BUILTIN},{"column-rule:", SYNTAX_BUILTIN},{"column-span:", SYNTAX_BUILTIN},{"column-width:", SYNTAX_BUILTIN},{"columns:", SYNTAX_BUILTIN},{"common-ligatures", SYNTAX_CONSTANT},{"compact", SYNTAX_CONSTANT},{"condensed", SYNTAX_CONSTANT},{"conic-gradient", SYNTAX_BUILTIN},{"contain-intrinsic-block-size:", SYNTAX_BUILTIN},{"contain-intrinsic-height:", SYNTAX_BUILTIN},{"contain-intrinsic-inline-size:", SYNTAX_BUILTIN},{"contain-intrinsic-size:", SYNTAX_BUILTIN},{"contain-intrinsic-width:", SYNTAX_BUILTIN},{"contain:", SYNTAX_BUILTIN},{"content", SYNTAX_KEYWORD},{"content-box", SYNTAX_CONSTANT},{"content-visibility:", SYNTAX_BUILTIN},{"content:", SYNTAX_BUILTIN},{"contents", SYNTAX_CONSTANT},{"context-menu", SYNTAX_CONSTANT},{"contextual", SYNTAX_CONSTANT},{"contrast", SYNTAX_BUILTIN},{"copy", SYNTAX_CONSTANT},{"coral", SYNTAX_CONSTANT},{"cornflowerblue", SYNTAX_CONSTANT},{"cornsilk", SYNTAX_CONSTANT},{"cos", SYNTAX_BUILTIN},{"counter-increment:", SYNTAX_BUILTIN},{"counter-reset:", SYNTAX_BUILTIN},{"counter-set:", SYNTAX_BUILTIN},{"counters", SYNTAX_BUILTIN},{"cover", SYNTAX_CONSTANT},{"crimson", SYNTAX_CONSTANT},{"crisp-edges", SYNTAX_CONSTANT},{"crispEdges", SYNTAX_CONSTANT},{"cross-fade", SYNTAX_BUILTIN},{"crosshair", SYNTAX_CONSTANT},{"cubic-bezier", SYNTAX_BUILTIN},{"cursor:", SYNTAX_BUILTIN},{"cyan", SYNTAX_CONSTANT},{"cyclic", SYNTAX_CONSTANT}};
+static const Keyword syntax_keywords_css_d[61] = {{"dark", SYNTAX_CONSTANT},{"darkblue", SYNTAX_CONSTANT},{"darkcyan", SYNTAX_CONSTANT},{"darken", SYNTAX_CONSTANT},{"darkgoldenrod", SYNTAX_CONSTANT},{"darkgray", SYNTAX_CONSTANT},{"darkgreen", SYNTAX_CONSTANT},{"darkgrey", SYNTAX_CONSTANT},{"darkkhaki", SYNTAX_CONSTANT},{"darkmagenta", SYNTAX_CONSTANT},{"darkolivegreen", SYNTAX_CONSTANT},{"darkorange", SYNTAX_CONSTANT},{"darkorchid", SYNTAX_CONSTANT},{"darkred", SYNTAX_CONSTANT},{"darksalmon", SYNTAX_CONSTANT},{"darkseagreen", SYNTAX_CONSTANT},{"darkslateblue", SYNTAX_CONSTANT},{"darkslategray", SYNTAX_CONSTANT},{"darkslategrey", SYNTAX_CONSTANT},{"darkturquoise", SYNTAX_CONSTANT},{"darkviolet", SYNTAX_CONSTANT},{"dashed", SYNTAX_CONSTANT},{"data", SYNTAX_KEYWORD},{"datalist", SYNTAX_KEYWORD},{"dd", SYNTAX_KEYWORD},{"decimal", SYNTAX_CONSTANT},{"deeppink", SYNTAX_CONSTANT},{"deepskyblue", SYNTAX_CONSTANT},{"default", SYNTAX_CONSTANT},{"del", SYNTAX_KEYWORD},{"dense", SYNTAX_CONSTANT},{"descent-override:", SYNTAX_BUILTIN},{"details", SYNTAX_KEYWORD},{"dfn", SYNTAX_KEYWORD},{"diagonal-fractions", SYNTAX_CONSTANT},{"dialog", SYNTAX_KEYWORD},{"difference", SYNTAX_CONSTANT},{"digits", SYNTAX_CONSTANT},{"dimgray", SYNTAX_CONSTANT},{"dimgrey", SYNTAX_CONSTANT},{"dir", SYNTAX_KEYWORD},{"direction:", SYNTAX_BUILTIN},{"disabled", SYNTAX_CONSTANT},{"disc", SYNTAX_CONSTANT},{"discretionary-ligatures", SYNTAX_CONSTANT},{"display:", SYNTAX_BUILTIN},{"distribute", SYNTAX_CONSTANT},{"distribute-all-lines", SYNTAX_CONSTANT},{"distribute-letter", SYNTAX_CONSTANT},{"distribute-space", SYNTAX_CONSTANT},{"div", SYNTAX_KEYWORD},{"dl", SYNTAX_KEYWORD},{"dodgerblue", SYNTAX_CONSTANT},{"dot", SYNTAX_CONSTANT},{"dotted", SYNTAX_CONSTANT},{"double", SYNTAX_CONSTANT},{"double-circle", SYNTAX_CONSTANT},{"downleft", SYNTAX_CONSTANT},{"downright", SYNTAX_CONSTANT},{"drop-shadow", SYNTAX_BUILTIN},{"dt", SYNTAX_KEYWORD}};
+static const Keyword syntax_keywords_css_e[25] = {{"e-resize", SYNTAX_CONSTANT},{"each-line", SYNTAX_CONSTANT},{"ease", SYNTAX_CONSTANT},{"ease-in", SYNTAX_CONSTANT},{"ease-in-out", SYNTAX_CONSTANT},{"ease-out", SYNTAX_CONSTANT},{"economy", SYNTAX_CONSTANT},{"element", SYNTAX_BUILTIN},{"ellipse", SYNTAX_BUILTIN},{"ellipsis", SYNTAX_CONSTANT},{"em", SYNTAX_KEYWORD},{"embed", SYNTAX_KEYWORD},{"empty-cells:", SYNTAX_BUILTIN},{"end", SYNTAX_CONSTANT},{"env", SYNTAX_BUILTIN},{"evenodd", SYNTAX_CONSTANT},{"ew-resize", SYNTAX_CONSTANT},{"exact", SYNTAX_CONSTANT},{"exclude", SYNTAX_CONSTANT},{"exclusion", SYNTAX_CONSTANT},{"exp", SYNTAX_BUILTIN},{"expanded", SYNTAX_CONSTANT},{"extends", SYNTAX_CONSTANT},{"extra-condensed", SYNTAX_CONSTANT},{"extra-expanded", SYNTAX_CONSTANT}};
+static const Keyword syntax_keywords_css_f[60] = {{"fallback:", SYNTAX_BUILTIN},{"farthest-corner", SYNTAX_CONSTANT},{"farthest-side", SYNTAX_CONSTANT},{"fieldset", SYNTAX_KEYWORD},{"figcaption", SYNTAX_KEYWORD},{"figure", SYNTAX_KEYWORD},{"fill", SYNTAX_CONSTANT},{"fill-available", SYNTAX_CONSTANT},{"fill-box", SYNTAX_CONSTANT},{"filled", SYNTAX_CONSTANT},{"filter:", SYNTAX_BUILTIN},{"firebrick", SYNTAX_CONSTANT},{"fit-content", SYNTAX_CONSTANT},{"fixed", SYNTAX_CONSTANT},{"flat", SYNTAX_CONSTANT},{"flex-basis:", SYNTAX_BUILTIN},{"flex-direction:", SYNTAX_BUILTIN},{"flex-flow:", SYNTAX_BUILTIN},{"flex-grow:", SYNTAX_BUILTIN},{"flex-shrink:", SYNTAX_BUILTIN},{"flex-wrap:", SYNTAX_BUILTIN},{"flex:", SYNTAX_BUILTIN},{"flip", SYNTAX_CONSTANT},{"float:", SYNTAX_BUILTIN},{"floralwhite", SYNTAX_CONSTANT},{"flow-root", SYNTAX_CONSTANT},{"font", SYNTAX_KEYWORD},{"font-display:", SYNTAX_BUILTIN},{"font-family:", SYNTAX_BUILTIN},{"font-feature-settings:", SYNTAX_BUILTIN},{"font-kerning:", SYNTAX_BUILTIN},{"font-language-override:", SYNTAX_BUILTIN},{"font-optical-sizing:", SYNTAX_BUILTIN},{"font-size-adjust:", SYNTAX_BUILTIN},{"font-size:", SYNTAX_BUILTIN},{"font-stretch:", SYNTAX_BUILTIN},{"font-style:", SYNTAX_BUILTIN},{"font-synthesis:", SYNTAX_BUILTIN},{"font-variant-alternates:", SYNTAX_BUILTIN},{"font-variant-caps:", SYNTAX_BUILTIN},{"font-variant-east-asian:", SYNTAX_BUILTIN},{"font-variant-ligatures:", SYNTAX_BUILTIN},{"font-variant-numeric:", SYNTAX_BUILTIN},{"font-variant-position:", SYNTAX_BUILTIN},{"font-variant:", SYNTAX_BUILTIN},{"font-variation-settings:", SYNTAX_BUILTIN},{"font-weight:", SYNTAX_BUILTIN},{"font:", SYNTAX_BUILTIN},{"footer", SYNTAX_KEYWORD},{"forced-color-adjust:", SYNTAX_BUILTIN},{"forestgreen", SYNTAX_CONSTANT},{"form", SYNTAX_KEYWORD},{"format", SYNTAX_BUILTIN},{"forwards", SYNTAX_CONSTANT},{"frame", SYNTAX_KEYWORD},{"frameset", SYNTAX_KEYWORD},{"freeze", SYNTAX_CONSTANT},{"from-image", SYNTAX_CONSTANT},{"fuchsia", SYNTAX_CONSTANT},{"full-width", SYNTAX_CONSTANT}};
static const Keyword syntax_keywords_css_g[30] = {{"gainsboro", SYNTAX_CONSTANT},{"gap:", SYNTAX_BUILTIN},{"geometricPrecision", SYNTAX_CONSTANT},{"georgian", SYNTAX_CONSTANT},{"ghostwhite", SYNTAX_CONSTANT},{"gold", SYNTAX_CONSTANT},{"goldenrod", SYNTAX_CONSTANT},{"grab", SYNTAX_CONSTANT},{"grabbing", SYNTAX_CONSTANT},{"gray", SYNTAX_CONSTANT},{"grayscale", SYNTAX_BUILTIN},{"green", SYNTAX_CONSTANT},{"greenyellow", SYNTAX_CONSTANT},{"grey", SYNTAX_CONSTANT},{"grid-area:", SYNTAX_BUILTIN},{"grid-auto-columns:", SYNTAX_BUILTIN},{"grid-auto-flow:", SYNTAX_BUILTIN},{"grid-auto-rows:", SYNTAX_BUILTIN},{"grid-column-end:", SYNTAX_BUILTIN},{"grid-column-start:", SYNTAX_BUILTIN},{"grid-column:", SYNTAX_BUILTIN},{"grid-row-end:", SYNTAX_BUILTIN},{"grid-row-start:", SYNTAX_BUILTIN},{"grid-row:", SYNTAX_BUILTIN},{"grid-template-areas:", SYNTAX_BUILTIN},{"grid-template-columns:", SYNTAX_BUILTIN},{"grid-template-rows:", SYNTAX_BUILTIN},{"grid-template:", SYNTAX_BUILTIN},{"grid:", SYNTAX_BUILTIN},{"groove", SYNTAX_CONSTANT}};
-static const Keyword syntax_keywords_css_h[23] = {{"hand", SYNTAX_CONSTANT},{"hanging", SYNTAX_CONSTANT},{"hanging-punctuation:", SYNTAX_BUILTIN},{"hard-light", SYNTAX_CONSTANT},{"height:", SYNTAX_BUILTIN},{"help", SYNTAX_CONSTANT},{"hidden", SYNTAX_CONSTANT},{"hide", SYNTAX_CONSTANT},{"historical-forms", SYNTAX_CONSTANT},{"historical-ligatures", SYNTAX_CONSTANT},{"honeydew", SYNTAX_CONSTANT},{"horizontal", SYNTAX_CONSTANT},{"horizontal-tb", SYNTAX_CONSTANT},{"hotpink", SYNTAX_CONSTANT},{"hsl", SYNTAX_BUILTIN},{"hsla", SYNTAX_BUILTIN},{"hue", SYNTAX_CONSTANT},{"hue-rotate", SYNTAX_BUILTIN},{"hwb", SYNTAX_BUILTIN},{"hyphenate-character:", SYNTAX_BUILTIN},{"hyphenate-limit-chars:", SYNTAX_BUILTIN},{"hyphens:", SYNTAX_BUILTIN},{"hypot", SYNTAX_BUILTIN}};
-static const Keyword syntax_keywords_css_i[50] = {{"icon", SYNTAX_CONSTANT},{"ideograph-alpha", SYNTAX_CONSTANT},{"ideograph-numeric", SYNTAX_CONSTANT},{"ideograph-parenthesis", SYNTAX_CONSTANT},{"ideograph-space", SYNTAX_CONSTANT},{"ideographic", SYNTAX_CONSTANT},{"image", SYNTAX_BUILTIN},{"image-orientation:", SYNTAX_BUILTIN},{"image-rendering:", SYNTAX_BUILTIN},{"image-resolution:", SYNTAX_BUILTIN},{"image-set", SYNTAX_BUILTIN},{"inactive", SYNTAX_CONSTANT},{"indianred", SYNTAX_CONSTANT},{"indigo", SYNTAX_CONSTANT},{"infinite", SYNTAX_CONSTANT},{"inherit", SYNTAX_CONSTANT},{"inherits:", SYNTAX_BUILTIN},{"initial", SYNTAX_CONSTANT},{"initial-letter-align:", SYNTAX_BUILTIN},{"initial-letter:", SYNTAX_BUILTIN},{"initial-value:", SYNTAX_BUILTIN},{"inline", SYNTAX_CONSTANT},{"inline-axis", SYNTAX_CONSTANT},{"inline-block", SYNTAX_CONSTANT},{"inline-end", SYNTAX_CONSTANT},{"inline-flex", SYNTAX_CONSTANT},{"inline-grid", SYNTAX_CONSTANT},{"inline-list-item", SYNTAX_CONSTANT},{"inline-size:", SYNTAX_BUILTIN},{"inline-start", SYNTAX_CONSTANT},{"inline-table", SYNTAX_CONSTANT},{"input-security:", SYNTAX_BUILTIN},{"inset", SYNTAX_BUILTIN},{"inset-block-end:", SYNTAX_BUILTIN},{"inset-block-start:", SYNTAX_BUILTIN},{"inset-block:", SYNTAX_BUILTIN},{"inset-inline-end:", SYNTAX_BUILTIN},{"inset-inline-start:", SYNTAX_BUILTIN},{"inset-inline:", SYNTAX_BUILTIN},{"inside", SYNTAX_CONSTANT},{"inter-character", SYNTAX_CONSTANT},{"inter-ideograph", SYNTAX_CONSTANT},{"inter-word", SYNTAX_CONSTANT},{"intersect", SYNTAX_CONSTANT},{"invert", SYNTAX_BUILTIN},{"isolate", SYNTAX_CONSTANT},{"isolate-override", SYNTAX_CONSTANT},{"isolation:", SYNTAX_BUILTIN},{"italic", SYNTAX_CONSTANT},{"ivory", SYNTAX_CONSTANT}};
+static const Keyword syntax_keywords_css_h[34] = {{"h1", SYNTAX_KEYWORD},{"h2", SYNTAX_KEYWORD},{"h3", SYNTAX_KEYWORD},{"h4", SYNTAX_KEYWORD},{"h5", SYNTAX_KEYWORD},{"h6", SYNTAX_KEYWORD},{"hand", SYNTAX_CONSTANT},{"hanging", SYNTAX_CONSTANT},{"hanging-punctuation:", SYNTAX_BUILTIN},{"hard-light", SYNTAX_CONSTANT},{"head", SYNTAX_KEYWORD},{"header", SYNTAX_KEYWORD},{"height:", SYNTAX_BUILTIN},{"help", SYNTAX_CONSTANT},{"hgroup", SYNTAX_KEYWORD},{"hidden", SYNTAX_CONSTANT},{"hide", SYNTAX_CONSTANT},{"historical-forms", SYNTAX_CONSTANT},{"historical-ligatures", SYNTAX_CONSTANT},{"honeydew", SYNTAX_CONSTANT},{"horizontal", SYNTAX_CONSTANT},{"horizontal-tb", SYNTAX_CONSTANT},{"hotpink", SYNTAX_CONSTANT},{"hr", SYNTAX_KEYWORD},{"hsl", SYNTAX_BUILTIN},{"hsla", SYNTAX_BUILTIN},{"html", SYNTAX_KEYWORD},{"hue", SYNTAX_CONSTANT},{"hue-rotate", SYNTAX_BUILTIN},{"hwb", SYNTAX_BUILTIN},{"hyphenate-character:", SYNTAX_BUILTIN},{"hyphenate-limit-chars:", SYNTAX_BUILTIN},{"hyphens:", SYNTAX_BUILTIN},{"hypot", SYNTAX_BUILTIN}};
+static const Keyword syntax_keywords_css_i[55] = {{"i", SYNTAX_KEYWORD},{"icon", SYNTAX_CONSTANT},{"ideograph-alpha", SYNTAX_CONSTANT},{"ideograph-numeric", SYNTAX_CONSTANT},{"ideograph-parenthesis", SYNTAX_CONSTANT},{"ideograph-space", SYNTAX_CONSTANT},{"ideographic", SYNTAX_CONSTANT},{"iframe", SYNTAX_KEYWORD},{"image", SYNTAX_BUILTIN},{"image-orientation:", SYNTAX_BUILTIN},{"image-rendering:", SYNTAX_BUILTIN},{"image-resolution:", SYNTAX_BUILTIN},{"image-set", SYNTAX_BUILTIN},{"img", SYNTAX_KEYWORD},{"inactive", SYNTAX_CONSTANT},{"indianred", SYNTAX_CONSTANT},{"indigo", SYNTAX_CONSTANT},{"infinite", SYNTAX_CONSTANT},{"inherit", SYNTAX_CONSTANT},{"inherits:", SYNTAX_BUILTIN},{"initial", SYNTAX_CONSTANT},{"initial-letter-align:", SYNTAX_BUILTIN},{"initial-letter:", SYNTAX_BUILTIN},{"initial-value:", SYNTAX_BUILTIN},{"inline", SYNTAX_CONSTANT},{"inline-axis", SYNTAX_CONSTANT},{"inline-block", SYNTAX_CONSTANT},{"inline-end", SYNTAX_CONSTANT},{"inline-flex", SYNTAX_CONSTANT},{"inline-grid", SYNTAX_CONSTANT},{"inline-list-item", SYNTAX_CONSTANT},{"inline-size:", SYNTAX_BUILTIN},{"inline-start", SYNTAX_CONSTANT},{"inline-table", SYNTAX_CONSTANT},{"input", SYNTAX_KEYWORD},{"input-security:", SYNTAX_BUILTIN},{"ins", SYNTAX_KEYWORD},{"inset", SYNTAX_BUILTIN},{"inset-block-end:", SYNTAX_BUILTIN},{"inset-block-start:", SYNTAX_BUILTIN},{"inset-block:", SYNTAX_BUILTIN},{"inset-inline-end:", SYNTAX_BUILTIN},{"inset-inline-start:", SYNTAX_BUILTIN},{"inset-inline:", SYNTAX_BUILTIN},{"inside", SYNTAX_CONSTANT},{"inter-character", SYNTAX_CONSTANT},{"inter-ideograph", SYNTAX_CONSTANT},{"inter-word", SYNTAX_CONSTANT},{"intersect", SYNTAX_CONSTANT},{"invert", SYNTAX_BUILTIN},{"isolate", SYNTAX_CONSTANT},{"isolate-override", SYNTAX_CONSTANT},{"isolation:", SYNTAX_BUILTIN},{"italic", SYNTAX_CONSTANT},{"ivory", SYNTAX_CONSTANT}};
static const Keyword syntax_keywords_css_j[10] = {{"jis04", SYNTAX_CONSTANT},{"jis78", SYNTAX_CONSTANT},{"jis83", SYNTAX_CONSTANT},{"jis90", SYNTAX_CONSTANT},{"justify", SYNTAX_CONSTANT},{"justify-all", SYNTAX_CONSTANT},{"justify-content:", SYNTAX_BUILTIN},{"justify-items:", SYNTAX_BUILTIN},{"justify-self:", SYNTAX_BUILTIN},{"justify-tracks:", SYNTAX_BUILTIN}};
-static const Keyword syntax_keywords_css_k[3] = {{"kannada", SYNTAX_CONSTANT},{"keep-all", SYNTAX_CONSTANT},{"khaki", SYNTAX_CONSTANT}};
-static const Keyword syntax_keywords_css_l[60] = {{"lab", SYNTAX_BUILTIN},{"landscape", SYNTAX_CONSTANT},{"large", SYNTAX_CONSTANT},{"larger", SYNTAX_CONSTANT},{"lavender", SYNTAX_CONSTANT},{"lavenderblush", SYNTAX_CONSTANT},{"lawngreen", SYNTAX_CONSTANT},{"layer", SYNTAX_BUILTIN},{"lch", SYNTAX_BUILTIN},{"leader", SYNTAX_BUILTIN},{"left", SYNTAX_CONSTANT},{"lemonchiffon", SYNTAX_CONSTANT},{"letter-spacing:", SYNTAX_BUILTIN},{"light", SYNTAX_CONSTANT},{"lightblue", SYNTAX_CONSTANT},{"lightcoral", SYNTAX_CONSTANT},{"lightcyan", SYNTAX_CONSTANT},{"lighten", SYNTAX_CONSTANT},{"lighter", SYNTAX_CONSTANT},{"lightgoldenrodyellow", SYNTAX_CONSTANT},{"lightgray", SYNTAX_CONSTANT},{"lightgreen", SYNTAX_CONSTANT},{"lightgrey", SYNTAX_CONSTANT},{"lightpink", SYNTAX_CONSTANT},{"lightsalmon", SYNTAX_CONSTANT},{"lightseagreen", SYNTAX_CONSTANT},{"lightskyblue", SYNTAX_CONSTANT},{"lightslategray", SYNTAX_CONSTANT},{"lightslategrey", SYNTAX_CONSTANT},{"lightsteelblue", SYNTAX_CONSTANT},{"lightyellow", SYNTAX_CONSTANT},{"lime", SYNTAX_CONSTANT},{"limegreen", SYNTAX_CONSTANT},{"line", SYNTAX_CONSTANT},{"line-break:", SYNTAX_BUILTIN},{"line-clamp:", SYNTAX_BUILTIN},{"line-edge", SYNTAX_CONSTANT},{"line-gap-override:", SYNTAX_BUILTIN},{"line-height-step:", SYNTAX_BUILTIN},{"line-height:", SYNTAX_BUILTIN},{"line-through", SYNTAX_CONSTANT},{"linear", SYNTAX_CONSTANT},{"linear-gradient", SYNTAX_BUILTIN},{"linearRGB", SYNTAX_CONSTANT},{"linen", SYNTAX_CONSTANT},{"lining-nums", SYNTAX_CONSTANT},{"list-item", SYNTAX_CONSTANT},{"list-style-image:", SYNTAX_BUILTIN},{"list-style-position:", SYNTAX_BUILTIN},{"list-style-type:", SYNTAX_BUILTIN},{"list-style:", SYNTAX_BUILTIN},{"local", SYNTAX_BUILTIN},{"log", SYNTAX_BUILTIN},{"loose", SYNTAX_CONSTANT},{"lowercase", SYNTAX_CONSTANT},{"lr", SYNTAX_CONSTANT},{"lr-tb", SYNTAX_CONSTANT},{"ltr", SYNTAX_CONSTANT},{"luminance", SYNTAX_CONSTANT},{"luminosity", SYNTAX_CONSTANT}};
-static const Keyword syntax_keywords_css_m[85] = {{"magenta", SYNTAX_CONSTANT},{"main-size", SYNTAX_CONSTANT},{"mandatory", SYNTAX_CONSTANT},{"manipulation", SYNTAX_CONSTANT},{"manual", SYNTAX_CONSTANT},{"margin-block-end:", SYNTAX_BUILTIN},{"margin-block-start:", SYNTAX_BUILTIN},{"margin-block:", SYNTAX_BUILTIN},{"margin-bottom:", SYNTAX_BUILTIN},{"margin-box", SYNTAX_CONSTANT},{"margin-inline-end:", SYNTAX_BUILTIN},{"margin-inline-start:", SYNTAX_BUILTIN},{"margin-inline:", SYNTAX_BUILTIN},{"margin-left:", SYNTAX_BUILTIN},{"margin-right:", SYNTAX_BUILTIN},{"margin-top:", SYNTAX_BUILTIN},{"margin-trim:", SYNTAX_BUILTIN},{"margin:", SYNTAX_BUILTIN},{"marks:", SYNTAX_BUILTIN},{"maroon", SYNTAX_CONSTANT},{"mask-border-mode:", SYNTAX_BUILTIN},{"mask-border-outset:", SYNTAX_BUILTIN},{"mask-border-repeat:", SYNTAX_BUILTIN},{"mask-border-slice:", SYNTAX_BUILTIN},{"mask-border-source:", SYNTAX_BUILTIN},{"mask-border-width:", SYNTAX_BUILTIN},{"mask-border:", SYNTAX_BUILTIN},{"mask-clip:", SYNTAX_BUILTIN},{"mask-composite:", SYNTAX_BUILTIN},{"mask-image:", SYNTAX_BUILTIN},{"mask-mode:", SYNTAX_BUILTIN},{"mask-origin:", SYNTAX_BUILTIN},{"mask-position:", SYNTAX_BUILTIN},{"mask-repeat:", SYNTAX_BUILTIN},{"mask-size:", SYNTAX_BUILTIN},{"mask-type:", SYNTAX_BUILTIN},{"mask:", SYNTAX_BUILTIN},{"masonry-auto-flow:", SYNTAX_BUILTIN},{"match-parent", SYNTAX_CONSTANT},{"match-source", SYNTAX_CONSTANT},{"math-depth:", SYNTAX_BUILTIN},{"math-shift:", SYNTAX_BUILTIN},{"math-style:", SYNTAX_BUILTIN},{"mathematical", SYNTAX_CONSTANT},{"matrix", SYNTAX_BUILTIN},{"matrix3d", SYNTAX_BUILTIN},{"max", SYNTAX_BUILTIN},{"max-block-size:", SYNTAX_BUILTIN},{"max-content", SYNTAX_CONSTANT},{"max-height:", SYNTAX_BUILTIN},{"max-inline-size:", SYNTAX_BUILTIN},{"max-lines:", SYNTAX_BUILTIN},{"max-width:", SYNTAX_BUILTIN},{"max-zoom:", SYNTAX_BUILTIN},{"medium", SYNTAX_CONSTANT},{"mediumaquamarine", SYNTAX_CONSTANT},{"mediumblue", SYNTAX_CONSTANT},{"mediumorchid", SYNTAX_CONSTANT},{"mediumpurple", SYNTAX_CONSTANT},{"mediumseagreen", SYNTAX_CONSTANT},{"mediumslateblue", SYNTAX_CONSTANT},{"mediumspringgreen", SYNTAX_CONSTANT},{"mediumturquoise", SYNTAX_CONSTANT},{"mediumvioletred", SYNTAX_CONSTANT},{"menu", SYNTAX_CONSTANT},{"message-box", SYNTAX_CONSTANT},{"middle", SYNTAX_CONSTANT},{"midnightblue", SYNTAX_CONSTANT},{"min", SYNTAX_BUILTIN},{"min-block-size:", SYNTAX_BUILTIN},{"min-content", SYNTAX_CONSTANT},{"min-height:", SYNTAX_BUILTIN},{"min-inline-size:", SYNTAX_BUILTIN},{"min-width:", SYNTAX_BUILTIN},{"min-zoom:", SYNTAX_BUILTIN},{"minmax", SYNTAX_BUILTIN},{"mintcream", SYNTAX_CONSTANT},{"mistyrose", SYNTAX_CONSTANT},{"miter", SYNTAX_CONSTANT},{"mix-blend-mode:", SYNTAX_BUILTIN},{"mixed", SYNTAX_CONSTANT},{"moccasin", SYNTAX_CONSTANT},{"mod", SYNTAX_BUILTIN},{"move", SYNTAX_CONSTANT},{"multiply", SYNTAX_CONSTANT}};
-static const Keyword syntax_keywords_css_n[29] = {{"n-resize", SYNTAX_CONSTANT},{"narrower", SYNTAX_CONSTANT},{"navajowhite", SYNTAX_CONSTANT},{"navy", SYNTAX_CONSTANT},{"ne-resize", SYNTAX_CONSTANT},{"nearest-neighbor", SYNTAX_CONSTANT},{"negative:", SYNTAX_BUILTIN},{"nesw-resize", SYNTAX_CONSTANT},{"newspaper", SYNTAX_CONSTANT},{"no-change", SYNTAX_CONSTANT},{"no-clip", SYNTAX_CONSTANT},{"no-close-quote", SYNTAX_CONSTANT},{"no-common-ligatures", SYNTAX_CONSTANT},{"no-contextual", SYNTAX_CONSTANT},{"no-discretionary-ligatures", SYNTAX_CONSTANT},{"no-drop", SYNTAX_CONSTANT},{"no-historical-ligatures", SYNTAX_CONSTANT},{"no-open-quote", SYNTAX_CONSTANT},{"no-repeat", SYNTAX_CONSTANT},{"none", SYNTAX_CONSTANT},{"nonzero", SYNTAX_CONSTANT},{"normal", SYNTAX_CONSTANT},{"not-allowed", SYNTAX_CONSTANT},{"nowrap", SYNTAX_CONSTANT},{"ns-resize", SYNTAX_CONSTANT},{"numbers", SYNTAX_CONSTANT},{"numeric", SYNTAX_CONSTANT},{"nw-resize", SYNTAX_CONSTANT},{"nwse-resize", SYNTAX_CONSTANT}};
-static const Keyword syntax_keywords_css_o[51] = {{"object-fit:", SYNTAX_BUILTIN},{"object-position:", SYNTAX_BUILTIN},{"oblique", SYNTAX_CONSTANT},{"offset-anchor:", SYNTAX_BUILTIN},{"offset-distance:", SYNTAX_BUILTIN},{"offset-path:", SYNTAX_BUILTIN},{"offset-position:", SYNTAX_BUILTIN},{"offset-rotate:", SYNTAX_BUILTIN},{"offset:", SYNTAX_BUILTIN},{"oldlace", SYNTAX_CONSTANT},{"oldstyle-nums", SYNTAX_CONSTANT},{"olive", SYNTAX_CONSTANT},{"olivedrab", SYNTAX_CONSTANT},{"opacity", SYNTAX_BUILTIN},{"open", SYNTAX_CONSTANT},{"open-quote", SYNTAX_CONSTANT},{"optimizeLegibility", SYNTAX_CONSTANT},{"optimizeQuality", SYNTAX_CONSTANT},{"optimizeSpeed", SYNTAX_CONSTANT},{"optional", SYNTAX_CONSTANT},{"orange", SYNTAX_CONSTANT},{"orangered", SYNTAX_CONSTANT},{"orchid", SYNTAX_CONSTANT},{"order:", SYNTAX_BUILTIN},{"ordinal", SYNTAX_CONSTANT},{"orientation:", SYNTAX_BUILTIN},{"ornaments", SYNTAX_BUILTIN},{"orphans:", SYNTAX_BUILTIN},{"outline-color:", SYNTAX_BUILTIN},{"outline-offset:", SYNTAX_BUILTIN},{"outline-style:", SYNTAX_BUILTIN},{"outline-width:", SYNTAX_BUILTIN},{"outline:", SYNTAX_BUILTIN},{"outset", SYNTAX_CONSTANT},{"outside", SYNTAX_CONSTANT},{"over", SYNTAX_CONSTANT},{"overflow-anchor:", SYNTAX_BUILTIN},{"overflow-block:", SYNTAX_BUILTIN},{"overflow-clip-margin:", SYNTAX_BUILTIN},{"overflow-inline:", SYNTAX_BUILTIN},{"overflow-wrap:", SYNTAX_BUILTIN},{"overflow-x:", SYNTAX_BUILTIN},{"overflow-y:", SYNTAX_BUILTIN},{"overflow:", SYNTAX_BUILTIN},{"overlay", SYNTAX_CONSTANT},{"overline", SYNTAX_CONSTANT},{"overscroll-behavior-block:", SYNTAX_BUILTIN},{"overscroll-behavior-inline:", SYNTAX_BUILTIN},{"overscroll-behavior-x:", SYNTAX_BUILTIN},{"overscroll-behavior-y:", SYNTAX_BUILTIN},{"overscroll-behavior:", SYNTAX_BUILTIN}};
-static const Keyword syntax_keywords_css_p[63] = {{"pad:", SYNTAX_BUILTIN},{"padding-block-end:", SYNTAX_BUILTIN},{"padding-block-start:", SYNTAX_BUILTIN},{"padding-block:", SYNTAX_BUILTIN},{"padding-bottom:", SYNTAX_BUILTIN},{"padding-inline-end:", SYNTAX_BUILTIN},{"padding-inline-start:", SYNTAX_BUILTIN},{"padding-inline:", SYNTAX_BUILTIN},{"padding-left:", SYNTAX_BUILTIN},{"padding-right:", SYNTAX_BUILTIN},{"padding-top:", SYNTAX_BUILTIN},{"padding:", SYNTAX_BUILTIN},{"page", SYNTAX_CONSTANT},{"page-break-after:", SYNTAX_BUILTIN},{"page-break-before:", SYNTAX_BUILTIN},{"page-break-inside:", SYNTAX_BUILTIN},{"paint", SYNTAX_BUILTIN},{"paint-order:", SYNTAX_BUILTIN},{"painted", SYNTAX_CONSTANT},{"palegoldenrod", SYNTAX_CONSTANT},{"palegreen", SYNTAX_CONSTANT},{"paleturquoise", SYNTAX_CONSTANT},{"palevioletred", SYNTAX_CONSTANT},{"pan-down", SYNTAX_CONSTANT},{"pan-left", SYNTAX_CONSTANT},{"pan-right", SYNTAX_CONSTANT},{"pan-up", SYNTAX_CONSTANT},{"pan-x", SYNTAX_CONSTANT},{"pan-y", SYNTAX_CONSTANT},{"papayawhip", SYNTAX_CONSTANT},{"path", SYNTAX_BUILTIN},{"paused", SYNTAX_CONSTANT},{"peachpuff", SYNTAX_CONSTANT},{"perspective", SYNTAX_BUILTIN},{"perspective-origin:", SYNTAX_BUILTIN},{"peru", SYNTAX_CONSTANT},{"petite-caps", SYNTAX_CONSTANT},{"pink", SYNTAX_CONSTANT},{"pixelated", SYNTAX_CONSTANT},{"place-content:", SYNTAX_BUILTIN},{"place-items:", SYNTAX_BUILTIN},{"place-self:", SYNTAX_BUILTIN},{"plaintext", SYNTAX_CONSTANT},{"plum", SYNTAX_CONSTANT},{"pointer", SYNTAX_CONSTANT},{"pointer-events:", SYNTAX_BUILTIN},{"polygon", SYNTAX_BUILTIN},{"portrait", SYNTAX_CONSTANT},{"position:", SYNTAX_BUILTIN},{"pow", SYNTAX_BUILTIN},{"powderblue", SYNTAX_CONSTANT},{"pre", SYNTAX_CONSTANT},{"pre-line", SYNTAX_CONSTANT},{"pre-wrap", SYNTAX_CONSTANT},{"prefix:", SYNTAX_BUILTIN},{"preserve-3d", SYNTAX_CONSTANT},{"print-color-adjust:", SYNTAX_BUILTIN},{"progress", SYNTAX_CONSTANT},{"progressive", SYNTAX_CONSTANT},{"proportional-nums", SYNTAX_CONSTANT},{"proportional-width", SYNTAX_CONSTANT},{"proximity", SYNTAX_CONSTANT},{"purple", SYNTAX_CONSTANT}};
-static const Keyword syntax_keywords_css_q[1] = {{"quotes:", SYNTAX_BUILTIN}};
-static const Keyword syntax_keywords_css_r[49] = {{"radial", SYNTAX_CONSTANT},{"radial-gradient", SYNTAX_BUILTIN},{"range:", SYNTAX_BUILTIN},{"rect", SYNTAX_BUILTIN},{"recto", SYNTAX_CONSTANT},{"red", SYNTAX_CONSTANT},{"region", SYNTAX_CONSTANT},{"relative", SYNTAX_CONSTANT},{"rem", SYNTAX_BUILTIN},{"remove", SYNTAX_CONSTANT},{"repeat", SYNTAX_BUILTIN},{"repeating-conic-gradient", SYNTAX_BUILTIN},{"repeating-linear-gradient", SYNTAX_BUILTIN},{"repeating-radial-gradient", SYNTAX_BUILTIN},{"reset-size", SYNTAX_CONSTANT},{"resize:", SYNTAX_BUILTIN},{"reverse", SYNTAX_CONSTANT},{"reversed", SYNTAX_BUILTIN},{"revert", SYNTAX_CONSTANT},{"rgb", SYNTAX_BUILTIN},{"rgba", SYNTAX_BUILTIN},{"ridge", SYNTAX_CONSTANT},{"right", SYNTAX_CONSTANT},{"rl", SYNTAX_CONSTANT},{"rl-tb", SYNTAX_CONSTANT},{"rosybrown", SYNTAX_CONSTANT},{"rotate", SYNTAX_BUILTIN},{"rotate3d", SYNTAX_BUILTIN},{"rotateX", SYNTAX_BUILTIN},{"rotateY", SYNTAX_BUILTIN},{"rotateZ", SYNTAX_BUILTIN},{"round", SYNTAX_CONSTANT},{"row", SYNTAX_CONSTANT},{"row-gap:", SYNTAX_BUILTIN},{"row-resize", SYNTAX_CONSTANT},{"row-reverse", SYNTAX_CONSTANT},{"row-severse", SYNTAX_CONSTANT},{"royalblue", SYNTAX_CONSTANT},{"rtl", SYNTAX_CONSTANT},{"ruby", SYNTAX_CONSTANT},{"ruby-align:", SYNTAX_BUILTIN},{"ruby-base", SYNTAX_CONSTANT},{"ruby-base-container", SYNTAX_CONSTANT},{"ruby-merge:", SYNTAX_BUILTIN},{"ruby-position:", SYNTAX_BUILTIN},{"ruby-text", SYNTAX_CONSTANT},{"ruby-text-container", SYNTAX_CONSTANT},{"run-in", SYNTAX_CONSTANT},{"running", SYNTAX_CONSTANT}};
-static const Keyword syntax_keywords_css_s[129] = {{"s-resize", SYNTAX_CONSTANT},{"sRGB", SYNTAX_CONSTANT},{"saddlebrown", SYNTAX_CONSTANT},{"salmon", SYNTAX_CONSTANT},{"sandybrown", SYNTAX_CONSTANT},{"saturate", SYNTAX_BUILTIN},{"saturation", SYNTAX_CONSTANT},{"scale", SYNTAX_BUILTIN},{"scale-down", SYNTAX_CONSTANT},{"scale3d", SYNTAX_BUILTIN},{"scaleX", SYNTAX_BUILTIN},{"scaleY", SYNTAX_BUILTIN},{"scaleZ", SYNTAX_BUILTIN},{"screen", SYNTAX_CONSTANT},{"scroll", SYNTAX_BUILTIN},{"scroll-behavior:", SYNTAX_BUILTIN},{"scroll-margin-block-end:", SYNTAX_BUILTIN},{"scroll-margin-block-start:", SYNTAX_BUILTIN},{"scroll-margin-block:", SYNTAX_BUILTIN},{"scroll-margin-bottom:", SYNTAX_BUILTIN},{"scroll-margin-inline-end:", SYNTAX_BUILTIN},{"scroll-margin-inline-start:", SYNTAX_BUILTIN},{"scroll-margin-inline:", SYNTAX_BUILTIN},{"scroll-margin-left:", SYNTAX_BUILTIN},{"scroll-margin-right:", SYNTAX_BUILTIN},{"scroll-margin-top:", SYNTAX_BUILTIN},{"scroll-margin:", SYNTAX_BUILTIN},{"scroll-padding-block-end:", SYNTAX_BUILTIN},{"scroll-padding-block-start:", SYNTAX_BUILTIN},{"scroll-padding-block:", SYNTAX_BUILTIN},{"scroll-padding-bottom:", SYNTAX_BUILTIN},{"scroll-padding-inline-end:", SYNTAX_BUILTIN},{"scroll-padding-inline-start:", SYNTAX_BUILTIN},{"scroll-padding-inline:", SYNTAX_BUILTIN},{"scroll-padding-left:", SYNTAX_BUILTIN},{"scroll-padding-right:", SYNTAX_BUILTIN},{"scroll-padding-top:", SYNTAX_BUILTIN},{"scroll-padding:", SYNTAX_BUILTIN},{"scroll-snap-align:", SYNTAX_BUILTIN},{"scroll-snap-stop:", SYNTAX_BUILTIN},{"scroll-snap-type:", SYNTAX_BUILTIN},{"scroll-timeline-axis:", SYNTAX_BUILTIN},{"scroll-timeline-name:", SYNTAX_BUILTIN},{"scroll-timeline:", SYNTAX_BUILTIN},{"scrollbar-color:", SYNTAX_BUILTIN},{"scrollbar-gutter:", SYNTAX_BUILTIN},{"scrollbar-width:", SYNTAX_BUILTIN},{"se-resize", SYNTAX_CONSTANT},{"seagreen", SYNTAX_CONSTANT},{"seashell", SYNTAX_CONSTANT},{"selector", SYNTAX_BUILTIN},{"semi-condensed", SYNTAX_CONSTANT},{"semi-expanded", SYNTAX_CONSTANT},{"separate", SYNTAX_CONSTANT},{"sepia", SYNTAX_BUILTIN},{"sesame", SYNTAX_CONSTANT},{"shape-image-threshold:", SYNTAX_BUILTIN},{"shape-margin:", SYNTAX_BUILTIN},{"shape-outside:", SYNTAX_BUILTIN},{"show", SYNTAX_CONSTANT},{"sideways", SYNTAX_CONSTANT},{"sideways-left", SYNTAX_CONSTANT},{"sideways-lr", SYNTAX_CONSTANT},{"sideways-right", SYNTAX_CONSTANT},{"sideways-rl", SYNTAX_CONSTANT},{"sienna", SYNTAX_CONSTANT},{"sign", SYNTAX_BUILTIN},{"silver", SYNTAX_CONSTANT},{"simplified", SYNTAX_CONSTANT},{"sin", SYNTAX_BUILTIN},{"size-adjust:", SYNTAX_BUILTIN},{"size:", SYNTAX_BUILTIN},{"skew", SYNTAX_BUILTIN},{"skewX", SYNTAX_BUILTIN},{"skewY", SYNTAX_BUILTIN},{"skyblue", SYNTAX_CONSTANT},{"slashed-zero", SYNTAX_CONSTANT},{"slateblue", SYNTAX_CONSTANT},{"slategray", SYNTAX_CONSTANT},{"slategrey", SYNTAX_CONSTANT},{"slice", SYNTAX_CONSTANT},{"small", SYNTAX_CONSTANT},{"small-caps", SYNTAX_CONSTANT},{"small-caption", SYNTAX_CONSTANT},{"smaller", SYNTAX_CONSTANT},{"smooth", SYNTAX_CONSTANT},{"snow", SYNTAX_CONSTANT},{"soft-light", SYNTAX_CONSTANT},{"solid", SYNTAX_CONSTANT},{"space", SYNTAX_CONSTANT},{"space-around", SYNTAX_CONSTANT},{"space-between", SYNTAX_CONSTANT},{"space-evenly", SYNTAX_CONSTANT},{"speak-as:", SYNTAX_BUILTIN},{"spell-out", SYNTAX_CONSTANT},{"springgreen", SYNTAX_CONSTANT},{"sqrt", SYNTAX_BUILTIN},{"square", SYNTAX_CONSTANT},{"src:", SYNTAX_BUILTIN},{"stacked-fractions", SYNTAX_CONSTANT},{"start", SYNTAX_CONSTANT},{"static", SYNTAX_CONSTANT},{"status-bar", SYNTAX_CONSTANT},{"steelblue", SYNTAX_CONSTANT},{"step-end", SYNTAX_CONSTANT},{"step-start", SYNTAX_CONSTANT},{"steps", SYNTAX_BUILTIN},{"sticky", SYNTAX_CONSTANT},{"stretch", SYNTAX_CONSTANT},{"strict", SYNTAX_CONSTANT},{"stroke", SYNTAX_CONSTANT},{"stroke-box", SYNTAX_CONSTANT},{"style", SYNTAX_CONSTANT},{"styleset", SYNTAX_BUILTIN},{"stylistic", SYNTAX_BUILTIN},{"sub", SYNTAX_CONSTANT},{"subgrid", SYNTAX_CONSTANT},{"subpixel-antialiased", SYNTAX_CONSTANT},{"subtract", SYNTAX_CONSTANT},{"suffix:", SYNTAX_BUILTIN},{"super", SYNTAX_CONSTANT},{"supports", SYNTAX_BUILTIN},{"sw-resize", SYNTAX_CONSTANT},{"swap", SYNTAX_CONSTANT},{"swash", SYNTAX_BUILTIN},{"symbolic", SYNTAX_CONSTANT},{"symbols", SYNTAX_BUILTIN},{"syntax:", SYNTAX_BUILTIN},{"system:", SYNTAX_BUILTIN}};
-static const Keyword syntax_keywords_css_t[76] = {{"tab-size:", SYNTAX_BUILTIN},{"table", SYNTAX_CONSTANT},{"table-caption", SYNTAX_CONSTANT},{"table-cell", SYNTAX_CONSTANT},{"table-column", SYNTAX_CONSTANT},{"table-column-group", SYNTAX_CONSTANT},{"table-footer-group", SYNTAX_CONSTANT},{"table-header-group", SYNTAX_CONSTANT},{"table-layout:", SYNTAX_BUILTIN},{"table-row", SYNTAX_CONSTANT},{"table-row-group", SYNTAX_CONSTANT},{"tabular-nums", SYNTAX_CONSTANT},{"tan", SYNTAX_BUILTIN},{"target-counter", SYNTAX_BUILTIN},{"target-counters", SYNTAX_BUILTIN},{"target-text", SYNTAX_BUILTIN},{"tb", SYNTAX_CONSTANT},{"tb-rl", SYNTAX_CONSTANT},{"teal", SYNTAX_CONSTANT},{"text", SYNTAX_CONSTANT},{"text-after-edge", SYNTAX_CONSTANT},{"text-align-last:", SYNTAX_BUILTIN},{"text-align:", SYNTAX_BUILTIN},{"text-before-edge", SYNTAX_CONSTANT},{"text-bottom", SYNTAX_CONSTANT},{"text-combine-upright:", SYNTAX_BUILTIN},{"text-decoration-color:", SYNTAX_BUILTIN},{"text-decoration-line:", SYNTAX_BUILTIN},{"text-decoration-skip-ink:", SYNTAX_BUILTIN},{"text-decoration-skip:", SYNTAX_BUILTIN},{"text-decoration-style:", SYNTAX_BUILTIN},{"text-decoration-thickness:", SYNTAX_BUILTIN},{"text-decoration:", SYNTAX_BUILTIN},{"text-emphasis-color:", SYNTAX_BUILTIN},{"text-emphasis-position:", SYNTAX_BUILTIN},{"text-emphasis-style:", SYNTAX_BUILTIN},{"text-emphasis:", SYNTAX_BUILTIN},{"text-indent:", SYNTAX_BUILTIN},{"text-justify:", SYNTAX_BUILTIN},{"text-orientation:", SYNTAX_BUILTIN},{"text-overflow:", SYNTAX_BUILTIN},{"text-rendering:", SYNTAX_BUILTIN},{"text-shadow:", SYNTAX_BUILTIN},{"text-size-adjust:", SYNTAX_BUILTIN},{"text-top", SYNTAX_CONSTANT},{"text-transform:", SYNTAX_BUILTIN},{"text-underline-offset:", SYNTAX_BUILTIN},{"text-underline-position:", SYNTAX_BUILTIN},{"thick", SYNTAX_CONSTANT},{"thin", SYNTAX_CONSTANT},{"thistle", SYNTAX_CONSTANT},{"titling-caps", SYNTAX_CONSTANT},{"tomato", SYNTAX_CONSTANT},{"top", SYNTAX_CONSTANT},{"top-outside", SYNTAX_CONSTANT},{"touch", SYNTAX_CONSTANT},{"touch-action:", SYNTAX_BUILTIN},{"traditional", SYNTAX_CONSTANT},{"transform-box:", SYNTAX_BUILTIN},{"transform-origin:", SYNTAX_BUILTIN},{"transform-style:", SYNTAX_BUILTIN},{"transform:", SYNTAX_BUILTIN},{"transition-delay:", SYNTAX_BUILTIN},{"transition-duration:", SYNTAX_BUILTIN},{"transition-property:", SYNTAX_BUILTIN},{"transition-timing-function:", SYNTAX_BUILTIN},{"transition:", SYNTAX_BUILTIN},{"translate", SYNTAX_BUILTIN},{"translate3d", SYNTAX_BUILTIN},{"translateX", SYNTAX_BUILTIN},{"translateY", SYNTAX_BUILTIN},{"translateZ", SYNTAX_BUILTIN},{"transparent", SYNTAX_CONSTANT},{"triangle", SYNTAX_CONSTANT},{"turquoise", SYNTAX_CONSTANT},{"type", SYNTAX_BUILTIN}};
-static const Keyword syntax_keywords_css_u[16] = {{"ultra-condensed", SYNTAX_CONSTANT},{"ultra-expanded", SYNTAX_CONSTANT},{"under", SYNTAX_CONSTANT},{"underline", SYNTAX_CONSTANT},{"unicase", SYNTAX_CONSTANT},{"unicode-bidi:", SYNTAX_BUILTIN},{"unicode-range:", SYNTAX_BUILTIN},{"unset", SYNTAX_CONSTANT},{"upleft", SYNTAX_CONSTANT},{"uppercase", SYNTAX_CONSTANT},{"upright", SYNTAX_CONSTANT},{"url", SYNTAX_BUILTIN},{"use-glyph-orientation", SYNTAX_CONSTANT},{"use-script", SYNTAX_CONSTANT},{"user-select:", SYNTAX_BUILTIN},{"user-zoom:", SYNTAX_BUILTIN}};
-static const Keyword syntax_keywords_css_v[16] = {{"var", SYNTAX_BUILTIN},{"verso", SYNTAX_CONSTANT},{"vertical", SYNTAX_CONSTANT},{"vertical-align:", SYNTAX_BUILTIN},{"vertical-ideographic", SYNTAX_CONSTANT},{"vertical-lr", SYNTAX_CONSTANT},{"vertical-rl", SYNTAX_CONSTANT},{"vertical-text", SYNTAX_CONSTANT},{"view-box", SYNTAX_CONSTANT},{"viewport-fit:", SYNTAX_BUILTIN},{"violet", SYNTAX_CONSTANT},{"visibility:", SYNTAX_BUILTIN},{"visible", SYNTAX_CONSTANT},{"visibleFill", SYNTAX_CONSTANT},{"visiblePainted", SYNTAX_CONSTANT},{"visibleStroke", SYNTAX_CONSTANT}};
-static const Keyword syntax_keywords_css_w[20] = {{"w-resize", SYNTAX_CONSTANT},{"wait", SYNTAX_CONSTANT},{"wavy", SYNTAX_CONSTANT},{"weight", SYNTAX_CONSTANT},{"wheat", SYNTAX_CONSTANT},{"white", SYNTAX_CONSTANT},{"white-space:", SYNTAX_BUILTIN},{"whitesmoke", SYNTAX_CONSTANT},{"whitespace", SYNTAX_CONSTANT},{"wider", SYNTAX_CONSTANT},{"widows:", SYNTAX_BUILTIN},{"width:", SYNTAX_BUILTIN},{"will-change:", SYNTAX_BUILTIN},{"word-break:", SYNTAX_BUILTIN},{"word-spacing:", SYNTAX_BUILTIN},{"word-wrap:", SYNTAX_BUILTIN},{"words", SYNTAX_CONSTANT},{"wrap", SYNTAX_CONSTANT},{"wrap-reverse", SYNTAX_CONSTANT},{"writing-mode:", SYNTAX_BUILTIN}};
-static const Keyword syntax_keywords_css_x[5] = {{"x", SYNTAX_CONSTANT},{"x-large", SYNTAX_CONSTANT},{"x-small", SYNTAX_CONSTANT},{"xx-large", SYNTAX_CONSTANT},{"xx-small", SYNTAX_CONSTANT}};
+static const Keyword syntax_keywords_css_k[5] = {{"kannada", SYNTAX_CONSTANT},{"kbd", SYNTAX_KEYWORD},{"keep-all", SYNTAX_CONSTANT},{"keygen", SYNTAX_KEYWORD},{"khaki", SYNTAX_CONSTANT}};
+static const Keyword syntax_keywords_css_l[65] = {{"lab", SYNTAX_BUILTIN},{"label", SYNTAX_KEYWORD},{"landscape", SYNTAX_CONSTANT},{"large", SYNTAX_CONSTANT},{"larger", SYNTAX_CONSTANT},{"lavender", SYNTAX_CONSTANT},{"lavenderblush", SYNTAX_CONSTANT},{"lawngreen", SYNTAX_CONSTANT},{"layer", SYNTAX_BUILTIN},{"lch", SYNTAX_BUILTIN},{"leader", SYNTAX_BUILTIN},{"left", SYNTAX_CONSTANT},{"left:", SYNTAX_BUILTIN},{"legend", SYNTAX_KEYWORD},{"lemonchiffon", SYNTAX_CONSTANT},{"letter-spacing:", SYNTAX_BUILTIN},{"li", SYNTAX_KEYWORD},{"light", SYNTAX_CONSTANT},{"lightblue", SYNTAX_CONSTANT},{"lightcoral", SYNTAX_CONSTANT},{"lightcyan", SYNTAX_CONSTANT},{"lighten", SYNTAX_CONSTANT},{"lighter", SYNTAX_CONSTANT},{"lightgoldenrodyellow", SYNTAX_CONSTANT},{"lightgray", SYNTAX_CONSTANT},{"lightgreen", SYNTAX_CONSTANT},{"lightgrey", SYNTAX_CONSTANT},{"lightpink", SYNTAX_CONSTANT},{"lightsalmon", SYNTAX_CONSTANT},{"lightseagreen", SYNTAX_CONSTANT},{"lightskyblue", SYNTAX_CONSTANT},{"lightslategray", SYNTAX_CONSTANT},{"lightslategrey", SYNTAX_CONSTANT},{"lightsteelblue", SYNTAX_CONSTANT},{"lightyellow", SYNTAX_CONSTANT},{"lime", SYNTAX_CONSTANT},{"limegreen", SYNTAX_CONSTANT},{"line", SYNTAX_CONSTANT},{"line-break:", SYNTAX_BUILTIN},{"line-clamp:", SYNTAX_BUILTIN},{"line-edge", SYNTAX_CONSTANT},{"line-gap-override:", SYNTAX_BUILTIN},{"line-height-step:", SYNTAX_BUILTIN},{"line-height:", SYNTAX_BUILTIN},{"line-through", SYNTAX_CONSTANT},{"linear", SYNTAX_CONSTANT},{"linear-gradient", SYNTAX_BUILTIN},{"linearRGB", SYNTAX_CONSTANT},{"linen", SYNTAX_CONSTANT},{"lining-nums", SYNTAX_CONSTANT},{"link", SYNTAX_KEYWORD},{"list-item", SYNTAX_CONSTANT},{"list-style-image:", SYNTAX_BUILTIN},{"list-style-position:", SYNTAX_BUILTIN},{"list-style-type:", SYNTAX_BUILTIN},{"list-style:", SYNTAX_BUILTIN},{"local", SYNTAX_BUILTIN},{"log", SYNTAX_BUILTIN},{"loose", SYNTAX_CONSTANT},{"lowercase", SYNTAX_CONSTANT},{"lr", SYNTAX_CONSTANT},{"lr-tb", SYNTAX_CONSTANT},{"ltr", SYNTAX_CONSTANT},{"luminance", SYNTAX_CONSTANT},{"luminosity", SYNTAX_CONSTANT}};
+static const Keyword syntax_keywords_css_m[92] = {{"magenta", SYNTAX_CONSTANT},{"main", SYNTAX_KEYWORD},{"main-size", SYNTAX_CONSTANT},{"mandatory", SYNTAX_CONSTANT},{"manipulation", SYNTAX_CONSTANT},{"manual", SYNTAX_CONSTANT},{"map", SYNTAX_KEYWORD},{"margin-block-end:", SYNTAX_BUILTIN},{"margin-block-start:", SYNTAX_BUILTIN},{"margin-block:", SYNTAX_BUILTIN},{"margin-bottom:", SYNTAX_BUILTIN},{"margin-box", SYNTAX_CONSTANT},{"margin-inline-end:", SYNTAX_BUILTIN},{"margin-inline-start:", SYNTAX_BUILTIN},{"margin-inline:", SYNTAX_BUILTIN},{"margin-left:", SYNTAX_BUILTIN},{"margin-right:", SYNTAX_BUILTIN},{"margin-top:", SYNTAX_BUILTIN},{"margin-trim:", SYNTAX_BUILTIN},{"margin:", SYNTAX_BUILTIN},{"mark", SYNTAX_KEYWORD},{"marks:", SYNTAX_BUILTIN},{"maroon", SYNTAX_CONSTANT},{"marquee", SYNTAX_KEYWORD},{"mask-border-mode:", SYNTAX_BUILTIN},{"mask-border-outset:", SYNTAX_BUILTIN},{"mask-border-repeat:", SYNTAX_BUILTIN},{"mask-border-slice:", SYNTAX_BUILTIN},{"mask-border-source:", SYNTAX_BUILTIN},{"mask-border-width:", SYNTAX_BUILTIN},{"mask-border:", SYNTAX_BUILTIN},{"mask-clip:", SYNTAX_BUILTIN},{"mask-composite:", SYNTAX_BUILTIN},{"mask-image:", SYNTAX_BUILTIN},{"mask-mode:", SYNTAX_BUILTIN},{"mask-origin:", SYNTAX_BUILTIN},{"mask-position:", SYNTAX_BUILTIN},{"mask-repeat:", SYNTAX_BUILTIN},{"mask-size:", SYNTAX_BUILTIN},{"mask-type:", SYNTAX_BUILTIN},{"mask:", SYNTAX_BUILTIN},{"masonry-auto-flow:", SYNTAX_BUILTIN},{"match-parent", SYNTAX_CONSTANT},{"match-source", SYNTAX_CONSTANT},{"math-depth:", SYNTAX_BUILTIN},{"math-shift:", SYNTAX_BUILTIN},{"math-style:", SYNTAX_BUILTIN},{"mathematical", SYNTAX_CONSTANT},{"matrix", SYNTAX_BUILTIN},{"matrix3d", SYNTAX_BUILTIN},{"max", SYNTAX_BUILTIN},{"max-block-size:", SYNTAX_BUILTIN},{"max-content", SYNTAX_CONSTANT},{"max-height:", SYNTAX_BUILTIN},{"max-inline-size:", SYNTAX_BUILTIN},{"max-lines:", SYNTAX_BUILTIN},{"max-width:", SYNTAX_BUILTIN},{"max-zoom:", SYNTAX_BUILTIN},{"medium", SYNTAX_CONSTANT},{"mediumaquamarine", SYNTAX_CONSTANT},{"mediumblue", SYNTAX_CONSTANT},{"mediumorchid", SYNTAX_CONSTANT},{"mediumpurple", SYNTAX_CONSTANT},{"mediumseagreen", SYNTAX_CONSTANT},{"mediumslateblue", SYNTAX_CONSTANT},{"mediumspringgreen", SYNTAX_CONSTANT},{"mediumturquoise", SYNTAX_CONSTANT},{"mediumvioletred", SYNTAX_CONSTANT},{"menu", SYNTAX_KEYWORD},{"menuitem", SYNTAX_KEYWORD},{"message-box", SYNTAX_CONSTANT},{"meta", SYNTAX_KEYWORD},{"meter", SYNTAX_KEYWORD},{"middle", SYNTAX_CONSTANT},{"midnightblue", SYNTAX_CONSTANT},{"min", SYNTAX_BUILTIN},{"min-block-size:", SYNTAX_BUILTIN},{"min-content", SYNTAX_CONSTANT},{"min-height:", SYNTAX_BUILTIN},{"min-inline-size:", SYNTAX_BUILTIN},{"min-width:", SYNTAX_BUILTIN},{"min-zoom:", SYNTAX_BUILTIN},{"minmax", SYNTAX_BUILTIN},{"mintcream", SYNTAX_CONSTANT},{"mistyrose", SYNTAX_CONSTANT},{"miter", SYNTAX_CONSTANT},{"mix-blend-mode:", SYNTAX_BUILTIN},{"mixed", SYNTAX_CONSTANT},{"moccasin", SYNTAX_CONSTANT},{"mod", SYNTAX_BUILTIN},{"move", SYNTAX_CONSTANT},{"multiply", SYNTAX_CONSTANT}};
+static const Keyword syntax_keywords_css_n[34] = {{"n-resize", SYNTAX_CONSTANT},{"narrower", SYNTAX_CONSTANT},{"nav", SYNTAX_KEYWORD},{"navajowhite", SYNTAX_CONSTANT},{"navy", SYNTAX_CONSTANT},{"ne-resize", SYNTAX_CONSTANT},{"nearest-neighbor", SYNTAX_CONSTANT},{"negative:", SYNTAX_BUILTIN},{"nesw-resize", SYNTAX_CONSTANT},{"newspaper", SYNTAX_CONSTANT},{"no-change", SYNTAX_CONSTANT},{"no-clip", SYNTAX_CONSTANT},{"no-close-quote", SYNTAX_CONSTANT},{"no-common-ligatures", SYNTAX_CONSTANT},{"no-contextual", SYNTAX_CONSTANT},{"no-discretionary-ligatures", SYNTAX_CONSTANT},{"no-drop", SYNTAX_CONSTANT},{"no-historical-ligatures", SYNTAX_CONSTANT},{"no-open-quote", SYNTAX_CONSTANT},{"no-repeat", SYNTAX_CONSTANT},{"nobr", SYNTAX_KEYWORD},{"noembed", SYNTAX_KEYWORD},{"noframes", SYNTAX_KEYWORD},{"none", SYNTAX_CONSTANT},{"nonzero", SYNTAX_CONSTANT},{"normal", SYNTAX_CONSTANT},{"noscript", SYNTAX_KEYWORD},{"not-allowed", SYNTAX_CONSTANT},{"nowrap", SYNTAX_CONSTANT},{"ns-resize", SYNTAX_CONSTANT},{"numbers", SYNTAX_CONSTANT},{"numeric", SYNTAX_CONSTANT},{"nw-resize", SYNTAX_CONSTANT},{"nwse-resize", SYNTAX_CONSTANT}};
+static const Keyword syntax_keywords_css_o[56] = {{"object", SYNTAX_KEYWORD},{"object-fit:", SYNTAX_BUILTIN},{"object-position:", SYNTAX_BUILTIN},{"oblique", SYNTAX_CONSTANT},{"offset-anchor:", SYNTAX_BUILTIN},{"offset-distance:", SYNTAX_BUILTIN},{"offset-path:", SYNTAX_BUILTIN},{"offset-position:", SYNTAX_BUILTIN},{"offset-rotate:", SYNTAX_BUILTIN},{"offset:", SYNTAX_BUILTIN},{"ol", SYNTAX_KEYWORD},{"oldlace", SYNTAX_CONSTANT},{"oldstyle-nums", SYNTAX_CONSTANT},{"olive", SYNTAX_CONSTANT},{"olivedrab", SYNTAX_CONSTANT},{"opacity", SYNTAX_BUILTIN},{"open", SYNTAX_CONSTANT},{"open-quote", SYNTAX_CONSTANT},{"optgroup", SYNTAX_KEYWORD},{"optimizeLegibility", SYNTAX_CONSTANT},{"optimizeQuality", SYNTAX_CONSTANT},{"optimizeSpeed", SYNTAX_CONSTANT},{"option", SYNTAX_KEYWORD},{"optional", SYNTAX_CONSTANT},{"orange", SYNTAX_CONSTANT},{"orangered", SYNTAX_CONSTANT},{"orchid", SYNTAX_CONSTANT},{"order:", SYNTAX_BUILTIN},{"ordinal", SYNTAX_CONSTANT},{"orientation:", SYNTAX_BUILTIN},{"ornaments", SYNTAX_BUILTIN},{"orphans:", SYNTAX_BUILTIN},{"outline-color:", SYNTAX_BUILTIN},{"outline-offset:", SYNTAX_BUILTIN},{"outline-style:", SYNTAX_BUILTIN},{"outline-width:", SYNTAX_BUILTIN},{"outline:", SYNTAX_BUILTIN},{"output", SYNTAX_KEYWORD},{"outset", SYNTAX_CONSTANT},{"outside", SYNTAX_CONSTANT},{"over", SYNTAX_CONSTANT},{"overflow-anchor:", SYNTAX_BUILTIN},{"overflow-block:", SYNTAX_BUILTIN},{"overflow-clip-margin:", SYNTAX_BUILTIN},{"overflow-inline:", SYNTAX_BUILTIN},{"overflow-wrap:", SYNTAX_BUILTIN},{"overflow-x:", SYNTAX_BUILTIN},{"overflow-y:", SYNTAX_BUILTIN},{"overflow:", SYNTAX_BUILTIN},{"overlay", SYNTAX_CONSTANT},{"overline", SYNTAX_CONSTANT},{"overscroll-behavior-block:", SYNTAX_BUILTIN},{"overscroll-behavior-inline:", SYNTAX_BUILTIN},{"overscroll-behavior-x:", SYNTAX_BUILTIN},{"overscroll-behavior-y:", SYNTAX_BUILTIN},{"overscroll-behavior:", SYNTAX_BUILTIN}};
+static const Keyword syntax_keywords_css_p[67] = {{"p", SYNTAX_KEYWORD},{"pad:", SYNTAX_BUILTIN},{"padding-block-end:", SYNTAX_BUILTIN},{"padding-block-start:", SYNTAX_BUILTIN},{"padding-block:", SYNTAX_BUILTIN},{"padding-bottom:", SYNTAX_BUILTIN},{"padding-inline-end:", SYNTAX_BUILTIN},{"padding-inline-start:", SYNTAX_BUILTIN},{"padding-inline:", SYNTAX_BUILTIN},{"padding-left:", SYNTAX_BUILTIN},{"padding-right:", SYNTAX_BUILTIN},{"padding-top:", SYNTAX_BUILTIN},{"padding:", SYNTAX_BUILTIN},{"page", SYNTAX_CONSTANT},{"page-break-after:", SYNTAX_BUILTIN},{"page-break-before:", SYNTAX_BUILTIN},{"page-break-inside:", SYNTAX_BUILTIN},{"paint", SYNTAX_BUILTIN},{"paint-order:", SYNTAX_BUILTIN},{"painted", SYNTAX_CONSTANT},{"palegoldenrod", SYNTAX_CONSTANT},{"palegreen", SYNTAX_CONSTANT},{"paleturquoise", SYNTAX_CONSTANT},{"palevioletred", SYNTAX_CONSTANT},{"pan-down", SYNTAX_CONSTANT},{"pan-left", SYNTAX_CONSTANT},{"pan-right", SYNTAX_CONSTANT},{"pan-up", SYNTAX_CONSTANT},{"pan-x", SYNTAX_CONSTANT},{"pan-y", SYNTAX_CONSTANT},{"papayawhip", SYNTAX_CONSTANT},{"param", SYNTAX_KEYWORD},{"path", SYNTAX_BUILTIN},{"paused", SYNTAX_CONSTANT},{"peachpuff", SYNTAX_CONSTANT},{"perspective", SYNTAX_BUILTIN},{"perspective-origin:", SYNTAX_BUILTIN},{"peru", SYNTAX_CONSTANT},{"petite-caps", SYNTAX_CONSTANT},{"picture", SYNTAX_KEYWORD},{"pink", SYNTAX_CONSTANT},{"pixelated", SYNTAX_CONSTANT},{"place-content:", SYNTAX_BUILTIN},{"place-items:", SYNTAX_BUILTIN},{"place-self:", SYNTAX_BUILTIN},{"plaintext", SYNTAX_CONSTANT},{"plum", SYNTAX_CONSTANT},{"pointer", SYNTAX_CONSTANT},{"pointer-events:", SYNTAX_BUILTIN},{"polygon", SYNTAX_BUILTIN},{"portal", SYNTAX_KEYWORD},{"portrait", SYNTAX_CONSTANT},{"position:", SYNTAX_BUILTIN},{"pow", SYNTAX_BUILTIN},{"powderblue", SYNTAX_CONSTANT},{"pre", SYNTAX_KEYWORD},{"pre-line", SYNTAX_CONSTANT},{"pre-wrap", SYNTAX_CONSTANT},{"prefix:", SYNTAX_BUILTIN},{"preserve-3d", SYNTAX_CONSTANT},{"print-color-adjust:", SYNTAX_BUILTIN},{"progress", SYNTAX_KEYWORD},{"progressive", SYNTAX_CONSTANT},{"proportional-nums", SYNTAX_CONSTANT},{"proportional-width", SYNTAX_CONSTANT},{"proximity", SYNTAX_CONSTANT},{"purple", SYNTAX_CONSTANT}};
+static const Keyword syntax_keywords_css_q[2] = {{"q", SYNTAX_KEYWORD},{"quotes:", SYNTAX_BUILTIN}};
+static const Keyword syntax_keywords_css_r[54] = {{"radial", SYNTAX_CONSTANT},{"radial-gradient", SYNTAX_BUILTIN},{"range:", SYNTAX_BUILTIN},{"rb", SYNTAX_KEYWORD},{"rect", SYNTAX_BUILTIN},{"recto", SYNTAX_CONSTANT},{"red", SYNTAX_CONSTANT},{"region", SYNTAX_CONSTANT},{"relative", SYNTAX_CONSTANT},{"rem", SYNTAX_BUILTIN},{"remove", SYNTAX_CONSTANT},{"repeat", SYNTAX_BUILTIN},{"repeating-conic-gradient", SYNTAX_BUILTIN},{"repeating-linear-gradient", SYNTAX_BUILTIN},{"repeating-radial-gradient", SYNTAX_BUILTIN},{"reset-size", SYNTAX_CONSTANT},{"resize:", SYNTAX_BUILTIN},{"reverse", SYNTAX_CONSTANT},{"reversed", SYNTAX_BUILTIN},{"revert", SYNTAX_CONSTANT},{"rgb", SYNTAX_BUILTIN},{"rgba", SYNTAX_BUILTIN},{"ridge", SYNTAX_CONSTANT},{"right", SYNTAX_CONSTANT},{"right:", SYNTAX_BUILTIN},{"rl", SYNTAX_CONSTANT},{"rl-tb", SYNTAX_CONSTANT},{"rosybrown", SYNTAX_CONSTANT},{"rotate", SYNTAX_BUILTIN},{"rotate3d", SYNTAX_BUILTIN},{"rotateX", SYNTAX_BUILTIN},{"rotateY", SYNTAX_BUILTIN},{"rotateZ", SYNTAX_BUILTIN},{"round", SYNTAX_CONSTANT},{"row", SYNTAX_CONSTANT},{"row-gap:", SYNTAX_BUILTIN},{"row-resize", SYNTAX_CONSTANT},{"row-reverse", SYNTAX_CONSTANT},{"row-severse", SYNTAX_CONSTANT},{"royalblue", SYNTAX_CONSTANT},{"rp", SYNTAX_KEYWORD},{"rt", SYNTAX_KEYWORD},{"rtc", SYNTAX_KEYWORD},{"rtl", SYNTAX_CONSTANT},{"ruby", SYNTAX_KEYWORD},{"ruby-align:", SYNTAX_BUILTIN},{"ruby-base", SYNTAX_CONSTANT},{"ruby-base-container", SYNTAX_CONSTANT},{"ruby-merge:", SYNTAX_BUILTIN},{"ruby-position:", SYNTAX_BUILTIN},{"ruby-text", SYNTAX_CONSTANT},{"ruby-text-container", SYNTAX_CONSTANT},{"run-in", SYNTAX_CONSTANT},{"running", SYNTAX_CONSTANT}};
+static const Keyword syntax_keywords_css_s[144] = {{"s", SYNTAX_KEYWORD},{"s-resize", SYNTAX_CONSTANT},{"sRGB", SYNTAX_CONSTANT},{"saddlebrown", SYNTAX_CONSTANT},{"salmon", SYNTAX_CONSTANT},{"samp", SYNTAX_KEYWORD},{"sandybrown", SYNTAX_CONSTANT},{"saturate", SYNTAX_BUILTIN},{"saturation", SYNTAX_CONSTANT},{"scale", SYNTAX_BUILTIN},{"scale-down", SYNTAX_CONSTANT},{"scale3d", SYNTAX_BUILTIN},{"scaleX", SYNTAX_BUILTIN},{"scaleY", SYNTAX_BUILTIN},{"scaleZ", SYNTAX_BUILTIN},{"screen", SYNTAX_CONSTANT},{"script", SYNTAX_KEYWORD},{"scroll", SYNTAX_BUILTIN},{"scroll-behavior:", SYNTAX_BUILTIN},{"scroll-margin-block-end:", SYNTAX_BUILTIN},{"scroll-margin-block-start:", SYNTAX_BUILTIN},{"scroll-margin-block:", SYNTAX_BUILTIN},{"scroll-margin-bottom:", SYNTAX_BUILTIN},{"scroll-margin-inline-end:", SYNTAX_BUILTIN},{"scroll-margin-inline-start:", SYNTAX_BUILTIN},{"scroll-margin-inline:", SYNTAX_BUILTIN},{"scroll-margin-left:", SYNTAX_BUILTIN},{"scroll-margin-right:", SYNTAX_BUILTIN},{"scroll-margin-top:", SYNTAX_BUILTIN},{"scroll-margin:", SYNTAX_BUILTIN},{"scroll-padding-block-end:", SYNTAX_BUILTIN},{"scroll-padding-block-start:", SYNTAX_BUILTIN},{"scroll-padding-block:", SYNTAX_BUILTIN},{"scroll-padding-bottom:", SYNTAX_BUILTIN},{"scroll-padding-inline-end:", SYNTAX_BUILTIN},{"scroll-padding-inline-start:", SYNTAX_BUILTIN},{"scroll-padding-inline:", SYNTAX_BUILTIN},{"scroll-padding-left:", SYNTAX_BUILTIN},{"scroll-padding-right:", SYNTAX_BUILTIN},{"scroll-padding-top:", SYNTAX_BUILTIN},{"scroll-padding:", SYNTAX_BUILTIN},{"scroll-snap-align:", SYNTAX_BUILTIN},{"scroll-snap-stop:", SYNTAX_BUILTIN},{"scroll-snap-type:", SYNTAX_BUILTIN},{"scroll-timeline-axis:", SYNTAX_BUILTIN},{"scroll-timeline-name:", SYNTAX_BUILTIN},{"scroll-timeline:", SYNTAX_BUILTIN},{"scrollbar-color:", SYNTAX_BUILTIN},{"scrollbar-gutter:", SYNTAX_BUILTIN},{"scrollbar-width:", SYNTAX_BUILTIN},{"se-resize", SYNTAX_CONSTANT},{"seagreen", SYNTAX_CONSTANT},{"seashell", SYNTAX_CONSTANT},{"section", SYNTAX_KEYWORD},{"select", SYNTAX_KEYWORD},{"selector", SYNTAX_BUILTIN},{"semi-condensed", SYNTAX_CONSTANT},{"semi-expanded", SYNTAX_CONSTANT},{"separate", SYNTAX_CONSTANT},{"sepia", SYNTAX_BUILTIN},{"sesame", SYNTAX_CONSTANT},{"shadow", SYNTAX_KEYWORD},{"shape-image-threshold:", SYNTAX_BUILTIN},{"shape-margin:", SYNTAX_BUILTIN},{"shape-outside:", SYNTAX_BUILTIN},{"show", SYNTAX_CONSTANT},{"sideways", SYNTAX_CONSTANT},{"sideways-left", SYNTAX_CONSTANT},{"sideways-lr", SYNTAX_CONSTANT},{"sideways-right", SYNTAX_CONSTANT},{"sideways-rl", SYNTAX_CONSTANT},{"sienna", SYNTAX_CONSTANT},{"sign", SYNTAX_BUILTIN},{"silver", SYNTAX_CONSTANT},{"simplified", SYNTAX_CONSTANT},{"sin", SYNTAX_BUILTIN},{"size-adjust:", SYNTAX_BUILTIN},{"size:", SYNTAX_BUILTIN},{"skew", SYNTAX_BUILTIN},{"skewX", SYNTAX_BUILTIN},{"skewY", SYNTAX_BUILTIN},{"skyblue", SYNTAX_CONSTANT},{"slashed-zero", SYNTAX_CONSTANT},{"slateblue", SYNTAX_CONSTANT},{"slategray", SYNTAX_CONSTANT},{"slategrey", SYNTAX_CONSTANT},{"slice", SYNTAX_CONSTANT},{"slot", SYNTAX_KEYWORD},{"small", SYNTAX_CONSTANT},{"small-caps", SYNTAX_CONSTANT},{"small-caption", SYNTAX_CONSTANT},{"smaller", SYNTAX_CONSTANT},{"smooth", SYNTAX_CONSTANT},{"snow", SYNTAX_CONSTANT},{"soft-light", SYNTAX_CONSTANT},{"solid", SYNTAX_CONSTANT},{"source", SYNTAX_KEYWORD},{"space", SYNTAX_CONSTANT},{"space-around", SYNTAX_CONSTANT},{"space-between", SYNTAX_CONSTANT},{"space-evenly", SYNTAX_CONSTANT},{"spacer", SYNTAX_KEYWORD},{"span", SYNTAX_KEYWORD},{"speak-as:", SYNTAX_BUILTIN},{"spell-out", SYNTAX_CONSTANT},{"springgreen", SYNTAX_CONSTANT},{"sqrt", SYNTAX_BUILTIN},{"square", SYNTAX_CONSTANT},{"src:", SYNTAX_BUILTIN},{"stacked-fractions", SYNTAX_CONSTANT},{"start", SYNTAX_CONSTANT},{"static", SYNTAX_CONSTANT},{"status-bar", SYNTAX_CONSTANT},{"steelblue", SYNTAX_CONSTANT},{"step-end", SYNTAX_CONSTANT},{"step-start", SYNTAX_CONSTANT},{"steps", SYNTAX_BUILTIN},{"sticky", SYNTAX_CONSTANT},{"stretch", SYNTAX_CONSTANT},{"strict", SYNTAX_CONSTANT},{"strike", SYNTAX_KEYWORD},{"stroke", SYNTAX_CONSTANT},{"stroke-box", SYNTAX_CONSTANT},{"strong", SYNTAX_KEYWORD},{"style", SYNTAX_CONSTANT},{"styleset", SYNTAX_BUILTIN},{"stylistic", SYNTAX_BUILTIN},{"sub", SYNTAX_KEYWORD},{"subgrid", SYNTAX_CONSTANT},{"subpixel-antialiased", SYNTAX_CONSTANT},{"subtract", SYNTAX_CONSTANT},{"suffix:", SYNTAX_BUILTIN},{"summary", SYNTAX_KEYWORD},{"sup", SYNTAX_KEYWORD},{"super", SYNTAX_CONSTANT},{"supports", SYNTAX_BUILTIN},{"svg", SYNTAX_KEYWORD},{"sw-resize", SYNTAX_CONSTANT},{"swap", SYNTAX_CONSTANT},{"swash", SYNTAX_BUILTIN},{"symbolic", SYNTAX_CONSTANT},{"symbols", SYNTAX_BUILTIN},{"syntax:", SYNTAX_BUILTIN},{"system:", SYNTAX_BUILTIN}};
+static const Keyword syntax_keywords_css_t[89] = {{"tab-size:", SYNTAX_BUILTIN},{"table", SYNTAX_KEYWORD},{"table-caption", SYNTAX_CONSTANT},{"table-cell", SYNTAX_CONSTANT},{"table-column", SYNTAX_CONSTANT},{"table-column-group", SYNTAX_CONSTANT},{"table-footer-group", SYNTAX_CONSTANT},{"table-header-group", SYNTAX_CONSTANT},{"table-layout:", SYNTAX_BUILTIN},{"table-row", SYNTAX_CONSTANT},{"table-row-group", SYNTAX_CONSTANT},{"tabular-nums", SYNTAX_CONSTANT},{"tan", SYNTAX_BUILTIN},{"target-counter", SYNTAX_BUILTIN},{"target-counters", SYNTAX_BUILTIN},{"target-text", SYNTAX_BUILTIN},{"tb", SYNTAX_CONSTANT},{"tb-rl", SYNTAX_CONSTANT},{"tbody", SYNTAX_KEYWORD},{"td", SYNTAX_KEYWORD},{"teal", SYNTAX_CONSTANT},{"template", SYNTAX_KEYWORD},{"text", SYNTAX_CONSTANT},{"text-after-edge", SYNTAX_CONSTANT},{"text-align-last:", SYNTAX_BUILTIN},{"text-align:", SYNTAX_BUILTIN},{"text-before-edge", SYNTAX_CONSTANT},{"text-bottom", SYNTAX_CONSTANT},{"text-combine-upright:", SYNTAX_BUILTIN},{"text-decoration-color:", SYNTAX_BUILTIN},{"text-decoration-line:", SYNTAX_BUILTIN},{"text-decoration-skip-ink:", SYNTAX_BUILTIN},{"text-decoration-skip:", SYNTAX_BUILTIN},{"text-decoration-style:", SYNTAX_BUILTIN},{"text-decoration-thickness:", SYNTAX_BUILTIN},{"text-decoration:", SYNTAX_BUILTIN},{"text-emphasis-color:", SYNTAX_BUILTIN},{"text-emphasis-position:", SYNTAX_BUILTIN},{"text-emphasis-style:", SYNTAX_BUILTIN},{"text-emphasis:", SYNTAX_BUILTIN},{"text-indent:", SYNTAX_BUILTIN},{"text-justify:", SYNTAX_BUILTIN},{"text-orientation:", SYNTAX_BUILTIN},{"text-overflow:", SYNTAX_BUILTIN},{"text-rendering:", SYNTAX_BUILTIN},{"text-shadow:", SYNTAX_BUILTIN},{"text-size-adjust:", SYNTAX_BUILTIN},{"text-top", SYNTAX_CONSTANT},{"text-transform:", SYNTAX_BUILTIN},{"text-underline-offset:", SYNTAX_BUILTIN},{"text-underline-position:", SYNTAX_BUILTIN},{"textarea", SYNTAX_KEYWORD},{"tfoot", SYNTAX_KEYWORD},{"th", SYNTAX_KEYWORD},{"thead", SYNTAX_KEYWORD},{"thick", SYNTAX_CONSTANT},{"thin", SYNTAX_CONSTANT},{"thistle", SYNTAX_CONSTANT},{"time", SYNTAX_KEYWORD},{"title", SYNTAX_KEYWORD},{"titling-caps", SYNTAX_CONSTANT},{"tomato", SYNTAX_CONSTANT},{"top", SYNTAX_CONSTANT},{"top-outside", SYNTAX_CONSTANT},{"top:", SYNTAX_BUILTIN},{"touch", SYNTAX_CONSTANT},{"touch-action:", SYNTAX_BUILTIN},{"tr", SYNTAX_KEYWORD},{"track", SYNTAX_KEYWORD},{"traditional", SYNTAX_CONSTANT},{"transform-box:", SYNTAX_BUILTIN},{"transform-origin:", SYNTAX_BUILTIN},{"transform-style:", SYNTAX_BUILTIN},{"transform:", SYNTAX_BUILTIN},{"transition-delay:", SYNTAX_BUILTIN},{"transition-duration:", SYNTAX_BUILTIN},{"transition-property:", SYNTAX_BUILTIN},{"transition-timing-function:", SYNTAX_BUILTIN},{"transition:", SYNTAX_BUILTIN},{"translate", SYNTAX_BUILTIN},{"translate3d", SYNTAX_BUILTIN},{"translateX", SYNTAX_BUILTIN},{"translateY", SYNTAX_BUILTIN},{"translateZ", SYNTAX_BUILTIN},{"transparent", SYNTAX_CONSTANT},{"triangle", SYNTAX_CONSTANT},{"tt", SYNTAX_KEYWORD},{"turquoise", SYNTAX_CONSTANT},{"type", SYNTAX_BUILTIN}};
+static const Keyword syntax_keywords_css_u[18] = {{"u", SYNTAX_KEYWORD},{"ul", SYNTAX_KEYWORD},{"ultra-condensed", SYNTAX_CONSTANT},{"ultra-expanded", SYNTAX_CONSTANT},{"under", SYNTAX_CONSTANT},{"underline", SYNTAX_CONSTANT},{"unicase", SYNTAX_CONSTANT},{"unicode-bidi:", SYNTAX_BUILTIN},{"unicode-range:", SYNTAX_BUILTIN},{"unset", SYNTAX_CONSTANT},{"upleft", SYNTAX_CONSTANT},{"uppercase", SYNTAX_CONSTANT},{"upright", SYNTAX_CONSTANT},{"url", SYNTAX_BUILTIN},{"use-glyph-orientation", SYNTAX_CONSTANT},{"use-script", SYNTAX_CONSTANT},{"user-select:", SYNTAX_BUILTIN},{"user-zoom:", SYNTAX_BUILTIN}};
+static const Keyword syntax_keywords_css_v[17] = {{"var", SYNTAX_BUILTIN},{"verso", SYNTAX_CONSTANT},{"vertical", SYNTAX_CONSTANT},{"vertical-align:", SYNTAX_BUILTIN},{"vertical-ideographic", SYNTAX_CONSTANT},{"vertical-lr", SYNTAX_CONSTANT},{"vertical-rl", SYNTAX_CONSTANT},{"vertical-text", SYNTAX_CONSTANT},{"video", SYNTAX_KEYWORD},{"view-box", SYNTAX_CONSTANT},{"viewport-fit:", SYNTAX_BUILTIN},{"violet", SYNTAX_CONSTANT},{"visibility:", SYNTAX_BUILTIN},{"visible", SYNTAX_CONSTANT},{"visibleFill", SYNTAX_CONSTANT},{"visiblePainted", SYNTAX_CONSTANT},{"visibleStroke", SYNTAX_CONSTANT}};
+static const Keyword syntax_keywords_css_w[21] = {{"w-resize", SYNTAX_CONSTANT},{"wait", SYNTAX_CONSTANT},{"wavy", SYNTAX_CONSTANT},{"wbr", SYNTAX_KEYWORD},{"weight", SYNTAX_CONSTANT},{"wheat", SYNTAX_CONSTANT},{"white", SYNTAX_CONSTANT},{"white-space:", SYNTAX_BUILTIN},{"whitesmoke", SYNTAX_CONSTANT},{"whitespace", SYNTAX_CONSTANT},{"wider", SYNTAX_CONSTANT},{"widows:", SYNTAX_BUILTIN},{"width:", SYNTAX_BUILTIN},{"will-change:", SYNTAX_BUILTIN},{"word-break:", SYNTAX_BUILTIN},{"word-spacing:", SYNTAX_BUILTIN},{"word-wrap:", SYNTAX_BUILTIN},{"words", SYNTAX_CONSTANT},{"wrap", SYNTAX_CONSTANT},{"wrap-reverse", SYNTAX_CONSTANT},{"writing-mode:", SYNTAX_BUILTIN}};
+static const Keyword syntax_keywords_css_x[6] = {{"x", SYNTAX_CONSTANT},{"x-large", SYNTAX_CONSTANT},{"x-small", SYNTAX_CONSTANT},{"xmp", SYNTAX_KEYWORD},{"xx-large", SYNTAX_CONSTANT},{"xx-small", SYNTAX_CONSTANT}};
static const Keyword syntax_keywords_css_y[3] = {{"y", SYNTAX_CONSTANT},{"yellow", SYNTAX_CONSTANT},{"yellowgreen", SYNTAX_CONSTANT}};
static const Keyword syntax_keywords_css_z[5] = {{"z-index:", SYNTAX_BUILTIN},{"zero", SYNTAX_CONSTANT},{"zoom-in", SYNTAX_CONSTANT},{"zoom-out", SYNTAX_CONSTANT},{"zoom:", SYNTAX_BUILTIN}};
static const KeywordList syntax_all_keywords_css[128] = {
- ['-'] = {syntax_keywords_css_x2d, arr_count(syntax_keywords_css_x2d)}, ['@'] = {syntax_keywords_css_x40, arr_count(syntax_keywords_css_x40)}, ['a'] = {syntax_keywords_css_a, arr_count(syntax_keywords_css_a)}, ['b'] = {syntax_keywords_css_b, arr_count(syntax_keywords_css_b)}, ['c'] = {syntax_keywords_css_c, arr_count(syntax_keywords_css_c)}, ['d'] = {syntax_keywords_css_d, arr_count(syntax_keywords_css_d)}, ['e'] = {syntax_keywords_css_e, arr_count(syntax_keywords_css_e)}, ['f'] = {syntax_keywords_css_f, arr_count(syntax_keywords_css_f)}, ['g'] = {syntax_keywords_css_g, arr_count(syntax_keywords_css_g)}, ['h'] = {syntax_keywords_css_h, arr_count(syntax_keywords_css_h)}, ['i'] = {syntax_keywords_css_i, arr_count(syntax_keywords_css_i)}, ['j'] = {syntax_keywords_css_j, arr_count(syntax_keywords_css_j)}, ['k'] = {syntax_keywords_css_k, arr_count(syntax_keywords_css_k)}, ['l'] = {syntax_keywords_css_l, arr_count(syntax_keywords_css_l)}, ['m'] = {syntax_keywords_css_m, arr_count(syntax_keywords_css_m)}, ['n'] = {syntax_keywords_css_n, arr_count(syntax_keywords_css_n)}, ['o'] = {syntax_keywords_css_o, arr_count(syntax_keywords_css_o)}, ['p'] = {syntax_keywords_css_p, arr_count(syntax_keywords_css_p)}, ['q'] = {syntax_keywords_css_q, arr_count(syntax_keywords_css_q)}, ['r'] = {syntax_keywords_css_r, arr_count(syntax_keywords_css_r)}, ['s'] = {syntax_keywords_css_s, arr_count(syntax_keywords_css_s)}, ['t'] = {syntax_keywords_css_t, arr_count(syntax_keywords_css_t)}, ['u'] = {syntax_keywords_css_u, arr_count(syntax_keywords_css_u)}, ['v'] = {syntax_keywords_css_v, arr_count(syntax_keywords_css_v)}, ['w'] = {syntax_keywords_css_w, arr_count(syntax_keywords_css_w)}, ['x'] = {syntax_keywords_css_x, arr_count(syntax_keywords_css_x)}, ['y'] = {syntax_keywords_css_y, arr_count(syntax_keywords_css_y)}, ['z'] = {syntax_keywords_css_z, arr_count(syntax_keywords_css_z)}
+ ['!'] = {syntax_keywords_css_x21, arr_count(syntax_keywords_css_x21)}, ['-'] = {syntax_keywords_css_x2d, arr_count(syntax_keywords_css_x2d)}, ['@'] = {syntax_keywords_css_x40, arr_count(syntax_keywords_css_x40)}, ['a'] = {syntax_keywords_css_a, arr_count(syntax_keywords_css_a)}, ['b'] = {syntax_keywords_css_b, arr_count(syntax_keywords_css_b)}, ['c'] = {syntax_keywords_css_c, arr_count(syntax_keywords_css_c)}, ['d'] = {syntax_keywords_css_d, arr_count(syntax_keywords_css_d)}, ['e'] = {syntax_keywords_css_e, arr_count(syntax_keywords_css_e)}, ['f'] = {syntax_keywords_css_f, arr_count(syntax_keywords_css_f)}, ['g'] = {syntax_keywords_css_g, arr_count(syntax_keywords_css_g)}, ['h'] = {syntax_keywords_css_h, arr_count(syntax_keywords_css_h)}, ['i'] = {syntax_keywords_css_i, arr_count(syntax_keywords_css_i)}, ['j'] = {syntax_keywords_css_j, arr_count(syntax_keywords_css_j)}, ['k'] = {syntax_keywords_css_k, arr_count(syntax_keywords_css_k)}, ['l'] = {syntax_keywords_css_l, arr_count(syntax_keywords_css_l)}, ['m'] = {syntax_keywords_css_m, arr_count(syntax_keywords_css_m)}, ['n'] = {syntax_keywords_css_n, arr_count(syntax_keywords_css_n)}, ['o'] = {syntax_keywords_css_o, arr_count(syntax_keywords_css_o)}, ['p'] = {syntax_keywords_css_p, arr_count(syntax_keywords_css_p)}, ['q'] = {syntax_keywords_css_q, arr_count(syntax_keywords_css_q)}, ['r'] = {syntax_keywords_css_r, arr_count(syntax_keywords_css_r)}, ['s'] = {syntax_keywords_css_s, arr_count(syntax_keywords_css_s)}, ['t'] = {syntax_keywords_css_t, arr_count(syntax_keywords_css_t)}, ['u'] = {syntax_keywords_css_u, arr_count(syntax_keywords_css_u)}, ['v'] = {syntax_keywords_css_v, arr_count(syntax_keywords_css_v)}, ['w'] = {syntax_keywords_css_w, arr_count(syntax_keywords_css_w)}, ['x'] = {syntax_keywords_css_x, arr_count(syntax_keywords_css_x)}, ['y'] = {syntax_keywords_css_y, arr_count(syntax_keywords_css_y)}, ['z'] = {syntax_keywords_css_z, arr_count(syntax_keywords_css_z)}
};
diff --git a/keywords.py b/keywords.py
index b9fbad0..e8c8451 100755
--- a/keywords.py
+++ b/keywords.py
@@ -13,7 +13,12 @@ types = [
exec('\n'.join(['{} = {}'.format(type, i) for (i, type) in enumerate(types)]))
def process_keywords(keywords):
- assert len(set(keywords)) == len(keywords)
+ keyword_types = {}
+ for (type,kwd) in keywords:
+ if kwd in keyword_types:
+ print('repeated keyword:', kwd)
+ keyword_types[kwd] = type
+
keywords_by_c = {}
for (type,kwd) in keywords:
c = kwd[0]
@@ -413,10 +418,7 @@ builtins_go = [
]
builtins_css = [
- '-webkit-line-clamp:', '@annotation:', '@bottom-center:', '@character-variant:', '@charset:', '@counter-style:',
- '@font-face:', '@font-feature-values:', '@historical-forms:', '@import:', '@keyframes:', '@layer:', '@left-bottom:',
- '@media:', '@namespace:', '@ornaments:', '@page:', '@property:', '@right-bottom:', '@scroll-timeline:', '@styleset:',
- '@stylistic:', '@supports:', '@swash:', '@top-center:', '@viewport:', 'abs', 'accent-color:', 'acos',
+ '-webkit-line-clamp:', 'abs', 'accent-color:', 'acos',
'additive-symbols:', 'align-content:', 'align-items:', 'align-self:', 'align-tracks:', 'all:', 'animation:',
'animation-composition:', 'animation-delay:', 'animation-direction:', 'animation-duration:', 'animation-fill-mode:',
'animation-iteration-count:', 'animation-name:', 'animation-play-state:', 'animation-timeline:',
@@ -501,7 +503,8 @@ builtins_css = [
'transition-delay:', 'transition-duration:', 'transition-property:', 'transition-timing-function:', 'translate',
'translate3d', 'translateX', 'translateY', 'translateZ', 'type', 'unicode-bidi:', 'unicode-range:', 'url',
'user-select:', 'user-zoom:', 'var', 'vertical-align:', 'viewport-fit:', 'visibility:', 'white-space:', 'widows:',
- 'width:', 'will-change:', 'word-break:', 'word-spacing:', 'word-wrap:', 'writing-mode:', 'z-index:', 'zoom:'
+ 'width:', 'will-change:', 'word-break:', 'word-spacing:', 'word-wrap:', 'writing-mode:', 'z-index:', 'zoom:',
+ 'left:','right:','top:','bottom:',
]
constants_css = [
@@ -525,16 +528,16 @@ constants_css = [
'above', 'absolute', 'active', 'add', 'additive', 'after-edge', 'alias', 'all-petite-caps', 'all-scroll',
'all-small-caps', 'alpha', 'alphabetic', 'alternate', 'alternate-reverse', 'always', 'antialiased', 'auto', 'auto-pos',
'available', 'avoid', 'avoid-column', 'avoid-page', 'avoid-region', 'backwards', 'balance', 'baseline', 'before-edge',
- 'below', 'bevel', 'bidi-override', 'blink', 'block', 'block-axis', 'block-start', 'block-end', 'bold', 'bolder',
+ 'below', 'bevel', 'bidi-override', 'block', 'block-axis', 'block-start', 'block-end', 'bold', 'bolder',
'border-box', 'both', 'bottom', 'bottom-outside', 'break-all', 'break-word', 'bullets', 'butt', 'capitalize',
- 'caption', 'cell', 'center', 'central', 'char', 'clone', 'close-quote', 'closest-corner',
+ 'cell', 'center', 'central', 'char', 'clone', 'close-quote', 'closest-corner',
'closest-side', 'col-resize', 'collapse', 'color-burn', 'color-dodge', 'column', 'column-reverse',
'common-ligatures', 'compact', 'condensed', 'content-box', 'contents', 'context-menu',
'contextual', 'copy', 'cover', 'crisp-edges', 'crispEdges', 'crosshair', 'cyclic', 'dark', 'darken', 'dashed',
'decimal', 'default', 'dense', 'diagonal-fractions', 'difference', 'digits', 'disabled', 'disc',
'discretionary-ligatures', 'distribute', 'distribute-all-lines', 'distribute-letter', 'distribute-space', 'dot',
'dotted', 'double', 'double-circle', 'downleft', 'downright', 'e-resize', 'each-line', 'ease', 'ease-in',
- 'ease-in-out', 'ease-out', 'economy', 'ellipsis', 'embed', 'end', 'evenodd', 'ew-resize', 'exact',
+ 'ease-in-out', 'ease-out', 'economy', 'ellipsis', 'end', 'evenodd', 'ew-resize', 'exact',
'exclude', 'exclusion', 'expanded', 'extends', 'extra-condensed', 'extra-expanded', 'farthest-corner',
'farthest-side', 'fill', 'fill-available', 'fill-box', 'filled', 'fit-content', 'fixed', 'flat',
'flip', 'flow-root', 'forwards', 'freeze', 'from-image', 'full-width', 'geometricPrecision', 'georgian',
@@ -547,24 +550,24 @@ constants_css = [
'kannada', 'keep-all', 'landscape', 'large', 'larger', 'left', 'light', 'lighten', 'lighter', 'line', 'line-edge',
'line-through', 'linear', 'linearRGB', 'lining-nums', 'list-item', 'loose', 'lowercase', 'lr', 'lr-tb', 'ltr',
'luminance', 'luminosity', 'main-size', 'mandatory', 'manipulation', 'manual', 'margin-box', 'match-parent',
- 'match-source', 'mathematical', 'max-content', 'medium', 'menu', 'message-box', 'middle', 'min-content', 'miter',
+ 'match-source', 'mathematical', 'max-content', 'medium', 'message-box', 'middle', 'min-content', 'miter',
'mixed', 'move', 'multiply', 'n-resize', 'narrower', 'ne-resize', 'nearest-neighbor', 'nesw-resize', 'newspaper',
'no-change', 'no-clip', 'no-close-quote', 'no-common-ligatures', 'no-contextual', 'no-discretionary-ligatures',
'no-drop', 'no-historical-ligatures', 'no-open-quote', 'no-repeat', 'none', 'nonzero', 'normal', 'not-allowed',
'nowrap', 'ns-resize', 'numbers', 'numeric', 'nw-resize', 'nwse-resize', 'oblique', 'oldstyle-nums', 'open',
'open-quote', 'optimizeLegibility', 'optimizeQuality', 'optimizeSpeed', 'optional', 'ordinal', 'outset', 'outside',
'over', 'overlay', 'overline', 'page', 'painted', 'pan-down', 'pan-left', 'pan-right',
- 'pan-up', 'pan-x', 'pan-y', 'paused', 'petite-caps', 'pixelated', 'plaintext', 'pointer', 'portrait', 'pre',
- 'pre-line', 'pre-wrap', 'preserve-3d', 'progress', 'progressive', 'proportional-nums', 'proportional-width',
+ 'pan-up', 'pan-x', 'pan-y', 'paused', 'petite-caps', 'pixelated', 'plaintext', 'pointer', 'portrait',
+ 'pre-line', 'pre-wrap', 'preserve-3d', 'progressive', 'proportional-nums', 'proportional-width',
'proximity', 'radial', 'recto', 'region', 'relative', 'remove', 'reset-size', 'reverse',
- 'revert', 'ridge', 'right', 'rl', 'rl-tb', 'round', 'row', 'row-resize', 'row-reverse', 'row-severse', 'rtl', 'ruby',
+ 'revert', 'ridge', 'right', 'rl', 'rl-tb', 'round', 'row', 'row-resize', 'row-reverse', 'row-severse', 'rtl',
'ruby-base', 'ruby-base-container', 'ruby-text', 'ruby-text-container', 'run-in', 'running', 's-resize', 'saturation',
'scale-down', 'screen', 'se-resize', 'semi-condensed', 'semi-expanded', 'separate',
'sesame', 'show', 'sideways', 'sideways-left', 'sideways-lr', 'sideways-right', 'sideways-rl', 'simplified',
'slashed-zero', 'slice', 'small', 'small-caps', 'small-caption', 'smaller', 'smooth', 'soft-light', 'solid', 'space',
'space-around', 'space-between', 'space-evenly', 'spell-out', 'square', 'sRGB', 'stacked-fractions', 'start', 'static',
- 'status-bar', 'swap', 'step-end', 'step-start', 'sticky', 'stretch', 'strict', 'stroke', 'stroke-box', 'style', 'sub',
- 'subgrid', 'subpixel-antialiased', 'subtract', 'super', 'sw-resize', 'symbolic', 'table', 'table-caption',
+ 'status-bar', 'swap', 'step-end', 'step-start', 'sticky', 'stretch', 'strict', 'stroke', 'stroke-box', 'style',
+ 'subgrid', 'subpixel-antialiased', 'subtract', 'super', 'sw-resize', 'symbolic', 'table-caption',
'table-cell', 'table-column', 'table-column-group', 'table-footer-group', 'table-header-group', 'table-row',
'table-row-group', 'tabular-nums', 'tb', 'tb-rl', 'text', 'text-after-edge', 'text-before-edge', 'text-bottom',
'text-top', 'thick', 'thin', 'titling-caps', 'top', 'top-outside', 'touch', 'traditional', 'transparent', 'triangle',
@@ -572,10 +575,28 @@ constants_css = [
'use-glyph-orientation', 'use-script', 'verso', 'vertical', 'vertical-ideographic', 'vertical-lr', 'vertical-rl',
'vertical-text', 'view-box', 'visible', 'visibleFill', 'visiblePainted', 'visibleStroke', 'w-resize', 'wait', 'wavy',
'weight', 'whitespace', 'wider', 'words', 'wrap', 'wrap-reverse', 'x', 'x-large', 'x-small', 'xx-large', 'xx-small',
- 'y', 'zero', 'zoom-in', 'zoom-out'
+ 'y', 'zero', 'zoom-in', 'zoom-out', '!important',
+]
+keywords_css = [
+ '@annotation', '@bottom-center', '@character-variant', '@charset', '@counter-style',
+ '@font-face', '@font-feature-values', '@historical-forms', '@import', '@keyframes', '@layer', '@left-bottom',
+ '@media', '@namespace', '@ornaments', '@page', '@property', '@right-bottom', '@scroll-timeline', '@styleset',
+ '@stylistic', '@supports', '@swash', '@top-center', '@viewport',
+ 'a', 'abbr', 'acronym', 'address', 'applet', 'area', 'article', 'aside', 'audio', 'b', 'base', 'bdi', 'bdo',
+ 'bgsound', 'big', 'blink', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'cite', 'code', 'col',
+ 'colgroup', 'content', 'data', 'datalist', 'dd', 'del', 'details', 'dfn', 'dialog', 'dir', 'div', 'dl', 'dt', 'em',
+ 'embed', 'fieldset', 'figcaption', 'figure', 'font', 'footer', 'form', 'frame', 'frameset', 'head', 'header',
+ 'hgroup', 'hr', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'html', 'i', 'iframe', 'img', 'input', 'ins', 'kbd', 'keygen', 'label', 'legend', 'li',
+ 'link', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meta', 'meter', 'nav', 'nobr', 'noembed', 'noframes',
+ 'noscript', 'object', 'ol', 'optgroup', 'option', 'output', 'p', 'param', 'picture', 'portal', 'pre',
+ 'progress', 'q', 'rb', 'rp', 'rt', 'rtc', 'ruby', 's', 'samp', 'script', 'section', 'select', 'shadow', 'slot',
+ 'source', 'spacer', 'span', 'strike', 'strong', 'sub', 'summary', 'sup', 'table', 'tbody', 'td',
+ 'template', 'textarea', 'tfoot', 'th', 'thead', 'time', 'title', 'tr', 'track', 'tt', 'u', 'ul', 'video', 'wbr',
+ 'xmp', 'svg'
]
+
file = open('keywords.h', 'w')
file.write('''// keywords for all languages ted supports
// This file was auto-generated by keywords.py
@@ -592,12 +613,6 @@ typedef struct {
def label(kwds, l):
return [(l, kwd) for kwd in kwds]
-cant_overlap(keywords_c, constants_c, builtins_c)
-cant_overlap(keywords_rust, builtins_rust, constants_rust)
-cant_overlap(keywords_python, builtins_python)
-cant_overlap(keywords_javascript, builtins_javascript, constants_javascript)
-cant_overlap(constants_css, builtins_css)
-cant_overlap(constants_glsl, builtins_glsl, keywords_glsl)
c_things = label(keywords_c, SYNTAX_KEYWORD) + label(constants_c, SYNTAX_CONSTANT) + label(builtins_c, SYNTAX_BUILTIN)
output_keywords(file, c_things, 'c')
cpp_things = c_things + label(keywords_cpp, SYNTAX_KEYWORD)
@@ -618,5 +633,5 @@ output_keywords(file, label(builtins_html, SYNTAX_BUILTIN), 'html')
output_keywords(file, label(constants_config, SYNTAX_CONSTANT), 'config')
output_keywords(file, label(keywords_glsl, SYNTAX_KEYWORD) + label(constants_glsl, SYNTAX_CONSTANT)
+ label(builtins_glsl, SYNTAX_BUILTIN), 'glsl')
-output_keywords(file, label(builtins_css, SYNTAX_BUILTIN) + label(constants_css, SYNTAX_CONSTANT), 'css')
+output_keywords(file, label(builtins_css, SYNTAX_BUILTIN) + label(constants_css, SYNTAX_CONSTANT) + label(keywords_css, SYNTAX_KEYWORD), 'css')
file.close()
diff --git a/main.c b/main.c
index 80fe636..a782b8e 100644
--- a/main.c
+++ b/main.c
@@ -1,10 +1,7 @@
/*
@TODO:
-- CSS [a=b] selectors
- - other CSS things?
- preserve permissions on save
FUTURE FEATURES:
-- CSS highlighting
- option for separate colors for read/write highlights
- styles ([color] sections)
- for this, it would be nice to have #include in ted.cfg
diff --git a/syntax.c b/syntax.c
index b412ea7..6abd1cd 100644
--- a/syntax.c
+++ b/syntax.c
@@ -198,10 +198,16 @@ static bool syntax_number_continues(Language lang, const char32_t *line, u32 lin
return false;
}
}
- if (lang == LANG_CSS && line[i] < 128 && isalpha((char)line[i])) {
- // units
- return true;
+ if (lang == LANG_CSS) {
+ if (line[i] < 128 && isalpha((char)line[i])) {
+ // units
+ return true;
+ }
+ if (line[i] == '%') {
+ return true;
+ }
}
+
return (line[i] < CHAR_MAX &&
(strchr(SYNTAX_DIGITS, (char)line[i])
|| (i && line[i-1] == 'e' && (line[i] == '+' || line[i] == '-'))));
@@ -217,7 +223,7 @@ static bool is_keyword(Language lang, char32_t c) {
return true;
break;
case LANG_CSS:
- if (c == '-' || c == '@' || c == ':')
+ if (c == '-' || c == '@' || c == '!')
return true;
break;
case LANG_HTML:
@@ -237,6 +243,13 @@ static u32 syntax_keyword_len(Language lang, const char32_t *line, u32 i, u32 li
if (!is_keyword(lang, line[keyword_end]))
break;
}
+ if (lang == LANG_CSS && keyword_end < line_len && line[keyword_end] == ':') {
+ // in CSS we allow : at the end of keywords only
+ // this is so "font-family:" can be a keyword but "a:hover" is parsed as "a" ":hover"
+ if (keyword_end + 1 == line_len || (!is32_word(line[keyword_end + 1]) && line[keyword_end + 1] != ':')) {
+ ++keyword_end;
+ }
+ }
return keyword_end - i;
}
@@ -1723,19 +1736,111 @@ static void syntax_highlight_css(SyntaxState *state_ptr, const char32_t *line, u
case '}':
in_braces = false;
break;
+ case '*':
+ if (char_types) {
+ char_types[i++] = SYNTAX_KEYWORD;
+ dealt_with = true;
+ goto handle_pseudo;
+ }
+ break;
+ case '[':
+ if (!in_braces) {
+ if (char_types) char_types[i] = SYNTAX_KEYWORD;
+ for (++i; i < line_len; ++i) {
+ if (char_types)
+ char_types[i] = SYNTAX_KEYWORD;
+ if (line[i] == ']') break;
+ }
+ if (i < line_len && char_types){
+ char_types[i++] = SYNTAX_KEYWORD;
+ }
+ dealt_with = true;
+ if (char_types)
+ goto handle_pseudo;
+ }
+ break;
+ case '\'':
+ case '"': {
+ // i'm not handling multiline stirngs
+ // wtf are you doing with multiline strings in css
+ if (char_types) char_types[i] = SYNTAX_STRING;
+ int backslashes = 0;
+ for (++i; i < line_len; ++i) {
+ if (char_types)
+ char_types[i] = SYNTAX_STRING;
+ if (backslashes % 2 == 0 && line[i] == c)
+ break;
+ if (line[i] == '\\')
+ ++backslashes;
+ else
+ backslashes = 0;
+ }
+ dealt_with = true;
+ }
+ break;
case '.':
case '#':
if (!in_braces && char_types) {
- char_types[i] = SYNTAX_KEYWORD;
- for (++i; i < line_len; ++i) {
+ char_types[i++] = SYNTAX_KEYWORD;
+ for (; i < line_len; ++i) {
if (is32_alnum(line[i]) || line[i] == '-' || line[i] == '_') {
char_types[i] = SYNTAX_KEYWORD;
} else {
break;
}
}
- --i; // we will increment i in the loop
dealt_with = true;
+ handle_pseudo:
+ while (i < line_len && line[i] == ':') {
+ // handle pseudo-classes and pseudo-elements
+ static const char *const pseudo[] = {
+ ":active", ":any-link", ":autofill", ":blank", ":checked",
+ ":current", ":default", ":defined", ":dir", ":disabled",
+ ":empty", ":enabled", ":first", ":first-child",
+ ":first-of-type", ":fullscreen", ":future", ":focus",
+ ":focus-visible", ":focus-within", ":has", ":host",
+ ":host-context", ":hover", ":indeterminate", ":in-range",
+ ":invalid", ":is", ":lang", ":last-child", ":last-of-type",
+ ":left", ":link", ":local-link", ":modal", ":not",
+ ":nth-child", ":nth-col", ":nth-last-child",
+ ":nth-last-col", ":nth-last-of-type", ":nth-of-type",
+ ":only-child", ":only-of-type", ":optional",
+ ":out-of-range", ":past", ":picture-in-picture",
+ ":placeholder-shown", ":paused", ":playing", ":read-only",
+ ":read-write", ":required", ":right", ":root", ":scope",
+ ":state", ":target", ":target-within", ":user-invalid",
+ ":valid", ":visited", ":where", "::after", "::before",
+ ":after", ":before",
+ "::backdrop", "::cue", "::cue-region", "::first-letter",
+ "::first-line", "::file-selector-button",
+ "::grammar-error", "::marker", "::part", "::placeholder",
+ "::selection", "::slotted", "::spelling-error",
+ "::target-text",
+ };
+ String32 s32 = {
+ .len = line_len - i,
+ .str = (char32_t *)(line + i)
+ };
+ bool found = false;
+ for (size_t p = 0; p < arr_count(pseudo); ++p) {
+ size_t len = strlen(pseudo[p]);
+ if (str32_has_ascii_prefix(s32, pseudo[p])
+ && (
+ i + len >= line_len
+ || !is_keyword(LANG_CSS, line[i + len])
+ )) {
+ found = true;
+ for (size_t j = 0; j < len; ++j) {
+ assert(i < line_len);// guaranteed by has_ascii_prefix
+ char_types[i++] = SYNTAX_KEYWORD;
+ }
+ }
+ }
+ if (!found) break;
+ }
+
+ --i; // we will increment i in the loop
+
}
if (c == '#' && in_braces && char_types) {
// color which we'll treat as a number.
@@ -1772,23 +1877,28 @@ static void syntax_highlight_css(SyntaxState *state_ptr, const char32_t *line, u
if ((i && is_keyword(LANG_CSS, line[i - 1])) || !is_keyword(LANG_CSS, c) || is32_digit(c))
break; // can't be a keyword on its own.
- if (in_braces && char_types) {
+ if (char_types) {
u32 keyword_len = syntax_keyword_len(LANG_CSS, line, i, line_len);
Keyword const *keyword = syntax_keyword_lookup(syntax_all_keywords_css, &line[i], keyword_len);
- if (keyword) {
+ // in braces, we only accept SYNTAX_KEYWORD, and outside we accept everything else
+ if (keyword && (keyword->type != SYNTAX_KEYWORD) == in_braces) {
SyntaxCharType type = keyword->type;
for (size_t j = 0; j < keyword_len; ++j) {
char_types[i++] = type;
}
- --i; // we'll increment i from the for loop
dealt_with = true;
+ if (!in_braces && char_types) {
+ goto handle_pseudo;
+ } else {
+ --i; // we'll increment i from the for loop
+ }
break;
}
}
} break;
}
- if (char_types && !dealt_with) {
+ if (char_types && !dealt_with && i < line_len) {
SyntaxCharType type = SYNTAX_NORMAL;
if (in_comment)
type = SYNTAX_COMMENT;
diff --git a/test/test.css b/test/test.css
new file mode 100644
index 0000000..46eea11
--- /dev/null
+++ b/test/test.css
@@ -0,0 +1,13 @@
+blorg.fsadfsa #asdfkajsdkj #efbeedede {
+}
+
+.asdfasdf:focus a[bigness=12]:hover::after canvas[fi=eadf] {
+ font-size: 3em;
+ background-color: yellow li;
+ background-image: url("https://google.com/search?q=yellow} ducks%20%20%20");
+}
+p > li#p {
+ font-weight: bold;
+ font-size: bold;
+}
+@import url('whatev\'er this is a \\string\\\\');