From c67ac3cecf5452467ea0fc757400de94bd8bdb74 Mon Sep 17 00:00:00 2001 From: pommicket Date: Thu, 2 Mar 2023 14:26:52 -0500 Subject: CSS highlighting --- keywords.h | 49 +++++++++++----------- keywords.py | 61 +++++++++++++++++---------- main.c | 3 -- syntax.c | 132 +++++++++++++++++++++++++++++++++++++++++++++++++++++----- test/test.css | 13 ++++++ 5 files changed, 197 insertions(+), 61 deletions(-) create mode 100644 test/test.css 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\\\\'); -- cgit v1.2.3