Warning, /frameworks/syntax-highlighting/data/syntax/scss.xml is written in an unsupported language. File is not indexed.
0001 <?xml version="1.0" encoding="UTF-8"?> 0002 <!DOCTYPE language 0003 [ 0004 <!-- https://www.w3.org/TR/CSS22/syndata.html#tokenization --> 0005 <!ENTITY escaped "\\([0-9a-fA-F]{1,6}|[^\n\r\f0-9a-fA-F])"> 0006 <!-- identifiers starting with several - are invalid, but supported by browsers --> 0007 <!ENTITY ident2 "([-\w]+|&escaped;)+"> 0008 <!ENTITY selector "(&ident2;|(?=\#\{))"> 0009 <!ENTITY ident "-?([_a-zA-Z]+|&escaped;)([-_a-zA-Z0-9]+|&escaped;)*"> 0010 <!ENTITY var "--[-\w]*"> 0011 <!ENTITY func "[-_a-zA-Z][-_a-zA-Z0-9]*"> 0012 <!ENTITY propcheck "(?=\s*(/[*].*?[*]/\s*)?:)"> 0013 0014 <!-- #{...} and #{...#{...}...} --> 0015 <!ENTITY interpolation "#\{([^}#]*+|#\{[^}]*+\})*+\}"> 0016 <!ENTITY comment "/\*.*?\*/"> 0017 <!ENTITY spaces "(\s|&comment;)*+"> 0018 <!-- TODO --> 0019 <!ENTITY pseudoclasses "active|any-link|autofill|buffering|checked|current|default|defined|dir|disabled|empty|enabled|first|first-child|first-of-type|focus|focus-visible|focus-within|fullscreen|has|host|host-context|hover|in-range|indeterminate|invalid|is|lang|last-child|last-of-type|left|link|local-link|modal|muted|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|optional|out-of-range|paused|picture-in-picture|placeholder-shown|playing|read-only|read-write|required|right|root|scope|seeking|stalled|target|user-invalid|user-valid|valid|visited|volume-locked|where"> 0020 0021 <!ENTITY propvar1 "([-_a-zA-Z0-9]*+\.)?\$"> 0022 <!ENTITY propvar2 "--[-_a-zA-Z0-9]*+&spaces;:"> 0023 <!ENTITY maybeprop "([-a-zA-Z]++|&interpolation;)+&spaces;:(?!:)"> 0024 <!ENTITY assumeprop "([^-a-zA-Z]|$|((?!(&pseudoclasses;)\b)[^;{}:]*+(\s*[;}]|$)))"> 0025 ]> 0026 0027 <!-- 0028 0029 Kate SCSS syntax highlighting definition 0030 0031 Changelog: 0032 0033 - Version 7, by Jonathan Poelen 0034 - fix tag followed by a pseudo-class in a nested rule (@media, ...) 0035 - fix constraint in a rule 0036 - fix Kate auto-completion for properties and rules 0037 - fix highlighting of pseudoclass/pseudoelement in a sub-rule 0038 - New highlighting categories: Keyword, Operator, Separator Symbol, SpecialChar, Value Keyword, Color, Number, Unit, Selector Tag, Placeholder Selector 0039 0040 - Version 4, by Guo Yunhe guoyunhebrave@gmail.com 0041 - Remake for complex SCSS syntax, avoid errors 0042 0043 - Version 2.06, by Guo Yunhe 0044 - Add all W3C Work Draft properties, inherit rules from css.xml 0045 0046 - Version 1.2.03.6, by Mte90 0047 - Css3 Tag 0048 0049 - Version 1.2.03.1, by Tijn Schuurmans 0050 - Added basic support for "@include mixin();" 0051 - Clean the indentation to use 4 spaces everywhere 0052 0053 --> 0054 0055 <language name="SCSS" version="17" kateversion="5.79" section="Markup" extensions="*.scss" indenter="cstyle" mimetype="text/css" author="Wilbert Berendsen (wilbert@kde.nl)" license="LGPL" priority="10"> 0056 0057 <highlighting> 0058 <list name="properties"> 0059 <include>properties##CSS</include> 0060 </list> 0061 0062 <list name="vendor properties"> 0063 <include>vendor properties##CSS</include> 0064 </list> 0065 0066 <list name="sub-properties"> 0067 <item>-webkit</item> 0068 <item>-webkit-line</item> 0069 <item>-webkit-text</item> 0070 <item>-webkit-text-fill</item> 0071 <item>accent</item> 0072 <item>action</item> 0073 <item>additive</item> 0074 <item>adjust</item> 0075 <item>after</item> 0076 <item>align</item> 0077 <item>align-last</item> 0078 <item>alternates</item> 0079 <item>anchor</item> 0080 <item>animation-fill</item> 0081 <item>animation-iteration</item> 0082 <item>animation-play</item> 0083 <item>animation-timing</item> 0084 <item>area</item> 0085 <item>areas</item> 0086 <item>as</item> 0087 <item>ascent</item> 0088 <item>asian</item> 0089 <item>aspect</item> 0090 <item>attachment</item> 0091 <item>auto</item> 0092 <item>auto-columns</item> 0093 <item>auto-flow</item> 0094 <item>auto-rows</item> 0095 <item>backdrop</item> 0096 <item>backface</item> 0097 <item>background-blend</item> 0098 <item>base</item> 0099 <item>basis</item> 0100 <item>before</item> 0101 <item>behavior</item> 0102 <item>behavior-block</item> 0103 <item>behavior-inline</item> 0104 <item>behavior-x</item> 0105 <item>behavior-y</item> 0106 <item>bidi</item> 0107 <item>blend</item> 0108 <item>blend-mode</item> 0109 <item>block</item> 0110 <item>block-color</item> 0111 <item>block-end</item> 0112 <item>block-end-color</item> 0113 <item>block-end-style</item> 0114 <item>block-end-width</item> 0115 <item>block-start</item> 0116 <item>block-start-color</item> 0117 <item>block-start-style</item> 0118 <item>block-start-width</item> 0119 <item>block-style</item> 0120 <item>block-width</item> 0121 <item>border-bottom-left</item> 0122 <item>border-bottom-right</item> 0123 <item>border-end</item> 0124 <item>border-end-end</item> 0125 <item>border-end-start</item> 0126 <item>border-mode</item> 0127 <item>border-outset</item> 0128 <item>border-repeat</item> 0129 <item>border-slice</item> 0130 <item>border-source</item> 0131 <item>border-start</item> 0132 <item>border-start-end</item> 0133 <item>border-start-start</item> 0134 <item>border-top-left</item> 0135 <item>border-top-right</item> 0136 <item>bottom-color</item> 0137 <item>bottom-left</item> 0138 <item>bottom-left-radius</item> 0139 <item>bottom-right</item> 0140 <item>bottom-right-radius</item> 0141 <item>bottom-style</item> 0142 <item>bottom-width</item> 0143 <item>box</item> 0144 <item>box-decoration</item> 0145 <item>break</item> 0146 <item>caps</item> 0147 <item>caption</item> 0148 <item>caret</item> 0149 <item>cells</item> 0150 <item>change</item> 0151 <item>character</item> 0152 <item>chars</item> 0153 <item>clamp</item> 0154 <item>clip</item> 0155 <item>clip-margin</item> 0156 <item>collapse</item> 0157 <item>color-adjust</item> 0158 <item>colors</item> 0159 <item>column</item> 0160 <item>column-end</item> 0161 <item>column-start</item> 0162 <item>combine</item> 0163 <item>combine-upright</item> 0164 <item>composite</item> 0165 <item>composition</item> 0166 <item>contain-intrinsic</item> 0167 <item>contain-intrinsic-block</item> 0168 <item>contain-intrinsic-inline</item> 0169 <item>count</item> 0170 <item>counter</item> 0171 <item>decoration</item> 0172 <item>decoration-break</item> 0173 <item>decoration-color</item> 0174 <item>decoration-line</item> 0175 <item>decoration-skip</item> 0176 <item>decoration-skip-ink</item> 0177 <item>decoration-style</item> 0178 <item>decoration-thickness</item> 0179 <item>delay</item> 0180 <item>depth</item> 0181 <item>descent</item> 0182 <item>distance</item> 0183 <item>duration</item> 0184 <item>east</item> 0185 <item>east-asian</item> 0186 <item>emoji</item> 0187 <item>emphasis</item> 0188 <item>emphasis-color</item> 0189 <item>emphasis-position</item> 0190 <item>emphasis-style</item> 0191 <item>empty</item> 0192 <item>end</item> 0193 <item>end-color</item> 0194 <item>end-end</item> 0195 <item>end-end-radius</item> 0196 <item>end-radius</item> 0197 <item>end-start</item> 0198 <item>end-start-radius</item> 0199 <item>end-style</item> 0200 <item>end-width</item> 0201 <item>events</item> 0202 <item>family</item> 0203 <item>feature</item> 0204 <item>feature-settings</item> 0205 <item>fill</item> 0206 <item>fill-color</item> 0207 <item>fill-mode</item> 0208 <item>fit</item> 0209 <item>flow</item> 0210 <item>font-feature</item> 0211 <item>font-language</item> 0212 <item>font-optical</item> 0213 <item>font-synthesis-small</item> 0214 <item>font-variant-east</item> 0215 <item>font-variation</item> 0216 <item>forced</item> 0217 <item>forced-color</item> 0218 <item>function</item> 0219 <item>gap-override</item> 0220 <item>grid-auto</item> 0221 <item>grow</item> 0222 <item>gutter</item> 0223 <item>hanging</item> 0224 <item>hyphenate</item> 0225 <item>hyphenate-limit</item> 0226 <item>image</item> 0227 <item>image-outset</item> 0228 <item>image-repeat</item> 0229 <item>image-slice</item> 0230 <item>image-source</item> 0231 <item>image-threshold</item> 0232 <item>image-width</item> 0233 <item>increment</item> 0234 <item>indent</item> 0235 <item>index</item> 0236 <item>initial</item> 0237 <item>ink</item> 0238 <item>inline</item> 0239 <item>inline-color</item> 0240 <item>inline-end</item> 0241 <item>inline-end-color</item> 0242 <item>inline-end-style</item> 0243 <item>inline-end-width</item> 0244 <item>inline-start</item> 0245 <item>inline-start-color</item> 0246 <item>inline-start-style</item> 0247 <item>inline-start-width</item> 0248 <item>inline-style</item> 0249 <item>inline-width</item> 0250 <item>inside</item> 0251 <item>intrinsic</item> 0252 <item>intrinsic-block</item> 0253 <item>intrinsic-block-size</item> 0254 <item>intrinsic-height</item> 0255 <item>intrinsic-inline</item> 0256 <item>intrinsic-inline-size</item> 0257 <item>intrinsic-size</item> 0258 <item>intrinsic-width</item> 0259 <item>items</item> 0260 <item>iteration</item> 0261 <item>iteration-count</item> 0262 <item>justify</item> 0263 <item>kerning</item> 0264 <item>language</item> 0265 <item>language-override</item> 0266 <item>last</item> 0267 <item>layout</item> 0268 <item>left-color</item> 0269 <item>left-radius</item> 0270 <item>left-style</item> 0271 <item>left-width</item> 0272 <item>letter</item> 0273 <item>ligatures</item> 0274 <item>limit</item> 0275 <item>limit-chars</item> 0276 <item>line</item> 0277 <item>line-clamp</item> 0278 <item>line-gap</item> 0279 <item>list</item> 0280 <item>math</item> 0281 <item>max</item> 0282 <item>max-block</item> 0283 <item>max-inline</item> 0284 <item>min</item> 0285 <item>min-block</item> 0286 <item>min-inline</item> 0287 <item>mix</item> 0288 <item>mix-blend</item> 0289 <item>mode</item> 0290 <item>name</item> 0291 <item>numeric</item> 0292 <item>object</item> 0293 <item>optical</item> 0294 <item>optical-sizing</item> 0295 <item>orientation</item> 0296 <item>origin</item> 0297 <item>outset</item> 0298 <item>outside</item> 0299 <item>overflow-clip</item> 0300 <item>override</item> 0301 <item>overscroll</item> 0302 <item>page-break</item> 0303 <item>paint</item> 0304 <item>palette</item> 0305 <item>path</item> 0306 <item>place</item> 0307 <item>play</item> 0308 <item>play-state</item> 0309 <item>pointer</item> 0310 <item>position-x</item> 0311 <item>position-y</item> 0312 <item>print</item> 0313 <item>print-color</item> 0314 <item>property</item> 0315 <item>punctuation</item> 0316 <item>radius</item> 0317 <item>ratio</item> 0318 <item>rendering</item> 0319 <item>repeat</item> 0320 <item>reset</item> 0321 <item>right-color</item> 0322 <item>right-radius</item> 0323 <item>right-style</item> 0324 <item>right-width</item> 0325 <item>row</item> 0326 <item>row-end</item> 0327 <item>row-start</item> 0328 <item>rows</item> 0329 <item>ruby</item> 0330 <item>rule</item> 0331 <item>rule-color</item> 0332 <item>rule-style</item> 0333 <item>rule-width</item> 0334 <item>scheme</item> 0335 <item>scroll</item> 0336 <item>scroll-snap</item> 0337 <item>scrollbar</item> 0338 <item>select</item> 0339 <item>self</item> 0340 <item>set</item> 0341 <item>settings</item> 0342 <item>shadow</item> 0343 <item>shape</item> 0344 <item>shape-image</item> 0345 <item>shrink</item> 0346 <item>side</item> 0347 <item>sizing</item> 0348 <item>skip</item> 0349 <item>skip-ink</item> 0350 <item>slice</item> 0351 <item>small</item> 0352 <item>small-caps</item> 0353 <item>snap</item> 0354 <item>snap-align</item> 0355 <item>snap-stop</item> 0356 <item>snap-type</item> 0357 <item>source</item> 0358 <item>space</item> 0359 <item>spacing</item> 0360 <item>span</item> 0361 <item>speak</item> 0362 <item>start</item> 0363 <item>start-color</item> 0364 <item>start-end</item> 0365 <item>start-end-radius</item> 0366 <item>start-radius</item> 0367 <item>start-start</item> 0368 <item>start-start-radius</item> 0369 <item>start-style</item> 0370 <item>start-width</item> 0371 <item>state</item> 0372 <item>stop</item> 0373 <item>stretch</item> 0374 <item>stroke</item> 0375 <item>stroke-color</item> 0376 <item>stroke-width</item> 0377 <item>style</item> 0378 <item>style-image</item> 0379 <item>style-position</item> 0380 <item>style-type</item> 0381 <item>synthesis</item> 0382 <item>synthesis-position</item> 0383 <item>synthesis-small</item> 0384 <item>synthesis-small-caps</item> 0385 <item>synthesis-style</item> 0386 <item>synthesis-weight</item> 0387 <item>tab</item> 0388 <item>table</item> 0389 <item>template</item> 0390 <item>template-areas</item> 0391 <item>template-columns</item> 0392 <item>template-rows</item> 0393 <item>text</item> 0394 <item>text-combine</item> 0395 <item>text-decoration-skip</item> 0396 <item>text-fill</item> 0397 <item>text-fill-color</item> 0398 <item>text-stroke</item> 0399 <item>text-stroke-color</item> 0400 <item>text-stroke-width</item> 0401 <item>text-underline</item> 0402 <item>thickness</item> 0403 <item>threshold</item> 0404 <item>timing</item> 0405 <item>timing-function</item> 0406 <item>top-color</item> 0407 <item>top-left</item> 0408 <item>top-left-radius</item> 0409 <item>top-right</item> 0410 <item>top-right-radius</item> 0411 <item>top-style</item> 0412 <item>top-width</item> 0413 <item>touch</item> 0414 <item>transition-timing</item> 0415 <item>type</item> 0416 <item>underline</item> 0417 <item>underline-offset</item> 0418 <item>underline-position</item> 0419 <item>unicode</item> 0420 <item>upright</item> 0421 <item>user</item> 0422 <item>value</item> 0423 <item>variant</item> 0424 <item>variant-alternates</item> 0425 <item>variant-caps</item> 0426 <item>variant-east</item> 0427 <item>variant-east-asian</item> 0428 <item>variant-emoji</item> 0429 <item>variant-ligatures</item> 0430 <item>variant-numeric</item> 0431 <item>variant-position</item> 0432 <item>variation</item> 0433 <item>variation-settings</item> 0434 <item>vertical</item> 0435 <item>weight</item> 0436 <item>white</item> 0437 <item>will</item> 0438 <item>word</item> 0439 <item>wrap</item> 0440 <item>writing</item> 0441 <item>x</item> 0442 <item>y</item> 0443 <item>z</item> 0444 </list> 0445 0446 <list name="media types"> 0447 <include>media types##CSS</include> 0448 </list> 0449 0450 <list name="media features"> 0451 <include>media features##CSS</include> 0452 </list> 0453 0454 <list name="special values"> 0455 <item>true</item> 0456 <item>false</item> 0457 <item>null</item> 0458 </list> 0459 0460 <list name="value keywords"> 0461 <include>value keywords##CSS</include> 0462 </list> 0463 0464 <list name="values"> 0465 <include>values##CSS</include> 0466 </list> 0467 0468 <list name="colors"> 0469 <include>colors##CSS</include> 0470 </list> 0471 0472 <list name="functions"> 0473 <include>functions##CSS</include> 0474 0475 <!-- https://sass-lang.com/documentation/modules/ --> 0476 0477 <!-- color --> 0478 <item>adjust-color</item> 0479 <item>adjust-hue</item> 0480 <item>alpha</item> 0481 <item>blue</item> 0482 <item>change-color</item> 0483 <item>color.alpha</item> 0484 <item>color.blackness</item> 0485 <item>color.blue</item> 0486 <item>color.complement</item> 0487 <item>color.grayscale</item> 0488 <item>color.green</item> 0489 <item>color.hue</item> 0490 <item>color.hwb</item> 0491 <item>color.ie-hex-str</item> 0492 <item>color.invert</item> 0493 <item>color.lightness</item> 0494 <item>color.mix</item> 0495 <item>color.red</item> 0496 <item>color.saturate</item> 0497 <item>color.saturation</item> 0498 <item>color.whiteness</item> 0499 <item>complement</item> 0500 <item>darken</item> 0501 <item>desaturate</item> 0502 <item>fade-in</item> 0503 <item>fade-out</item> 0504 <item>green</item> 0505 <item>hue</item> 0506 <item>ie-hex-str</item> 0507 <item>lighten</item> 0508 <item>lightness</item> 0509 <item>mix</item> 0510 <item>opacify</item> 0511 <item>red</item> 0512 <item>saturation</item> 0513 <item>scale-color</item> 0514 <item>transparentize</item> 0515 0516 <!-- index --> 0517 <item>hsla</item> 0518 <item>if</item> 0519 <item>rgba</item> 0520 0521 <!-- list --> 0522 <item>append</item> 0523 <item>index</item> 0524 <item>is-bracketed</item> 0525 <item>join</item> 0526 <item>length</item> 0527 <item>list-separator</item> 0528 <item>list.append</item> 0529 <item>list.index</item> 0530 <item>list.is-bracketed</item> 0531 <item>list.join</item> 0532 <item>list.length</item> 0533 <item>list.nth</item> 0534 <item>list.separator</item> 0535 <item>list.set-nth</item> 0536 <item>list.slash</item> 0537 <item>list.zip</item> 0538 <item>nth</item> 0539 <item>set-nth</item> 0540 <item>zip</item> 0541 0542 <!-- map --> 0543 <item>map-get</item> 0544 <item>map-has-key</item> 0545 <item>map-keys</item> 0546 <item>map-merge</item> 0547 <item>map-remove</item> 0548 <item>map-values</item> 0549 <item>map.deep-merge</item> 0550 <item>map.deep-remove</item> 0551 <item>map.get</item> 0552 <item>map.has-key</item> 0553 <item>map.keys</item> 0554 <item>map.merge</item> 0555 <item>map.remove</item> 0556 <item>map.set</item> 0557 <item>map.values</item> 0558 0559 <!-- math --> 0560 <item>ceil</item> 0561 <item>comparable</item> 0562 <item>floor</item> 0563 <item>math.abs</item> 0564 <item>math.acos</item> 0565 <item>math.asin</item> 0566 <item>math.atan</item> 0567 <item>math.atan2</item> 0568 <item>math.ceil</item> 0569 <item>math.clamp</item> 0570 <item>math.compatible</item> 0571 <item>math.cos</item> 0572 <item>math.div</item> 0573 <item>math.floor</item> 0574 <item>math.hypot</item> 0575 <item>math.is-unitless</item> 0576 <item>math.log</item> 0577 <item>math.max</item> 0578 <item>math.min</item> 0579 <item>math.percentage</item> 0580 <item>math.pow</item> 0581 <item>math.random</item> 0582 <item>math.round</item> 0583 <item>math.sin</item> 0584 <item>math.sqrt</item> 0585 <item>math.tan</item> 0586 <item>math.unit</item> 0587 <item>percentage</item> 0588 <item>random</item> 0589 <item>unit</item> 0590 <item>unitless</item> 0591 0592 <!-- meta --> 0593 <item>call</item> 0594 <item>content-exists</item> 0595 <item>feature-exists</item> 0596 <item>function-exists</item> 0597 <item>get-function</item> 0598 <item>global-variable-exists</item> 0599 <item>inspect</item> 0600 <item>keywords</item> 0601 <item>meta.calc-args</item> 0602 <item>meta.calc-name</item> 0603 <item>meta.call</item> 0604 <item>meta.content-exists</item> 0605 <item>meta.feature-exists</item> 0606 <item>meta.function-exists</item> 0607 <item>meta.get-function</item> 0608 <item>meta.global-variable-exists</item> 0609 <item>meta.inspect</item> 0610 <item>meta.keywords</item> 0611 <item>meta.load-css</item> 0612 <item>meta.mixin-exists</item> 0613 <item>meta.module-functions</item> 0614 <item>meta.module-variables</item> 0615 <item>meta.type-of</item> 0616 <item>meta.variable-exists</item> 0617 <item>mixin-exists</item> 0618 <item>type-of</item> 0619 <item>variable-exists</item> 0620 0621 <!-- selector --> 0622 <item>is-superselector</item> 0623 <item>selector-append</item> 0624 <item>selector-extend</item> 0625 <item>selector-nest</item> 0626 <item>selector-parse</item> 0627 <item>selector-replace</item> 0628 <item>selector-unify</item> 0629 <item>selector.append</item> 0630 <item>selector.extend</item> 0631 <item>selector.is-superselector</item> 0632 <item>selector.nest</item> 0633 <item>selector.parse</item> 0634 <item>selector.replace</item> 0635 <item>selector.simple-selectors</item> 0636 <item>selector.unify</item> 0637 <item>simple-selectors</item> 0638 0639 <!-- string --> 0640 <item>quote</item> 0641 <item>str-index</item> 0642 <item>str-insert</item> 0643 <item>str-length</item> 0644 <item>str-slice</item> 0645 <item>string.index</item> 0646 <item>string.insert</item> 0647 <item>string.length</item> 0648 <item>string.quote</item> 0649 <item>string.slice</item> 0650 <item>string.split</item> 0651 <item>string.to-lower-case</item> 0652 <item>string.to-upper-case</item> 0653 <item>string.unique-id</item> 0654 <item>string.unquote</item> 0655 <item>to-lower-case</item> 0656 <item>to-upper-case</item> 0657 <item>unique-id</item> 0658 <item>unquote</item> 0659 </list> 0660 0661 <!-- prefixed by :: --> 0662 <list name="pseudo-elements"> 0663 <include>pseudo-elements##CSS</include> 0664 </list> 0665 0666 <!-- prefixed by : --> 0667 <list name="pseudo-classes"> 0668 <include>pseudo-classes##CSS</include> 0669 </list> 0670 0671 <list name="@page pseudo-classes"> 0672 <include>@page pseudo-classes##CSS</include> 0673 </list> 0674 0675 <list name="at-rules"> 0676 <include>at-rules##CSS</include> 0677 0678 <!-- scss --> 0679 <item>@at-root</item> 0680 <item>@content</item> 0681 <item>@debug</item> 0682 <item>@each</item> 0683 <item>@else</item> 0684 <item>@error</item> 0685 <item>@extend</item> 0686 <item>@for</item> 0687 <item>@forward</item> 0688 <item>@function</item> 0689 <item>@if</item> 0690 <item>@import</item> 0691 <item>@include</item> 0692 <item>@mixin</item> 0693 <item>@return</item> 0694 <item>@use</item> 0695 <item>@warn</item> 0696 <item>@while</item> 0697 </list> 0698 0699 <list name="at-rules definitions"> 0700 <include>at-rules definitions##CSS</include> 0701 </list> 0702 0703 <list name="operators"> 0704 <item>and</item> 0705 <item>or</item> 0706 <item>not</item> 0707 </list> 0708 0709 <list name="media operators"> 0710 <item>or</item> 0711 <item>and</item> 0712 <item>only</item> 0713 <item>not</item> 0714 </list> 0715 0716 <list name="annotations"> 0717 <item>important</item> 0718 <item>default</item> 0719 <item>global</item> 0720 <item>optional</item> 0721 </list> 0722 0723 <contexts> 0724 <context name="Base" attribute="Normal Text" fallthroughContext="Selector"> 0725 <DetectSpaces attribute="Normal Text"/> 0726 <Detect2Chars context="InterpolationPropertyOrSelector" char="#" char1="{" lookAhead="1"/> 0727 <AnyChar context="Selector" String="*>+~|&#.%,:[\" lookAhead="1"/> 0728 <DetectChar attribute="Block Symbol" char="{" beginRegion="ruleset"/> 0729 <DetectChar attribute="Block Symbol" char="}" endRegion="ruleset"/> 0730 <DetectChar context="SelectAtRule" char="@" lookAhead="1"/> 0731 <IncludeRules context="FindComments"/> 0732 <RegExpr context="Property" String="(&propvar1;|&propvar2;|&maybeprop;&assumeprop;)|" lookAhead="1"/> 0733 </context> 0734 <context name="InterpolationPropertyOrSelector" attribute="Normal Text" fallthroughContext="#pop!Selector"> 0735 <RegExpr context="#pop!Property" String="(&propvar1;|&propvar2;|&maybeprop;&assumeprop;)|" lookAhead="1"/> 0736 </context> 0737 0738 <!-- selectors // .class #id :hover :nth-child(2n+1) [type="search"] --> 0739 <context name="Selector" attribute="Normal Text"> 0740 <DetectSpaces/> 0741 <DetectChar attribute="Block Symbol" context="#pop" char="{" beginRegion="ruleset"/> 0742 <DetectChar attribute="Block Symbol" context="#pop" char="}" endRegion="ruleset"/> 0743 <DetectChar attribute="Separator Symbol" context="#pop" char=";"/> 0744 <IncludeRules context="FindSelector"/> 0745 </context> 0746 0747 <!-- selectors // .class #id :hover :nth-child(2n+1) [type="search"] --> 0748 <context name="FindSelector" attribute="Normal Text"> 0749 <DetectChar attribute="Separator Symbol" char=","/> 0750 <DetectChar attribute="Selector Pseudo" context="PseudoClassOrElement" char=":"/> 0751 <DetectChar attribute="Selector Attribute" context="SelectorAttr" char="["/> 0752 <DetectChar attribute="Selector Pseudo" context="PseudoClassSelector" char="("/> 0753 <AnyChar attribute="Selector Symbol" String="*>+~|&"/> 0754 <IncludeRules context="FindComments"/> 0755 <IncludeRules context="FindInterpolation"/> 0756 <RegExpr attribute="Selector Class" String="\.&selector;" context="SelectorClass"/> 0757 <RegExpr attribute="Selector Id" String="#&selector;" context="SelectorId"/> 0758 <RegExpr attribute="Selector Tag" String="&ident;"/> 0759 <RegExpr attribute="Placeholder Selector" String="%&selector;" context="SelectorPlaceholder"/> 0760 <DetectChar attribute="Error" char="$"/> 0761 </context> 0762 0763 <context name="SelectorClass" attribute="Selector Class" lineEndContext="#pop" fallthroughContext="#pop"> 0764 <Detect2Chars context="SelectorClass2" char="#" char1="{" lookAhead="1"/> 0765 </context> 0766 <context name="SelectorClass2" attribute="Selector Class" fallthroughContext="#pop#pop"> 0767 <IncludeRules context="FindInterpolation"/> 0768 <RegExpr String="&ident2;"/> 0769 </context> 0770 0771 <context name="SelectorId" attribute="Selector Id" lineEndContext="#pop" fallthroughContext="#pop"> 0772 <Detect2Chars context="SelectorId2" char="#" char1="{" lookAhead="1"/> 0773 </context> 0774 <context name="SelectorId2" attribute="Selector Id" fallthroughContext="#pop#pop"> 0775 <IncludeRules context="SelectorClass2"/> 0776 </context> 0777 0778 <context name="SelectorPlaceholder" attribute="Placeholder Selector" lineEndContext="#pop" fallthroughContext="#pop"> 0779 <Detect2Chars context="SelectorPlaceholder2" char="#" char1="{" lookAhead="1"/> 0780 </context> 0781 <context name="SelectorPlaceholder2" attribute="Placeholder Selector" fallthroughContext="#pop#pop"> 0782 <IncludeRules context="SelectorClass2"/> 0783 </context> 0784 0785 0786 <context name="Property" attribute="Normal Text"> 0787 <DetectChar attribute="Property Separator" context="PropertyValues" char=":"/> 0788 <IncludeRules context="FindVariable"/> 0789 <IncludeRules context="FindComments"/> 0790 <IncludeRules context="FindInterpolation"/> 0791 <Detect2Chars attribute="Variable" context="Variable" char="-" char1="-"/> 0792 <keyword attribute="Property" String="properties"/> 0793 <keyword attribute="Property" String="sub-properties"/> 0794 <IncludeRules context="FindVendorProperty"/> 0795 <RegExpr attribute="Unknown Property" String="[-_a-zA-Z0-9]++(?!\.)"/> 0796 <RegExpr attribute="Normal Text" String="[-_a-zA-Z0-9]+\."/> 0797 </context> 0798 0799 <context name="PropertyValues" attribute="Normal Text"> 0800 <DetectSpaces attribute="Normal Text"/> 0801 <DetectChar attribute="Separator Symbol" context="#pop#pop" char=";"/> 0802 <DetectChar attribute="Block Symbol" context="#pop#pop!SubProperty" char="{" beginRegion="ruleset"/> 0803 <DetectChar attribute="Block Symbol" context="#pop#pop" char="}" endRegion="ruleset"/> 0804 <DetectChar attribute="Separator Symbol" char=","/> 0805 <DetectChar attribute="Selector Symbol" char="&"/> 0806 <IncludeRules context="FindStrings"/> 0807 <IncludeRules context="FindInterpolationWithUnit"/> 0808 <IncludeRules context="FindComments"/> 0809 <IncludeRules context="FindFunctions"/> 0810 <IncludeRules context="FindValues"/> 0811 </context> 0812 0813 <context name="SubProperty" attribute="Normal Text"> 0814 <DetectSpaces attribute="Normal Text"/> 0815 <DetectChar attribute="Error" char=";"/> 0816 <DetectChar attribute="Block Symbol" context="SubProperty" char="{" beginRegion="ruleset"/> 0817 <DetectChar attribute="Block Symbol" context="#pop" char="}" endRegion="ruleset"/> 0818 <DetectChar attribute="Property Separator" context="SubPropertyValues" char=":"/> 0819 <IncludeRules context="Property"/> 0820 </context> 0821 <context name="SubPropertyValues" attribute="Normal Text"> 0822 <DetectChar attribute="Separator Symbol" context="#pop" char=";"/> 0823 <DetectChar attribute="Block Symbol" context="#pop!SubProperty" char="{" beginRegion="ruleset"/> 0824 <IncludeRules context="PropertyValues"/> 0825 </context> 0826 0827 0828 <!-- find strings // "some words" 'some words' --> 0829 <context name="FindInterpolation" attribute="Normal Text"> 0830 <Detect2Chars attribute="Interpolation" context="Interpolation" char="#" char1="{"/> 0831 </context> 0832 <context name="FindInterpolationWithUnit" attribute="Normal Text"> 0833 <Detect2Chars attribute="Interpolation" context="InterpolationWithUnit" char="#" char1="{"/> 0834 </context> 0835 0836 <!-- interpolation // #{...} --> 0837 0838 <context name="Interpolation" attribute="Normal Text"> 0839 <DetectSpaces/> 0840 <DetectChar attribute="Interpolation" context="#pop" char="}"/> 0841 <IncludeRules context="FindValueInterpolation"/> 0842 </context> 0843 <context name="InterpolationWithUnit" attribute="Normal Text"> 0844 <DetectSpaces/> 0845 <DetectChar attribute="Interpolation" context="#pop!FindUnits" char="}"/> 0846 <IncludeRules context="FindValueInterpolation"/> 0847 </context> 0848 <context name="FindValueInterpolation" attribute="Normal Text" lineEndContext="#pop"> 0849 <DetectChar attribute="Value Keyword" char="&"/> 0850 <IncludeRules context="FindStrings"/> 0851 <IncludeRules context="FindInterpolation"/> 0852 <IncludeRules context="FindComments"/> 0853 <AnyChar attribute="Operator" String="*/+%=<>!"/> 0854 <IncludeRules context="FindVariable"/> 0855 <IncludeRules context="FindFunctions"/> 0856 <keyword attribute="Operator" String="operators"/> 0857 <keyword attribute="Value Keyword" String="special values"/> 0858 <IncludeRules context="FindNumber"/> 0859 <DetectChar context="OperatorOrIdentifer" char="-" lookAhead="1"/> 0860 <IncludeRules context="FindIdentifier"/> 0861 </context> 0862 0863 <context name="FindVariable" attribute="Normal Text"> 0864 <DetectChar attribute="Variable" context="Variable" char="$"/> 0865 </context> 0866 <context name="Variable" attribute="Normal Text" lineEndContext="#pop" fallthroughContext="#pop"> 0867 <RegExpr attribute="Variable" context="#pop" String="[-_a-zA-Z0-9]*"/> 0868 </context> 0869 0870 <!-- find functions // rgba(255,255,255,0.75) --> 0871 <context name="FindFunctions" attribute="Normal Text"> 0872 <RegExpr attribute="Function" context="Function" String="&func;\(" lookAhead="1"/> 0873 </context> 0874 <context name="FindNestedFunctions" attribute="Normal Text"> 0875 <RegExpr context="NestedFunction" String="(&func;)?\(" lookAhead="1"/> 0876 </context> 0877 0878 <!-- find values // 10px 12pt 2.5em 1rem 75% #ffcc99 red solid --> 0879 <context name="FindValues" attribute="Normal Text"> 0880 <AnyChar attribute="Operator" String="*/+%=<>"/> 0881 <DetectChar attribute="Annotation" context="Annotation" char="!" lookAhead="1"/> 0882 <IncludeRules context="FindVariable"/> 0883 <keyword attribute="Operator" String="operators"/> 0884 <keyword attribute="Value Keyword" String="value keywords" weakDeliminator="."/> 0885 <keyword attribute="Value Keyword" String="special values" weakDeliminator="."/> 0886 <keyword attribute="Value" String="values" weakDeliminator="."/> 0887 <keyword attribute="Named Color" String="colors"/> 0888 <RegExpr attribute="Color" String="#([0-9A-Fa-f]{8}|[0-9A-Fa-f]{6}|[0-9A-Fa-f]{3,4})"/> 0889 <IncludeRules context="FindNumber"/> 0890 <DetectChar context="OperatorOrIdentifer" char="-" lookAhead="1"/> 0891 <IncludeRules context="FindIdentifier"/> 0892 </context> 0893 0894 <context name="OperatorOrIdentifer" attribute="Normal Text"> 0895 <RegExpr context="#pop" String="-(?![0-9])&ident2;\.?\s*"/> 0896 <DetectChar context="#pop" attribute="Operator" char="-"/> 0897 </context> 0898 0899 <context name="FindNumber" attribute="Normal Text" lineEndContext="#pop"> 0900 <RegExpr attribute="Number" context="FindUnits" String="([0-9]+(\.[0-9]+)?|\.[0-9]+)([eE][+-]?[0-9]+)?"/> 0901 </context> 0902 0903 <context name="FindIdentifier" attribute="Normal Text" lineEndContext="#pop"> 0904 <RegExpr String="&ident2;\.?\s*"/> 0905 </context> 0906 0907 <context name="FindVendorProperty" attribute="Normal Text" lineEndContext="#pop"> 0908 <RegExpr attribute="Vendor Property" String="-(webkit|moz|o|ms)-[-_a-zA-Z0-9]*"/> 0909 </context> 0910 0911 <context name="Annotation" attribute="Normal Text" lineEndContext="#pop"> 0912 <WordDetect attribute="Annotation" context="#pop" String="!important"/> 0913 <WordDetect attribute="Annotation" context="#pop" String="!default"/> 0914 <WordDetect attribute="Annotation" context="#pop" String="!global"/> 0915 <DetectChar attribute="Operator" context="#pop" char="!"/> 0916 </context> 0917 0918 <context name="FindUnits" attribute="Normal Text" lineEndContext="#pop" fallthroughContext="#pop"> 0919 <RegExpr attribute="Unit" context="#pop" String="(%|(em|ex|cap|ch|ic|rem|lh|rlh|vw|vh|vi|vb|vmin|vmax|cqw|cqh|cqi|cqb|cqmin|cqmax|cm|mm|Q|in|pc|pt|px|deg|grad|rad|turn|s|ms|Hz|kHz|fr|dpi|dpcm|dppx|x)\b)"/> 0920 </context> 0921 0922 <!-- find strings // "some words" 'some words' --> 0923 <context name="FindStrings" attribute="Normal Text"> 0924 <DetectChar attribute="String" context="StringDQ" char="""/> 0925 <DetectChar attribute="String" context="StringSQ" char="'"/> 0926 </context> 0927 0928 <!-- find comments // /* comment */ --> 0929 <context name="FindComments" attribute="Normal Text"> 0930 <Detect2Chars attribute="Comment" context="IsComments" char="/" char1="/" lookAhead="1"/> 0931 <Detect2Chars attribute="Comment" context="IsComments" char="/" char1="*" lookAhead="1"/> 0932 </context> 0933 0934 <context name="IsComments" attribute="Normal Text"> 0935 <RegExpr attribute="Region Marker" String="/\*\s*BEGIN\b.*\*/|//\s*BEGIN\b.*" beginRegion="UserDefined"/> 0936 <RegExpr attribute="Region Marker" String="/\*\s*END\b.*\*/|//\s*END\b.*" endRegion="UserDefined"/> 0937 <Detect2Chars attribute="Comment" context="Comment" char="/" char1="*" beginRegion="comment"/> 0938 <Detect2Chars attribute="Comment" context="SassComment" char="/" char1="/"/> 0939 </context> 0940 0941 <context name="SassComment" attribute="Comment" lineEndContext="#pop#pop"> 0942 <DetectSpaces/> 0943 <IncludeRules context="##Comments"/> 0944 <DetectIdentifier/> 0945 </context> 0946 0947 <context name="SelectAtRule" attribute="At Rule" lineEndContext="#pop"> 0948 <!-- scss --> 0949 <WordDetect attribute="At Rule" context="@use" String="@use"/> 0950 <WordDetect attribute="At Rule" context="@mixin" String="@include"/> 0951 <WordDetect attribute="At Rule" context="@mixin" String="@function"/> 0952 <WordDetect attribute="At Rule" context="@mixin" String="@mixin"/> 0953 <WordDetect attribute="At Rule" context="@extend" String="@extend"/> 0954 <WordDetect attribute="At Rule" context="@expression" String="@content"/> 0955 <WordDetect attribute="At Rule" context="@use" String="@forward"/> 0956 <WordDetect attribute="At Rule" context="@expressionBlock" String="@if"/> 0957 <WordDetect attribute="At Rule" context="@else" String="@else"/> 0958 <WordDetect attribute="At Rule" context="@each" String="@each"/> 0959 <WordDetect attribute="At Rule" context="@for" String="@for"/> 0960 <WordDetect attribute="At Rule" context="@expressionBlock" String="@while"/> 0961 <WordDetect attribute="At Rule" context="@expression" String="@return"/> 0962 <WordDetect attribute="At Rule" context="@expression" String="@error"/> 0963 <WordDetect attribute="At Rule" context="@expression" String="@warn"/> 0964 <WordDetect attribute="At Rule" context="@expression" String="@debug"/> 0965 <WordDetect attribute="At Rule" context="@at-root" String="@at-root"/> 0966 <!-- css --> 0967 <WordDetect attribute="At Rule" context="@keyframes" String="@keyframes"/> 0968 <WordDetect attribute="At Rule" context="@layer" String="@layer"/> 0969 <WordDetect attribute="At Rule" context="@page" String="@page"/> 0970 <WordDetect attribute="At Rule" context="@supports" String="@supports"/> 0971 <keyword attribute="At Rule" context="@property" String="at-rules definitions"/> 0972 <RegExpr attribute="At Rule" context="@media" String="@[-a-zA-Z0-9_]*"/> 0973 </context> 0974 0975 <context name="AtRuleEnd" attribute="Normal Text"> 0976 <DetectChar attribute="Separator Symbol" context="#pop#pop" char=";"/> 0977 <DetectChar attribute="Block Symbol" context="#pop#pop" char="{" beginRegion="ruleset"/> 0978 <DetectChar attribute="Block Symbol" context="#pop#pop" char="}" endRegion="ruleset"/> 0979 </context> 0980 <context name="AtRuleEndLvl3" attribute="Normal Text"> 0981 <DetectChar attribute="Error" context="#pop#pop#pop" char=";"/> 0982 <DetectChar attribute="Error" context="#pop#pop#pop" char="{" beginRegion="ruleset"/> 0983 <DetectChar attribute="Error" context="#pop#pop#pop" char="}" endRegion="ruleset"/> 0984 </context> 0985 <context name="AtRuleBlockEnd" attribute="Normal Text"> 0986 <DetectChar attribute="Error" context="#pop#pop" char=";"/> 0987 <DetectChar attribute="Block Symbol" context="#pop#pop" char="{" beginRegion="ruleset"/> 0988 <DetectChar attribute="Error" context="#pop#pop" char="}" endRegion="ruleset"/> 0989 </context> 0990 0991 <context name="AtRuleCommon" attribute="At Rule Text"> 0992 <IncludeRules context="FindVariable"/> 0993 <IncludeRules context="FindStrings"/> 0994 <IncludeRules context="FindInterpolation"/> 0995 <IncludeRules context="FindComments"/> 0996 <IncludeRules context="AtRuleEnd"/> 0997 </context> 0998 <context name="AtRuleDefinitionCommon" attribute="At Rule Text"> 0999 <DetectChar attribute="Separator Symbol" context="#pop#pop" char=";"/> 1000 <DetectChar attribute="Block Symbol" context="#pop#pop!SubProperty" char="{" beginRegion="ruleset"/> 1001 <DetectChar attribute="Block Symbol" context="#pop#pop" char="}" endRegion="ruleset"/> 1002 <IncludeRules context="FindStrings"/> 1003 <IncludeRules context="FindInterpolation"/> 1004 <IncludeRules context="FindComments"/> 1005 </context> 1006 1007 1008 <context name="@at-root" attribute="At Rule Text"> 1009 <DetectSpaces/> 1010 <DetectChar char="(" context="#pop!AtRuleMediaCondition" attribute="Condition Open/Close"/> 1011 <IncludeRules context="AtRuleBlockEnd"/> 1012 <IncludeRules context="FindComments"/> 1013 </context> 1014 1015 <context name="@use" attribute="At Rule Text"> 1016 <DetectSpaces/> 1017 <DetectChar attribute="Separator Symbol" context="#pop#pop" char=";"/> 1018 <DetectChar attribute="Separator Symbol" char=","/> 1019 <DetectChar context="@useWith" char="(" attribute="Function"/> 1020 <IncludeRules context="AtRuleCommon"/> 1021 <WordDetect attribute="Keyword" String="with"/> 1022 <WordDetect attribute="Keyword" String="hide"/> 1023 <WordDetect attribute="Keyword" context="@useAs" String="as"/> 1024 </context> 1025 <context name="@useAs" attribute="At Rule Text"> 1026 <DetectSpaces/> 1027 <DetectIdentifier/> 1028 <DetectChar attribute="Operator" char="*"/> 1029 <DetectChar attribute="At Rule Text" char="-"/> 1030 <DetectChar attribute="Separator Symbol" context="#pop#pop#pop" char=";"/> 1031 <DetectChar attribute="Error" context="#pop#pop#pop" char="{" beginRegion="ruleset"/> 1032 <DetectChar attribute="Error" context="#pop#pop#pop" char="}" endRegion="ruleset"/> 1033 <IncludeRules context="FindStrings"/> 1034 <IncludeRules context="FindInterpolation"/> 1035 <IncludeRules context="FindComments"/> 1036 <IncludeRules context="FindFunctions"/> 1037 <IncludeRules context="FindValues"/> 1038 </context> 1039 <context name="@useWith" attribute="Normal Text"> 1040 <DetectSpaces/> 1041 <DetectChar context="#pop" char=")" attribute="Function"/> 1042 <DetectChar attribute="Property Separator" char=":"/> 1043 <DetectChar attribute="Separator Symbol" char=","/> 1044 <DetectChar attribute="Selector Symbol" char="&"/> 1045 <IncludeRules context="AtRuleEndLvl3"/> 1046 <IncludeRules context="FindStrings"/> 1047 <IncludeRules context="FindInterpolationWithUnit"/> 1048 <IncludeRules context="FindComments"/> 1049 <StringDetect attribute="Operator" String="..."/> 1050 <IncludeRules context="FindFunctions"/> 1051 <IncludeRules context="FindValues"/> 1052 </context> 1053 1054 <context name="@mixin" attribute="Function"> 1055 <DetectSpaces attribute="At Rule Text"/> 1056 <DetectChar context="@useWith" char="(" attribute="Function"/> 1057 <DetectChar char="-"/> 1058 <IncludeRules context="AtRuleCommon"/> 1059 <WordDetect attribute="Keyword" String="using"/> 1060 <DetectIdentifier/> 1061 </context> 1062 1063 <context name="@extend" attribute="Normal Text"> 1064 <DetectSpaces/> 1065 <DetectChar attribute="Block Symbol" context="#pop#pop" char="{" beginRegion="ruleset"/> 1066 <DetectChar attribute="Block Symbol" context="#pop#pop" char="}" endRegion="ruleset"/> 1067 <DetectChar attribute="Separator Symbol" context="#pop#pop" char=";"/> 1068 <WordDetect attribute="Annotation" String="!optional"/> 1069 <IncludeRules context="FindSelector"/> 1070 </context> 1071 1072 <context name="@expression" attribute="At Rule Text"> 1073 <DetectSpaces/> 1074 <IncludeRules context="AtRuleEnd"/> 1075 <IncludeRules context="FindValueInterpolation"/> 1076 </context> 1077 <context name="@expressionBlock" attribute="At Rule Text"> 1078 <DetectSpaces/> 1079 <IncludeRules context="AtRuleBlockEnd"/> 1080 <IncludeRules context="FindValueInterpolation"/> 1081 </context> 1082 1083 <context name="@else" attribute="At Rule Text" fallthroughContext="#pop!@expressionBlock"> 1084 <DetectSpaces/> 1085 <WordDetect attribute="At Rule" context="#pop!@expression" String="if"/> 1086 <IncludeRules context="FindComments"/> 1087 <DetectChar attribute="Block Symbol" context="#pop#pop" char="{" beginRegion="ruleset"/> 1088 </context> 1089 1090 <context name="@each" attribute="At Rule Text"> 1091 <DetectSpaces/> 1092 <IncludeRules context="AtRuleBlockEnd"/> 1093 <WordDetect attribute="Keyword" String="in"/> 1094 <IncludeRules context="FindValueInterpolation"/> 1095 </context> 1096 1097 <context name="@for" attribute="At Rule Text"> 1098 <DetectSpaces/> 1099 <IncludeRules context="AtRuleBlockEnd"/> 1100 <WordDetect attribute="Keyword" String="to"/> 1101 <WordDetect attribute="Keyword" String="from"/> 1102 <WordDetect attribute="Keyword" String="through"/> 1103 <IncludeRules context="FindValueInterpolation"/> 1104 </context> 1105 1106 1107 <context name="@media" attribute="At Rule Text"> 1108 <DetectSpaces/> 1109 <DetectChar char="(" context="AtRuleMediaCondition" attribute="Condition Open/Close"/> 1110 <IncludeRules context="AtRuleCommon"/> 1111 <IncludeRules context="FindFunctions"/> 1112 <keyword String="media operators" attribute="Keyword"/> 1113 <keyword String="media types" attribute="Media Type"/> 1114 <DetectIdentifier/> 1115 </context> 1116 1117 <context name="AtRuleMediaCondition" attribute="At Rule Text"> 1118 <DetectSpaces/> 1119 <IncludeRules context="AtRuleEndLvl3"/> 1120 <IncludeRules context="AtRuleMediaConditionValue"/> 1121 </context> 1122 <context name="NestedAtRuleMediaCondition" attribute="At Rule Text"> 1123 <DetectSpaces attribute="At Rule Text"/> 1124 <AnyChar String=";{}" context="#pop" lookAhead="1"/> 1125 <IncludeRules context="AtRuleMediaConditionValue"/> 1126 </context> 1127 <context name="AtRuleMediaConditionValue" attribute="At Rule Text"> 1128 <DetectChar char=")" context="#pop" attribute="Condition Open/Close"/> 1129 <DetectChar char="(" context="NestedAtRuleMediaCondition" attribute="Condition Open/Close"/> 1130 <DetectChar char=":" attribute="Property Separator"/> 1131 <IncludeRules context="FindVariable"/> 1132 <IncludeRules context="FindStrings"/> 1133 <IncludeRules context="FindInterpolation"/> 1134 <IncludeRules context="FindComments"/> 1135 <AnyChar attribute="Operator" String="*/+%=<>"/> 1136 <IncludeRules context="FindFunctions"/> 1137 <IncludeRules context="FindNumber"/> 1138 <keyword String="media operators" attribute="Keyword"/> 1139 <keyword String="media features" attribute="Condition Property"/> 1140 <IncludeRules context="FindIdentifier"/> 1141 <DetectChar context="OperatorOrIdentifer" char="-" lookAhead="1"/> 1142 </context> 1143 1144 1145 <context name="@supports" attribute="At Rule Text"> 1146 <DetectSpaces/> 1147 <DetectChar char="(" context="AtRuleSupportsCondition" lookAhead="1"/> 1148 <IncludeRules context="AtRuleCommon"/> 1149 <keyword String="media operators" attribute="Keyword"/> 1150 <WordDetect String="selector(" context="FunctionSelector" attribute="Function"/> 1151 <IncludeRules context="FindFunctions"/> 1152 <DetectIdentifier/> 1153 </context> 1154 1155 <context name="AtRuleSupportsCondition" attribute="At Rule Text" fallthroughContext="#pop"> 1156 <DetectChar char="(" context="SupportsCondition" attribute="Condition Open/Close"/> 1157 <IncludeRules context="AtRuleEndLvl3"/> 1158 </context> 1159 <context name="SupportsCondition" attribute="At Rule Text" fallthroughContext="#pop!SupportsConditionValue"> 1160 <DetectSpaces/> 1161 <DetectChar char="(" context="SupportsCondition" attribute="Condition Open/Close"/> 1162 <DetectChar char=":" context="#pop!SupportsConditionValue" attribute="Property Separator"/> 1163 <IncludeRules context="FindComments"/> 1164 <keyword String="media operators" attribute="Keyword"/> 1165 <keyword String="properties" attribute="Property"/> 1166 <IncludeRules context="FindVendorProperty"/> 1167 </context> 1168 <context name="SupportsConditionValue" attribute="At Rule Text"> 1169 <AnyChar String=";{}" context="#pop" lookAhead="1"/> 1170 <DetectChar char=")" context="#pop" attribute="Condition Open/Close"/> 1171 <DetectChar char="(" context="SupportsCondition" attribute="Condition Open/Close"/> 1172 <DetectChar char=":" attribute="Property Separator"/> 1173 <IncludeRules context="FindStrings"/> 1174 <IncludeRules context="FindInterpolationWithUnit"/> 1175 <IncludeRules context="FindComments"/> 1176 <IncludeRules context="FindFunctions"/> 1177 <IncludeRules context="FindValues"/> 1178 </context> 1179 1180 <context name="FunctionSelector" attribute="At Rule Text"> 1181 <DetectSpaces/> 1182 <AnyChar String=";{}" context="#pop" lookAhead="1"/> 1183 <DetectChar char=")" context="#pop" attribute="Function"/> 1184 <IncludeRules context="FindSelector"/> 1185 </context> 1186 1187 1188 <context name="@layer" attribute="At Rule Text"> 1189 <DetectSpaces/> 1190 <DetectIdentifier/> 1191 <DetectChar attribute="Separator Symbol" char=","/> 1192 <IncludeRules context="AtRuleCommon"/> 1193 </context> 1194 1195 1196 <context name="@page" attribute="At Rule Text"> 1197 <DetectSpaces/> 1198 <DetectChar attribute="Selector Pseudo" char=":"/> 1199 <IncludeRules context="AtRuleDefinitionCommon"/> 1200 <keyword attribute="Selector Pseudo" String="@page pseudo-classes"/> 1201 <DetectIdentifier/> 1202 </context> 1203 1204 1205 <context name="@property" attribute="At Rule Text"> 1206 <DetectSpaces/> 1207 <DetectChar char="-"/> 1208 <IncludeRules context="AtRuleDefinitionCommon"/> 1209 <DetectIdentifier/> 1210 </context> 1211 1212 1213 <context name="@keyframes" attribute="At Rule Text"> 1214 <DetectSpaces/> 1215 <DetectChar char="{" context="KeyFramesBlock" attribute="Block Symbol" beginRegion="ruleset"/> 1216 <IncludeRules context="AtRuleCommon"/> 1217 <DetectIdentifier/> 1218 </context> 1219 <context name="KeyFramesBlock" attribute="Normal Text"> 1220 <DetectSpaces/> 1221 <DetectChar char="{" context="SubProperty" attribute="Block Symbol" beginRegion="ruleset"/> 1222 <DetectChar char="}" context="#pop#pop#pop" attribute="Block Symbol" endRegion="ruleset"/> 1223 <DetectChar char="," attribute="Separator Symbol"/> 1224 <IncludeRules context="FindComments"/> 1225 <IncludeRules context="FindInterpolation"/> 1226 <RegExpr attribute="Value" String="\b(from|to)\b|[-+]?[0-9.]*%"/> 1227 </context> 1228 1229 1230 <!-- attribute // [name=value]--> 1231 1232 <context name="SelectorAttr" attribute="Attribute Name"> 1233 <DetectChar attribute="Selector Attribute" context="#pop" char="]"/> 1234 <IncludeRules context="FindStrings"/> 1235 <IncludeRules context="FindInterpolation"/> 1236 <DetectChar attribute="Attribute Operator" context="SelectorAttrValue" char="="/> 1237 <AnyChar attribute="Attribute Operator" String="~^$*|"/> 1238 <IncludeRules context="FindComments"/> 1239 <DetectIdentifier/> 1240 <AnyChar context="#pop" String="{};#.,:>" lookAhead="1"/> 1241 </context> 1242 1243 <context name="SelectorAttrValue" attribute="String" fallthroughContext="SelectorAttrEnd"> 1244 <DetectSpaces/> 1245 <AnyChar context="SelectorAttrValueQuoted" String=""'" lookAhead="1"/> 1246 <Detect2Chars context="SelectorAttrValueQuoted" char="#" char1="{" lookAhead="1"/> 1247 <RegExpr context="SelectorAttrEnd" attribute="String" String="-?(\w|&escaped;)([-\w]+|&escaped;)*"/> 1248 <IncludeRules context="FindComments"/> 1249 </context> 1250 <context name="SelectorAttrValueQuoted" attribute="String" fallthroughContext="#pop!SelectorAttrEnd"> 1251 <IncludeRules context="FindStrings"/> 1252 <IncludeRules context="FindInterpolation"/> 1253 </context> 1254 <context name="SelectorAttrEnd" attribute="String" fallthroughContext="#pop#pop#pop"> 1255 <DetectSpaces/> 1256 <DetectChar attribute="Selector Attribute" context="#pop#pop#pop" char="]"/> 1257 <Detect2Chars context="SelectorAttrValueSensitiveOp" char="i" char1="]" lookAhead="1"/> 1258 <Detect2Chars context="SelectorAttrValueSensitiveOp" char="I" char1="]" lookAhead="1"/> 1259 <Detect2Chars context="SelectorAttrValueSensitiveOp" char="s" char1="]" lookAhead="1"/> 1260 <Detect2Chars context="SelectorAttrValueSensitiveOp" char="S" char1="]" lookAhead="1"/> 1261 <IncludeRules context="FindComments"/> 1262 <IncludeRules context="FindInterpolation"/> 1263 </context> 1264 <context name="SelectorAttrValueSensitiveOp" attribute="String"> 1265 <DetectChar attribute="Selector Attribute" context="#pop#pop#pop#pop" char="]"/> 1266 <AnyChar attribute="Attribute Operator" String="isIS"/> 1267 </context> 1268 1269 1270 <context name="PseudoClassOrElement" attribute="Selector Pseudo" lineEndContext="#pop" fallthroughContext="#pop"> 1271 <DetectChar char=":" attribute="Selector Pseudo"/> 1272 <WordDetect String="lang" attribute="Selector Pseudo" context="PseudoClassStr"/> 1273 <WordDetect String="part" attribute="Selector Pseudo" context="PseudoClassStr"/> 1274 <RegExpr String="nth-[-a-zA-Z0-9]*" attribute="Selector Pseudo" context="PseudoClassNth"/> 1275 <RegExpr String="[-a-zA-Z]+" attribute="Selector Pseudo" context="#pop"/> 1276 <IncludeRules context="FindComments"/> 1277 <IncludeRules context="FindInterpolation"/> 1278 </context> 1279 1280 <context name="PseudoClassStr" attribute="Error" lineEndContext="#pop#pop" fallthroughContext="#pop#pop"> 1281 <DetectChar char="(" context="PseudoClassStrInner" attribute="Selector Pseudo"/> 1282 <IncludeRules context="FindComments"/> 1283 </context> 1284 <context name="PseudoClassStrInner" attribute="Error"> 1285 <DetectChar char=")" attribute="Selector Pseudo" context="#pop#pop#pop"/> 1286 <DetectChar char="{" context="#pop#pop#pop" attribute="Error" beginRegion="ruleset"/> 1287 <DetectChar char=":" context="#pop#pop#pop!PseudoClassOrElement" attribute="Error"/> 1288 <RegExpr String="\s*&ident;(\s+&ident;|\s+)*" attribute="String"/> 1289 <IncludeRules context="FindComments"/> 1290 <IncludeRules context="FindInterpolation"/> 1291 </context> 1292 1293 <context name="PseudoClassNth" attribute="Error" lineEndContext="#pop#pop" fallthroughContext="#pop#pop"> 1294 <DetectChar char="(" context="PseudoClassNthInner" attribute="Selector Pseudo"/> 1295 <IncludeRules context="FindComments"/> 1296 </context> 1297 <context name="PseudoClassNthInner" attribute="Normal Text" fallthroughContext="#pop#pop!PseudoClassSelector"> 1298 <Int attribute="Number" additionalDeliminator="-"/> 1299 <AnyChar String="+-" attribute="Operator"/> 1300 <DetectChar char="n" attribute="Unit"/> 1301 <DetectChar char=")" attribute="Selector Pseudo" context="#pop#pop#pop"/> 1302 <WordDetect String="odd" attribute="Value"/> 1303 <WordDetect String="even" attribute="Value"/> 1304 <WordDetect String="of" attribute="Keyword" context="#pop#pop!PseudoClassSelector"/> 1305 <IncludeRules context="FindComments"/> 1306 <IncludeRules context="FindInterpolation"/> 1307 <DetectSpaces/> 1308 </context> 1309 1310 <context name="PseudoClassSelector" attribute="Normal Text"> 1311 <DetectSpaces/> 1312 <DetectChar char=")" context="#pop" attribute="Selector Pseudo"/> 1313 <AnyChar String=";{}" context="#pop" lookAhead="1"/> 1314 <IncludeRules context="FindSelector"/> 1315 </context> 1316 1317 1318 <context name="Comment" attribute="Comment"> 1319 <DetectSpaces/> 1320 <Detect2Chars attribute="Comment" context="#pop#pop" char="*" char1="/" endRegion="comment"/> 1321 <IncludeRules context="##Comments"/> 1322 <DetectIdentifier/> 1323 </context> 1324 1325 <context name="Function" attribute="Normal Text"> 1326 <IncludeRules context="FunctionInc"/> 1327 <IncludeRules context="AtRuleEndLvl3"/> 1328 </context> 1329 <context name="NestedFunction" attribute="Normal Text"> 1330 <IncludeRules context="FunctionInc"/> 1331 <AnyChar context="#pop" String="{};" lookAhead="1"/> 1332 </context> 1333 <context name="FunctionInc" attribute="Normal Text"> 1334 <DetectChar attribute="Function" context="FunctionParameters" char="("/> 1335 <StringDetect attribute="Function" context="FunctionVar" String="var("/> 1336 <StringDetect attribute="Function" context="FunctionCalc" String="calc("/> 1337 <StringDetect attribute="Function" context="FunctionUrl" String="url("/> 1338 <StringDetect attribute="Function" context="FunctionEnv" String="env("/> 1339 <keyword attribute="Function" String="functions"/> 1340 <RegExpr attribute="Function" context="FunctionParameters" String="&func;\("/> 1341 </context> 1342 1343 <!-- From CSS with interpolation --> 1344 <!-- @{ --> 1345 1346 <context name="FunctionVar" attribute="Normal Text" fallthroughContext="FunctionVarSep"> 1347 <RegExpr String="&var;" context="FunctionVarSep" attribute="Variable"/> 1348 <DetectSpaces/> 1349 <IncludeRules context="FindComments"/> 1350 </context> 1351 <context name="FunctionVarSep" attribute="Normal Text" fallthroughContext="FunctionVarParam"> 1352 <DetectChar char=")" context="#pop#pop#pop" attribute="Function"/> 1353 <DetectChar char="," context="FunctionVarParam" attribute="Separator Symbol"/> 1354 </context> 1355 <context name="FunctionVarParam" attribute="Normal Text"> 1356 <DetectSpaces/> 1357 <DetectChar char=")" context="#pop#pop#pop#pop" attribute="Function"/> 1358 <AnyChar String=";{}" context="#pop#pop#pop" lookAhead="1"/> 1359 <IncludeRules context="FindStrings"/> 1360 <IncludeRules context="FindInterpolationWithUnit"/> 1361 <IncludeRules context="FindComments"/> 1362 <IncludeRules context="FindNestedFunctions"/> 1363 <IncludeRules context="FindValues"/> 1364 </context> 1365 1366 <context name="FunctionEnv" attribute="Normal Text" fallthroughContext="FunctionVarSep"> 1367 <RegExpr String="&ident;" context="FunctionVarSep" attribute="Normal Text"/> 1368 <DetectSpaces/> 1369 <IncludeRules context="FindComments"/> 1370 </context> 1371 1372 <context name="FunctionCalc" attribute="Normal Text"> 1373 <DetectSpaces/> 1374 <DetectChar attribute="Function" context="#pop#pop" char=")"/> 1375 <IncludeRules context="Calc"/> 1376 </context> 1377 <context name="NestedCalc" attribute="Normal Text"> 1378 <DetectSpaces/> 1379 <DetectChar attribute="Normal Text" context="#pop" char=")"/> 1380 <IncludeRules context="Calc"/> 1381 </context> 1382 <context name="Calc" attribute="Normal Text"> 1383 <DetectChar attribute="Separator Symbol" char=","/> 1384 <DetectChar attribute="Normal Text" context="NestedCalc" char="("/> 1385 <AnyChar String=";{}" context="#pop" lookAhead="1"/> 1386 <!-- ATTENTION not in CSS --> <IncludeRules context="FindVariable"/> 1387 <IncludeRules context="FindStrings"/> 1388 <!-- ATTENTION not in CSS --> <IncludeRules context="FindInterpolationWithUnit"/> 1389 <IncludeRules context="FindComments"/> 1390 <AnyChar attribute="Operator" String="*/%"/> 1391 <IncludeRules context="FindNestedFunctions"/> 1392 <!-- ATTENTION FindNumber in CSS --> <RegExpr attribute="Number" context="FindUnits" String="[-+]?([0-9]+(\.[0-9]+)?|\.[0-9]+)([eE][+-]?[0-9]+)?(?![-+])"/> 1393 <RegExpr String="[-+]?((?i:infinity|e|pi)|NaN)($|[^-\w])|[-+]($|[\s(,;]|/\*)" context="CalcConstantOrOperator" lookAhead="1"/> 1394 <IncludeRules context="FindIdentifier"/> 1395 </context> 1396 <context name="CalcConstantOrOperator" attribute="Normal Text" fallthroughContext="#pop"> 1397 <DetectIdentifier context="#pop" attribute="Calc Constant"/> 1398 <AnyChar String="-+" attribute="Operator"/> 1399 </context> 1400 1401 <context name="FunctionUrl" attribute="Normal Text" fallthroughContext="UrlValue"> 1402 <DetectSpaces/> 1403 <IncludeRules context="FindStrings"/> 1404 <IncludeRules context="FindInterpolation"/> 1405 </context> 1406 <context name="UrlValue" attribute="String"> 1407 <DetectChar attribute="Function" context="#pop#pop#pop" char=")"/> 1408 <AnyChar String=";{}" context="#pop#pop" lookAhead="1"/> 1409 </context> 1410 1411 <context name="FunctionParameters" attribute="Normal Text"> 1412 <DetectSpaces/> 1413 <DetectChar attribute="Function" context="#pop#pop" char=")"/> 1414 <DetectChar attribute="Separator Symbol" char=","/> 1415 <IncludeRules context="FindStrings"/> 1416 <IncludeRules context="FindInterpolationWithUnit"/> 1417 <IncludeRules context="FindComments"/> 1418 <!-- ATTENTION not in CSS --> <DetectChar attribute="Value Keyword" char="&"/> 1419 <!-- ATTENTION not in CSS --> <StringDetect attribute="Operator" String="..."/> 1420 <AnyChar String=";{}" context="#pop" lookAhead="1"/> 1421 <IncludeRules context="FindNestedFunctions"/> 1422 <IncludeRules context="FindValues"/> 1423 </context> 1424 1425 <!-- @} --> 1426 1427 <!-- string contexts --> 1428 <context name="StringDQ" attribute="String"> 1429 <DetectChar attribute="String" context="#pop" char="""/> 1430 <IncludeRules context="InsideString"/> 1431 </context> 1432 1433 <context name="StringSQ" attribute="String"> 1434 <DetectChar attribute="String" context="#pop" char="'"/> 1435 <IncludeRules context="InsideString"/> 1436 </context> 1437 1438 <context name="InsideString" attribute="String"> 1439 <IncludeRules context="FindInterpolation"/> 1440 <RegExpr attribute="SpecialChar" String="\\([0-9A-Fa-f]{1,6}|.?)"/> 1441 <RegExpr attribute="String" String="\\?[^#"'\\]+"/> 1442 </context> 1443 1444 </contexts> 1445 1446 <itemDatas> 1447 <itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false"/> 1448 <itemData name="At Rule" defStyleNum="dsImport" spellChecking="false"/> 1449 <itemData name="At Rule Text" defStyleNum="dsNormal" spellChecking="false"/> 1450 <itemData name="Media Type" defStyleNum="dsAnnotation" spellChecking="false"/> 1451 <itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="false"/> 1452 <itemData name="Property" defStyleNum="dsKeyword" spellChecking="false"/> 1453 <itemData name="Vendor Property" defStyleNum="dsKeyword" spellChecking="false" italic="1"/> 1454 <itemData name="Unknown Property" defStyleNum="dsNormal" spellChecking="false"/> 1455 <itemData name="Property Separator" defStyleNum="dsChar" spellChecking="false"/> 1456 <itemData name="String" defStyleNum="dsString"/> 1457 <itemData name="SpecialChar" defStyleNum="dsSpecialChar" spellChecking="false"/> 1458 <itemData name="Interpolation" defStyleNum="dsOperator" spellChecking="false"/> 1459 <itemData name="Operator" defStyleNum="dsOperator" spellChecking="false"/> 1460 <itemData name="Separator Symbol" defStyleNum="dsOperator" spellChecking="false"/> 1461 <itemData name="Block Symbol" defStyleNum="dsNormal" spellChecking="false"/> 1462 <itemData name="Value" defStyleNum="dsDecVal" spellChecking="false"/> 1463 <itemData name="Number" defStyleNum="dsDecVal" spellChecking="false"/> 1464 <itemData name="Value Keyword" defStyleNum="dsBuiltIn" spellChecking="false"/> 1465 <itemData name="Named Color" defStyleNum="dsConstant" spellChecking="false"/> 1466 <itemData name="Color" defStyleNum="dsConstant" spellChecking="false"/> 1467 <itemData name="Unit" defStyleNum="dsDataType" spellChecking="false"/> 1468 <itemData name="Variable" defStyleNum="dsVariable" spellChecking="false"/> 1469 <itemData name="Function" defStyleNum="dsFunction" spellChecking="false"/> 1470 <itemData name="Calc Constant" defStyleNum="dsDecVal" spellChecking="false"/> 1471 <itemData name="Annotation" defStyleNum="dsAttribute" spellChecking="false"/> 1472 <itemData name="Condition Open/Close" defStyleNum="dsFunction" spellChecking="false"/> 1473 <itemData name="Condition Property" defStyleNum="dsKeyword" spellChecking="false"/> 1474 <itemData name="Selector Id" defStyleNum="dsPreprocessor" bold="1" spellChecking="false"/> 1475 <itemData name="Selector Class" defStyleNum="dsFunction" spellChecking="false"/> 1476 <itemData name="Selector Attribute" defStyleNum="dsExtension" spellChecking="false"/> 1477 <itemData name="Selector Pseudo" defStyleNum="dsInformation" italic="1" spellChecking="false"/> 1478 <itemData name="Selector Tag" defStyleNum="dsNormal" spellChecking="false"/> 1479 <itemData name="Selector Symbol" defStyleNum="dsOperator" spellChecking="false"/> 1480 <itemData name="Placeholder Selector" defStyleNum="dsBuiltIn" spellChecking="false"/> 1481 <itemData name="Attribute Name" defStyleNum="dsSpecialString" spellChecking="false"/> 1482 <itemData name="Attribute Operator" defStyleNum="dsOperator" spellChecking="false"/> 1483 <itemData name="Comment" defStyleNum="dsComment"/> 1484 <itemData name="Region Marker" defStyleNum="dsRegionMarker" spellChecking="false"/> 1485 <itemData name="Error" defStyleNum="dsError" spellChecking="false"/> 1486 </itemDatas> 1487 </highlighting> 1488 1489 <general> 1490 <keywords casesensitive="0" weakDeliminator="-%@"/> 1491 <comments> 1492 <comment name="singleLine" start="//" position="afterwhitespace"/> 1493 <comment name="multiLine" start="/*" end="*/" region="comment"/> 1494 </comments> 1495 </general> 1496 1497 </language> 1498 <!-- kate: replace-tabs on; tab-width 4; indent-width 4; -->