...
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"#])+">
14 <token type="LiteralStringDouble"/>
15 </rule>
16 <rule pattern="#\{">
17 <token type="LiteralStringInterpol"/>
18 <push state="interpolation"/>
19 </rule>
20 <rule pattern=""">
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="(?<!:\s*)[^ \t:="\[;(),.]+(?=[ \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="[~^*!&%<>|+=@:,./?-]+">
101 <token type="Operator"/>
102 </rule>
103 <rule pattern="[\[\]()]+">
104 <token type="Punctuation"/>
105 </rule>
106 <rule pattern=""">
107 <token type="LiteralStringDouble"/>
108 <push state="string-double"/>
109 </rule>
110 <rule pattern="'">
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'#])+">
140 <token type="LiteralStringSingle"/>
141 </rule>
142 <rule pattern="#\{">
143 <token type="LiteralStringInterpol"/>
144 <push state="interpolation"/>
145 </rule>
146 <rule pattern="'">
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="(?<!:\s*)[^ \t:="\[;(),.]+(?=[ \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="&">
317 <token type="Keyword"/>
318 </rule>
319 <rule pattern="[~^*!&\[\]()<>|+=@:,./?-]">
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=""">
329 <token type="LiteralStringDouble"/>
330 <push state="string-double"/>
331 </rule>
332 <rule pattern="'">
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