...

Text file src/github.com/alecthomas/chroma/v2/lexers/embedded/scss.xml

Documentation: github.com/alecthomas/chroma/v2/lexers/embedded

     1<lexer>
     2  <config>
     3    <name>SCSS</name>
     4    <alias>scss</alias>
     5    <filename>*.scss</filename>
     6    <mime_type>text/x-scss</mime_type>
     7    <case_insensitive>true</case_insensitive>
     8    <dot_all>true</dot_all>
     9    <not_multiline>true</not_multiline>
    10  </config>
    11  <rules>
    12    <state name="string-double">
    13      <rule pattern="(\\.|#(?=[^\n{])|[^\n&#34;#])+">
    14        <token type="LiteralStringDouble"/>
    15      </rule>
    16      <rule pattern="#\{">
    17        <token type="LiteralStringInterpol"/>
    18        <push state="interpolation"/>
    19      </rule>
    20      <rule pattern="&#34;">
    21        <token type="LiteralStringDouble"/>
    22        <pop depth="1"/>
    23      </rule>
    24    </state>
    25    <state name="id">
    26      <rule pattern="[\w-]+">
    27        <token type="NameNamespace"/>
    28      </rule>
    29      <rule pattern="#\{">
    30        <token type="LiteralStringInterpol"/>
    31        <push state="interpolation"/>
    32      </rule>
    33      <rule>
    34        <pop depth="1"/>
    35      </rule>
    36    </state>
    37    <state name="value">
    38      <rule pattern="[ \t]+">
    39        <token type="Text"/>
    40      </rule>
    41      <rule pattern="!(important|default|global)">
    42        <token type="Keyword"/>
    43      </rule>
    44      <rule pattern="[!$][\w-]+">
    45        <token type="NameVariable"/>
    46      </rule>
    47      <rule pattern="url\(">
    48        <token type="LiteralStringOther"/>
    49        <push state="string-url"/>
    50      </rule>
    51      <rule pattern="[a-z_-][\w-]*(?=\()">
    52        <token type="NameFunction"/>
    53      </rule>
    54      <rule pattern="\b(scroll-padding-inline-start|spatial-navigation-function|transition-timing-function|overscroll-behavior-inline|spatial-navigation-contain|border-bottom-right-radius|scroll-padding-block-start|scroll-margin-inline-start|border-bottom-left-radius|border-start-start-radius|border-inline-start-color|animation-iteration-count|border-inline-start-width|animation-timing-function|text-decoration-thickness|border-inline-start-style|scroll-margin-block-start|scroll-padding-inline-end|spatial-navigation-action|overscroll-behavior-block|scroll-margin-inline-end|border-block-start-style|border-block-start-width|scroll-padding-block-end|border-block-start-color|border-inline-end-width|border-top-right-radius|text-underline-position|scroll-margin-block-end|border-start-end-radius|border-end-start-radius|border-inline-end-style|border-inline-end-color|font-variant-east-asian|border-block-end-style|font-language-override|border-block-end-color|border-block-end-width|text-emphasis-position|border-top-left-radius|font-variant-ligatures|background-attachment|overscroll-behavior-x|text-decoration-style|scroll-padding-inline|background-blend-mode|text-decoration-color|text-underline-offset|overscroll-behavior-y|font-variant-position|shape-image-threshold|grid-template-columns|border-end-end-radius|font-feature-settings|scroll-padding-bottom|font-variant-numeric|initial-letter-align|text-combine-upright|box-decoration-break|overflow-clip-margin|scroll-padding-right|padding-inline-start|scroll-margin-bottom|text-decoration-skip|scroll-margin-inline|scroll-padding-block|animation-play-state|text-decoration-line|scroll-margin-block|border-image-outset|font-optical-sizing|animation-fill-mode|margin-inline-start|border-bottom-color|transition-property|border-inline-width|animation-direction|grid-template-areas|forced-color-adjust|border-inline-style|border-inline-start|text-emphasis-style|scroll-padding-left|border-bottom-width|scroll-margin-right|border-inline-color|overscroll-behavior|list-style-position|hanging-punctuation|background-position|border-bottom-style|border-image-source|transition-duration|initial-letter-wrap|padding-block-start|border-image-repeat|backface-visibility|font-variant-emoji|margin-block-start|border-block-start|border-block-style|padding-inline-end|border-right-width|perspective-origin|inset-inline-start|border-right-color|border-block-color|mask-border-repeat|mask-border-source|border-image-width|scroll-padding-top|animation-duration|border-image-slice|grid-template-rows|content-visibility|scroll-margin-left|border-block-width|border-right-style|image-orientation|scroll-snap-align|page-break-inside|column-rule-width|mask-border-width|column-rule-style|mask-border-slice|column-rule-color|grid-auto-columns|page-break-before|background-repeat|counter-increment|font-variant-caps|padding-block-end|border-inline-end|grid-column-start|border-left-width|border-left-style|border-left-color|scroll-margin-top|inset-block-start|margin-inline-end|background-origin|mask-border-mode|scroll-snap-stop|scroll-snap-type|scrollbar-gutter|font-size-adjust|transform-origin|page-orientation|image-resolution|margin-block-end|footnote-display|page-break-after|border-block-end|text-group-align|text-orientation|transition-delay|background-image|text-size-adjust|border-top-width|border-top-style|list-style-image|border-top-color|background-color|inset-inline-end|offset-distance|background-size|background-clip|list-style-type|footnote-policy|text-decoration|scrollbar-color|scrollbar-width|text-align-last|image-rendering|animation-delay|transform-style|object-position|offset-position|text-space-trim|justify-content|overflow-anchor|scroll-behavior|inset-block-end|border-collapse|grid-column-end|overflow-inline|border-spacing|scroll-padding|text-align-all|pointer-events|max-block-size|text-transform|letter-spacing|lighting-color|mask-composite|initial-letter|mix-blend-mode|overflow-block|animation-name|padding-bottom|flex-direction|padding-inline|font-synthesis|grid-auto-flow|vertical-align|outline-offset|text-rendering|grid-auto-rows|grid-row-start|margin-inline|padding-block|offset-rotate|text-overflow|border-inline|margin-bottom|offset-anchor|scroll-margin|outline-style|border-bottom|shape-outside|outline-width|shape-padding|text-emphasis|align-content|grid-template|border-radius|transform-box|overflow-wrap|justify-items|mask-position|place-content|inline-sizing|counter-reset|padding-right|outline-color|table-layout|column-width|writing-mode|font-variant|touch-action|padding-left|color-adjust|word-spacing|text-justify|shape-margin|caption-side|break-inside|shape-inside|margin-right|break-before|font-kerning|font-stretch|border-width|margin-break|text-spacing|border-style|aspect-ratio|margin-block|grid-row-end|border-block|line-padding|border-right|wrap-through|border-color|border-image|justify-self|inset-inline|unicode-bidi|column-count|column-span|border-left|white-space|wrap-inside|grid-column|will-change|text-shadow|offset-path|user-select|inline-size|break-after|place-items|caret-color|text-indent|padding-top|inset-block|wrap-before|font-weight|flex-shrink|line-height|perspective|column-fill|mask-repeat|align-items|margin-left|mask-origin|margin-trim|column-rule|font-family|empty-cells|counter-set|mask-border|overflow-y|string-set|align-self|text-align|place-self|list-style|wrap-after|block-size|word-break|line-clamp|line-break|flex-basis|max-height|min-height|object-fit|appearance|box-sizing|transition|mask-image|background|border-top|visibility|overflow-x|column-gap|font-style|box-shadow|margin-top|mask-size|line-snap|flex-wrap|nav-right|isolation|flex-grow|flex-flow|translate|line-grid|text-wrap|wrap-flow|min-width|max-width|direction|clip-path|transform|mask-clip|max-lines|mask-type|grid-area|animation|mask-mode|word-wrap|font-size|nav-down|position|overflow|grid-row|tab-size|nav-left|z-index|row-gap|content|opacity|padding|display|outline|columns|hyphens|orphans|margin|border|rotate|filter|resize|quotes|bottom|height|offset|nav-up|cursor|widows|width|inset|clear|color|right|float|scale|order|left|font|flex|mask|page|grid|clip|all|gap|src|top)(?=\s*:)">
    55        <token type="NameAttribute"/>
    56      </rule>
    57      <rule pattern="(?&lt;!:\s*)[^ \t:=&#34;\[;(),.]+(?=[ \t]*:(?:#{|[^{])+?[;,])">
    58        <token type="NameAttribute"/>
    59      </rule>
    60      <rule pattern="\b(no-discretionary-ligatures|no-historical-ligatures|discretionary-ligatures|simp-chinese-informal|trad-chinese-informal|korean-hanja-informal|historical-ligatures|korean-hangul-formal|decimal-leading-zero|korean-hanja-formal|ruby-text-container|ruby-base-container|no-common-ligatures|trad-chinese-formal|simp-chinese-formal|cjk-earthly-branch|geometricPrecision|optimizeLegibility|table-header-group|table-footer-group|diagonal-fractions|table-column-group|proportional-width|disclosure-closed|stacked-fractions|japanese-informal|alternate-reverse|cjk-heavenly-stem|proportional-nums|slider-horizontal|ideograph-numeric|common-ligatures|isolate-override|ethiopic-numeric|ideograph-alpha|table-row-group|all-petite-caps|cjk-ideographic|inter-character|ultra-condensed|scroll-position|extra-condensed|japanese-formal|disclosure-open|menulist-button|upper-armenian|lower-armenian|extra-expanded|semi-condensed|space-adjacent|all-small-caps|discard-before|katakana-iroha|full-size-kana|no-close-quote|ultra-expanded|hiragana-iroha|target-counter|column-reverse|spelling-error|grammar-error|optimizeSpeed|discard-after|no-contextual|trim-adjacent|table-caption|square-button|semi-expanded|border-bottom|ui-sans-serif|double-circle|vertical-text|outside-shape|horizontal-tb|no-open-quote|space-between|small-caption|oldstyle-nums|bidi-override|progress-bar|match-parent|line-through|space-around|inline-table|inline-block|high-quality|space-evenly|table-column|currentColor|arabic-indic|ui-monospace|rotate-right|inline-start|avoid-region|avoid-column|match-source|manipulation|tabular-nums|context-menu|slashed-zero|cubic-bezier|titling-caps|wrap-reverse|color-dodge|sideways-lr|no-compress|space-first|searchfield|lining-nums|fit-content|ease-in-out|punctuation|min-content|petite-caps|crisp-edges|push-button|translate3d|row-reverse|perspective|max-content|nesw-resize|not-allowed|preserve-3d|space-start|drop-shadow|padding-box|text-bottom|rotate-left|block-start|inline-grid|inline-flex|upper-latin|upper-alpha|lower-latin|auto‑flow|lower-alpha|message-box|lower-greek|upper-roman|lower-roman|vertical-rl|traditional|justify-all|close-quote|content-box|vertical-lr|cjk-decimal|transparent|sideways-rl|target-text|balance-all|ideographic|nwse-resize|saturation|flex-start|open-quote|from-image|avoid-flex|avoid-line|stroke-box|ui-rounded|margin-box|self-start|inline-end|devanagari|avoid-page|status-bar|all-scroll|col-resize|row-resize|translateZ|translateY|translateX|hue-rotate|small-caps|brightness|step-start|capitalize|trim-start|trim-inner|sans-serif|scale-down|contextual|break-word|horizontal|inter-word|color-burn|cross-fade|hard-light|soft-light|border-box|table-cell|luminosity|full-width|difference|simplified|alphabetic|mandatory|exclusion|from-font|table-row|flow-root|underline|image-set|proximity|ruby-base|ruby-text|list-item|monospace|intersect|ns-resize|textfield|ew-resize|uppercase|sw-resize|se-resize|nw-resize|lowercase|grayscale|ne-resize|pan-right|translate|backwards|available|luminance|condensed|alternate|mongolian|plaintext|malayalam|cambodian|transform|block-end|force-end|break-all|crosshair|allow-end|no-repeat|pixelated|system-ui|xxx-large|space-end|w-resize|georgian|flex-end|baseline|gujarati|fangsong|ui-serif|fill-box|keep-all|view-box|xx-small|gurmukhi|pre-line|pre-wrap|contents|xx-large|text-top|hiragana|self-end|katakana|collapse|separate|anywhere|saturate|expanded|subtract|progress|repeat-x|rotate3d|repeat-y|contrast|relative|forwards|infinite|absolute|matrix3d|vertical|overline|pan-down|pan-left|step-end|triangle|ease-out|textarea|sideways|checkbox|menulist|ellipsis|trim-end|grabbing|multiply|zoom-out|n-resize|s-resize|armenian|ordinal|zoom-in|visible|overlay|no-drop|listbox|unicode|lighten|ease-in|lighter|element|running|justify|display|fantasy|unicase|subgrid|reverse|upright|stretch|rotateX|current|exclude|rotateY|pointer|contain|opacity|default|no-clip|in-flow|hanging|isolate|discard|tibetan|persian|myanmar|rotateZ|content|inherit|outside|initial|kannada|smaller|decimal|symbols|x-large|balance|x-small|economy|caption|minimum|maximum|polygon|ellipse|cursive|bengali|masonry|static|region|column|run-in|inline|middle|circle|larger|button|square|pretty|always|hidden|rotate|inside|scroll|screen|matrix|create|unsafe|center|paused|nowrap|medium|darken|sesame|strict|outset|pan-up|bolder|telugu|scaleX|linear|scaleY|groove|double|scaleZ|dashed|minmax|legacy|hebrew|bottom|dotted|leader|normal|stable|weight|smooth|filled|italic|revert|manual|repeat|sticky|invert|table|round|space|alias|jis78|dense|sepia|emoji|auto;|clear|skewX|cover|right|skewY|style|light|unset|force|alpha|large|focus|solid|ridge|white|embed|tamil|blink|first|scale|radio|color|jis83|under|block|jis90|inset|start|pan-y|oriya|super|loose|mixed|thick|slice|pan-x|khmer|width|local|fixed|clone|avoid|serif|exact|recto|meter|small|verso|jis04|image|flow|flex|grid|ruby|wrap|ease|safe|grab|move|icon|bold|last|open|over|wavy|show|hide|both|url;|none|blur|text|line|menu|copy|dark|left|math|cell|clip|fill|skew|wait|help|flat|snap|keep|thai|thin|disc|path|page|attr|rect|auto|row|all|rtl|end|ltr|sub|hue|dot|url|top|lao|add|ray|pre|x|y|z)\b">
    61        <token type="NameEntity"/>
    62      </rule>
    63      <rule pattern="(?i)\b(LightGoldenRodYellow|MediumSpringGreen|MediumAquaMarine|MediumSlateBlue|MediumVioletRed|MediumTurquoise|LightSlateGray|LightSlateGrey|MediumSeaGreen|BlanchedAlmond|LightSteelBlue|CornflowerBlue|DarkOliveGreen|DarkGoldenRod|PaleGoldenRod|PaleTurquoise|LavenderBlush|RebeccaPurple|DarkSlateGray|DarkSlateGrey|LightSeaGreen|PaleVioletRed|DarkTurquoise|DarkSlateBlue|AntiqueWhite|DarkSeaGreen|LightSkyBlue|MediumOrchid|LemonChiffon|MediumPurple|MidnightBlue|GreenYellow|DarkMagenta|LightSalmon|LightYellow|DeepSkyBlue|NavajoWhite|SaddleBrown|SpringGreen|ForestGreen|FloralWhite|YellowGreen|PapayaWhip|Aquamarine|DodgerBlue|Chartreuse|BlueViolet|DarkViolet|DarkOrange|LightGreen|GhostWhite|WhiteSmoke|DarkOrchid|MediumBlue|PowderBlue|LightCoral|DarkSalmon|SandyBrown|IndianRed|RoyalBlue|SteelBlue|AliceBlue|SlateGrey|MistyRose|Turquoise|LawnGreen|MintCream|LightBlue|SlateGray|LightCyan|GoldenRod|LightGray|LightGrey|Gainsboro|OliveDrab|Chocolate|DarkGreen|PeachPuff|RosyBrown|BurlyWood|FireBrick|SlateBlue|LightPink|LimeGreen|OrangeRed|CadetBlue|DarkKhaki|PaleGreen|HoneyDew|SeaShell|SeaGreen|DeepPink|Cornsilk|DarkBlue|DarkCyan|DarkGray|DarkGrey|Moccasin|Lavender|DarkRed|HotPink|SkyBlue|OldLace|Thistle|Fuchsia|Magenta|DimGrey|Crimson|DimGray|Tomato|Bisque|Silver|Orchid|Orange|Yellow|Sienna|Maroon|Salmon|Purple|Indigo|Violet|Green|Beige|Azure|Olive|Ivory|Coral|Wheat|White|Linen|Brown|Khaki|Black|Cyan|Blue|Aqua|Navy|Peru|Teal|Grey|Snow|Gray|Gold|Plum|Pink|Lime|Red|Tan)\b">
    64        <token type="NameConstant"/>
    65      </rule>
    66      <rule pattern="(true|false)">
    67        <token type="NamePseudo"/>
    68      </rule>
    69      <rule pattern="(and|or|not)">
    70        <token type="OperatorWord"/>
    71      </rule>
    72      <rule pattern="/\*">
    73        <token type="CommentMultiline"/>
    74        <push state="inline-comment"/>
    75      </rule>
    76      <rule pattern="//[^\n]*">
    77        <token type="CommentSingle"/>
    78      </rule>
    79      <rule pattern="\#[a-z0-9]{1,6}">
    80        <token type="LiteralNumberHex"/>
    81      </rule>
    82      <rule pattern="(-)?(\d+)(\%|[a-z]+)?">
    83        <bygroups>
    84          <token type="Operator"/>
    85          <token type="LiteralNumberInteger"/>
    86          <token type="KeywordType"/>
    87        </bygroups>
    88      </rule>
    89      <rule pattern="(-?)(\d*\.\d+)(\%|[a-z]+)?">
    90        <bygroups>
    91          <token type="Operator"/>
    92          <token type="LiteralNumberFloat"/>
    93          <token type="KeywordType"/>
    94        </bygroups>
    95      </rule>
    96      <rule pattern="#\{">
    97        <token type="LiteralStringInterpol"/>
    98        <push state="interpolation"/>
    99      </rule>
   100      <rule pattern="[~^*!&amp;%&lt;&gt;|+=@:,./?-]+">
   101        <token type="Operator"/>
   102      </rule>
   103      <rule pattern="[\[\]()]+">
   104        <token type="Punctuation"/>
   105      </rule>
   106      <rule pattern="&#34;">
   107        <token type="LiteralStringDouble"/>
   108        <push state="string-double"/>
   109      </rule>
   110      <rule pattern="&#39;">
   111        <token type="LiteralStringSingle"/>
   112        <push state="string-single"/>
   113      </rule>
   114      <rule pattern="[a-z_-][\w-]*">
   115        <token type="Name"/>
   116      </rule>
   117      <rule pattern="\n">
   118        <token type="Text"/>
   119      </rule>
   120      <rule pattern="[;{}]">
   121        <token type="Punctuation"/>
   122        <pop depth="1"/>
   123      </rule>
   124    </state>
   125    <state name="inline-comment">
   126      <rule pattern="(\\#|#(?=[^{])|\*(?=[^/])|[^#*])+">
   127        <token type="CommentMultiline"/>
   128      </rule>
   129      <rule pattern="#\{">
   130        <token type="LiteralStringInterpol"/>
   131        <push state="interpolation"/>
   132      </rule>
   133      <rule pattern="\*/">
   134        <token type="Comment"/>
   135        <pop depth="1"/>
   136      </rule>
   137    </state>
   138    <state name="string-single">
   139      <rule pattern="(\\.|#(?=[^\n{])|[^\n&#39;#])+">
   140        <token type="LiteralStringSingle"/>
   141      </rule>
   142      <rule pattern="#\{">
   143        <token type="LiteralStringInterpol"/>
   144        <push state="interpolation"/>
   145      </rule>
   146      <rule pattern="&#39;">
   147        <token type="LiteralStringSingle"/>
   148        <pop depth="1"/>
   149      </rule>
   150    </state>
   151    <state name="interpolation">
   152      <rule pattern="\}">
   153        <token type="LiteralStringInterpol"/>
   154        <pop depth="1"/>
   155      </rule>
   156      <rule>
   157        <include state="value"/>
   158      </rule>
   159    </state>
   160    <state name="each">
   161      <rule pattern="in">
   162        <token type="OperatorWord"/>
   163      </rule>
   164      <rule>
   165        <include state="value"/>
   166      </rule>
   167    </state>
   168    <state name="attr">
   169      <rule pattern="#\{">
   170        <token type="LiteralStringInterpol"/>
   171        <push state="interpolation"/>
   172      </rule>
   173      <rule pattern="[ \t]*:">
   174        <token type="Operator"/>
   175        <push state="value"/>
   176      </rule>
   177      <rule>
   178        <pop depth="1"/>
   179      </rule>
   180    </state>
   181    <state name="root">
   182      <rule pattern="[{}()]">
   183        <token type="Punctuation"/>
   184      </rule>
   185      <rule pattern="\s+">
   186        <token type="Text"/>
   187      </rule>
   188      <rule pattern="//.*?\n">
   189        <token type="CommentSingle"/>
   190      </rule>
   191      <rule pattern="/\*.*?\*/">
   192        <token type="CommentMultiline"/>
   193      </rule>
   194      <rule pattern="@import">
   195        <token type="Keyword"/>
   196        <push state="value"/>
   197      </rule>
   198      <rule pattern="(@(?:use|forward))(\s+)([^\s;]+)(?:(\s+)(as)(\s+)(\w+|\*))?(?:(\s+)(with))?">
   199        <bygroups>
   200          <token type="Keyword"/>
   201          <token type="Text"/>
   202          <usingself state="selector"/>
   203          <token type="Text"/>
   204          <token type="Keyword"/>
   205          <token type="Text"/>
   206          <token type="NameNamespace"/>
   207          <token type="Text"/>
   208          <token type="Keyword"/>
   209        </bygroups>
   210        <push state="value"/>
   211      </rule>
   212      <rule pattern="@for">
   213        <token type="Keyword"/>
   214        <push state="for"/>
   215      </rule>
   216      <rule pattern="@each">
   217        <token type="Keyword"/>
   218        <push state="each"/>
   219      </rule>
   220      <rule pattern="@(debug|warn|else if|if|while|return)">
   221        <token type="Keyword"/>
   222        <push state="value"/>
   223      </rule>
   224      <rule pattern="(@(?:mixin|function))( [\w-]+)">
   225        <bygroups>
   226          <token type="Keyword"/>
   227          <token type="NameFunction"/>
   228        </bygroups>
   229        <push state="value"/>
   230      </rule>
   231      <rule pattern="(@include)( [\w-]+)">
   232        <bygroups>
   233          <token type="Keyword"/>
   234          <token type="NameDecorator"/>
   235        </bygroups>
   236        <push state="value"/>
   237      </rule>
   238      <rule pattern="@extend">
   239        <token type="Keyword"/>
   240        <push state="selector"/>
   241      </rule>
   242      <rule pattern="(@media)(\s+)">
   243        <bygroups>
   244          <token type="Keyword"/>
   245          <token type="Text"/>
   246        </bygroups>
   247        <push state="value"/>
   248      </rule>
   249      <rule pattern="@[\w-]+">
   250        <token type="Keyword"/>
   251        <push state="selector"/>
   252      </rule>
   253      <rule pattern="(\$[\w-]*\w)([ \t]*:)">
   254        <bygroups>
   255          <token type="NameVariable"/>
   256          <token type="Operator"/>
   257        </bygroups>
   258        <push state="value"/>
   259      </rule>
   260      <rule pattern="#\{">
   261        <token type="LiteralStringInterpol"/>
   262        <push state="interpolation"/>
   263      </rule>
   264      <rule pattern="\b(scroll-padding-inline-start|spatial-navigation-function|transition-timing-function|overscroll-behavior-inline|spatial-navigation-contain|border-bottom-right-radius|scroll-padding-block-start|scroll-margin-inline-start|border-inline-start-width|border-start-start-radius|border-inline-start-color|animation-iteration-count|spatial-navigation-action|animation-timing-function|text-decoration-thickness|border-inline-start-style|scroll-margin-block-start|scroll-padding-inline-end|border-bottom-left-radius|overscroll-behavior-block|scroll-margin-inline-end|border-block-start-style|border-block-start-width|scroll-padding-block-end|border-block-start-color|scroll-margin-block-end|border-top-right-radius|text-underline-position|border-inline-end-width|border-start-end-radius|border-end-start-radius|border-inline-end-style|border-inline-end-color|font-variant-east-asian|border-block-end-style|font-language-override|border-block-end-color|border-block-end-width|text-emphasis-position|border-top-left-radius|font-variant-ligatures|shape-image-threshold|overscroll-behavior-x|text-decoration-style|scroll-padding-inline|background-blend-mode|text-decoration-color|text-underline-offset|overscroll-behavior-y|border-end-end-radius|scroll-padding-bottom|grid-template-columns|font-variant-position|font-feature-settings|background-attachment|font-variant-numeric|initial-letter-align|text-combine-upright|text-decoration-line|overflow-clip-margin|scroll-padding-right|padding-inline-start|scroll-margin-bottom|text-decoration-skip|scroll-margin-inline|scroll-padding-block|animation-play-state|box-decoration-break|backface-visibility|border-image-outset|font-optical-sizing|animation-fill-mode|margin-inline-start|border-bottom-color|transition-property|border-inline-width|animation-direction|grid-template-areas|forced-color-adjust|border-inline-style|border-inline-start|text-emphasis-style|scroll-padding-left|border-bottom-width|scroll-margin-right|border-inline-color|overscroll-behavior|list-style-position|hanging-punctuation|background-position|border-bottom-style|border-image-source|transition-duration|initial-letter-wrap|padding-block-start|border-image-repeat|scroll-margin-block|font-variant-emoji|margin-block-start|border-block-start|border-block-style|padding-inline-end|border-block-width|perspective-origin|border-right-style|border-right-color|border-block-color|mask-border-repeat|mask-border-source|border-image-width|scroll-padding-top|animation-duration|border-image-slice|grid-template-rows|content-visibility|scroll-margin-left|border-right-width|inset-inline-start|background-origin|scroll-snap-align|page-break-inside|column-rule-width|mask-border-width|column-rule-style|mask-border-slice|column-rule-color|grid-auto-columns|page-break-before|background-repeat|counter-increment|font-variant-caps|padding-block-end|border-inline-end|grid-column-start|border-left-width|border-left-style|border-left-color|scroll-margin-top|inset-block-start|margin-inline-end|image-orientation|mask-border-mode|scroll-snap-stop|scroll-snap-type|scrollbar-gutter|font-size-adjust|transform-origin|page-orientation|image-resolution|margin-block-end|footnote-display|page-break-after|border-block-end|text-group-align|text-orientation|transition-delay|background-image|text-size-adjust|border-top-width|border-top-style|list-style-image|border-top-color|background-color|inset-inline-end|offset-distance|background-size|background-clip|list-style-type|footnote-policy|text-decoration|scrollbar-color|scrollbar-width|text-align-last|image-rendering|animation-delay|transform-style|object-position|offset-position|text-space-trim|justify-content|overflow-anchor|overflow-inline|inset-block-end|border-collapse|grid-column-end|scroll-behavior|border-spacing|scroll-padding|text-align-all|pointer-events|max-block-size|text-transform|letter-spacing|lighting-color|mask-composite|initial-letter|mix-blend-mode|overflow-block|animation-name|grid-row-start|flex-direction|padding-inline|grid-auto-rows|grid-auto-flow|vertical-align|outline-offset|text-rendering|font-synthesis|padding-bottom|margin-inline|padding-block|offset-rotate|text-overflow|border-inline|margin-bottom|offset-anchor|scroll-margin|outline-style|border-bottom|shape-outside|outline-width|shape-padding|text-emphasis|align-content|grid-template|border-radius|transform-box|overflow-wrap|justify-items|mask-position|place-content|inline-sizing|counter-reset|padding-right|outline-color|writing-mode|column-width|column-count|table-layout|touch-action|padding-left|color-adjust|word-spacing|text-justify|shape-margin|caption-side|break-inside|shape-inside|margin-right|break-before|font-kerning|font-stretch|border-width|margin-break|text-spacing|border-style|aspect-ratio|margin-block|grid-row-end|border-block|line-padding|border-right|wrap-through|border-color|border-image|justify-self|inset-inline|unicode-bidi|font-variant|empty-cells|border-left|white-space|wrap-inside|grid-column|will-change|text-shadow|offset-path|user-select|inline-size|break-after|place-items|caret-color|text-indent|padding-top|inset-block|wrap-before|font-weight|flex-shrink|line-height|perspective|column-fill|mask-repeat|align-items|margin-left|mask-origin|margin-trim|column-rule|font-family|column-span|counter-set|mask-border|mask-image|string-set|align-self|margin-top|place-self|list-style|wrap-after|block-size|word-break|line-clamp|line-break|flex-basis|max-height|min-height|object-fit|appearance|box-sizing|transition|box-shadow|background|border-top|visibility|overflow-x|column-gap|font-style|overflow-y|text-align|mask-size|line-snap|flex-wrap|nav-right|isolation|flex-grow|flex-flow|translate|line-grid|text-wrap|wrap-flow|min-width|max-width|direction|clip-path|word-wrap|mask-clip|max-lines|mask-type|grid-area|animation|mask-mode|transform|font-size|nav-down|position|overflow|grid-row|tab-size|nav-left|display|row-gap|content|opacity|padding|orphans|outline|columns|hyphens|z-index|margin|border|rotate|filter|resize|quotes|bottom|height|offset|nav-up|cursor|widows|color|inset|order|scale|right|float|width|clear|font|flex|left|mask|clip|page|grid|gap|src|top|all)(?=\s*:)">
   265        <token type="NameAttribute"/>
   266        <push state="attr"/>
   267      </rule>
   268      <rule pattern="(?&lt;!:\s*)[^ \t:=&#34;\[;(),.]+(?=[ \t]*:(?:#{|[^{])+?[;,])">
   269        <token type="NameAttribute"/>
   270        <push state="attr"/>
   271      </rule>
   272      <rule>
   273        <push state="selector"/>
   274      </rule>
   275    </state>
   276    <state name="for">
   277      <rule pattern="(from|to|through)">
   278        <token type="OperatorWord"/>
   279      </rule>
   280      <rule>
   281        <include state="value"/>
   282      </rule>
   283    </state>
   284    <state name="class">
   285      <rule pattern="[\w-]+">
   286        <token type="NameClass"/>
   287      </rule>
   288      <rule pattern="#\{">
   289        <token type="LiteralStringInterpol"/>
   290        <push state="interpolation"/>
   291      </rule>
   292      <rule>
   293        <pop depth="1"/>
   294      </rule>
   295    </state>
   296    <state name="selector">
   297      <rule pattern="[ \t]+">
   298        <token type="Text"/>
   299      </rule>
   300      <rule pattern="\:">
   301        <token type="NameDecorator"/>
   302        <push state="pseudo-class"/>
   303      </rule>
   304      <rule pattern="\.">
   305        <token type="NameClass"/>
   306        <push state="class"/>
   307      </rule>
   308      <rule pattern="#\{">
   309        <token type="LiteralStringInterpol"/>
   310        <push state="interpolation"/>
   311      </rule>
   312      <rule pattern="\#">
   313        <token type="NameNamespace"/>
   314        <push state="id"/>
   315      </rule>
   316      <rule pattern="&amp;">
   317        <token type="Keyword"/>
   318      </rule>
   319      <rule pattern="[~^*!&amp;\[\]()&lt;&gt;|+=@:,./?-]">
   320        <token type="Operator"/>
   321      </rule>
   322      <rule pattern="(%)([\w-]+)">
   323        <bygroups>
   324          <token type="Operator"/>
   325          <token type="NameClass"/>
   326        </bygroups>
   327      </rule>
   328      <rule pattern="&#34;">
   329        <token type="LiteralStringDouble"/>
   330        <push state="string-double"/>
   331      </rule>
   332      <rule pattern="&#39;">
   333        <token type="LiteralStringSingle"/>
   334        <push state="string-single"/>
   335      </rule>
   336      <rule pattern="\n">
   337        <token type="Text"/>
   338      </rule>
   339      <rule pattern="[;{}]">
   340        <token type="Punctuation"/>
   341        <pop depth="1"/>
   342      </rule>
   343      <rule pattern="[\w-]+">
   344        <token type="NameTag"/>
   345      </rule>
   346    </state>
   347    <state name="string-url">
   348      <rule pattern="(\\#|#(?=[^\n{])|[^\n#)])+">
   349        <token type="LiteralStringOther"/>
   350      </rule>
   351      <rule pattern="#\{">
   352        <token type="LiteralStringInterpol"/>
   353        <push state="interpolation"/>
   354      </rule>
   355      <rule pattern="\)">
   356        <token type="LiteralStringOther"/>
   357        <pop depth="1"/>
   358      </rule>
   359    </state>
   360    <state name="pseudo-class">
   361      <rule pattern="[\w-]+">
   362        <token type="NameDecorator"/>
   363      </rule>
   364      <rule pattern="#\{">
   365        <token type="LiteralStringInterpol"/>
   366        <push state="interpolation"/>
   367      </rule>
   368      <rule>
   369        <pop depth="1"/>
   370      </rule>
   371    </state>
   372  </rules>
   373</lexer>

View as plain text