1<?xml version="1.0" encoding="UTF-8"?> 2<!-- 3 4 This file is part of GtkSourceView 5 6 Author: Scott Martin <scott@coffeeblack.org> 7 Copyright (C) 2004 Scott Martin <scott@coffeeblack.org> 8 Copyright (C) 2010 Patryk Zawadzki <patrys@pld-linux.org> 9 Copyright (C) 2016 Tobias Schönberg <tobias47n9e@gmail.com> 10 Copyright (C) 2018 Jeffery To <jeffery.to@gmail.com> 11 12 GtkSourceView is free software; you can redistribute it and/or 13 modify it under the terms of the GNU Lesser General Public 14 License as published by the Free Software Foundation; either 15 version 2.1 of the License, or (at your option) any later version. 16 17 GtkSourceView is distributed in the hope that it will be useful, 18 but WITHOUT ANY WARRANTY; without even the implied warranty of 19 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 20 Lesser General Public License for more details. 21 22 You should have received a copy of the GNU Lesser General Public License 23 along with this library; if not, see <http://www.gnu.org/licenses/>. 24 25--> 26<language id="css" name="CSS" version="2.0" _section="Other"> 27 <metadata> 28 <property name="mimetypes">text/css</property> 29 <property name="globs">*.css;*.CSSL</property> 30 <property name="block-comment-start">/*</property> 31 <property name="block-comment-end">*/</property> 32 </metadata> 33 34 <styles> 35 36 <!-- global --> 37 <style id="error" name="Error" map-to="def:error"/> 38 <style id="vendor-specific" name="Vendor Specific" map-to="def:warning"/> 39 <style id="keyword" name="Keyword" map-to="def:constant"/> 40 <style id="namespace" name="Namespace" map-to="def:keyword"/> 41 <style id="symbol" name="Symbol"/> 42 <style id="delimiter" name="Delimiter"/> 43 <style id="block-delimiter" name="Block Delimiter" map-to="css:delimiter"/> 44 <style id="test-delimiter" name="Test Delimiter" map-to="css:delimiter"/> 45 46 <!-- data types --> 47 <style id="name" name="Name"/> 48 <style id="escape" name="Escape Sequence" map-to="def:special-char"/> 49 <style id="string" name="String" map-to="def:string"/> 50 <style id="color" name="Color" map-to="def:base-n-integer"/> 51 <style id="number" name="Number" map-to="def:number"/> 52 <style id="integer" name="Integer" map-to="def:decimal"/> 53 <style id="dimension" name="Dimension" map-to="def:floating-point"/> 54 <style id="expression" name="Expression" map-to="def:complex"/> 55 <style id="unicode-range" name="Unicode Range"/> 56 57 <!-- functions --> 58 <style id="function" name="Function" map-to="def:function"/> 59 60 <!-- style properties --> 61 <style id="property-name" name="Property Name" map-to="def:keyword"/> 62 63 <!-- modifiers --> 64 <style id="modifier" name="Modifier" map-to="def:keyword"/> 65 66 <!-- at-rules --> 67 <style id="at-rule" name="At-rule" map-to="def:preprocessor"/> 68 <style id="at-rule-operator" name="At-rule Operator" map-to="css:at-rule"/> 69 <style id="at-rule-inner-selector" name="At-rule Inner Selector" map-to="def:identifier"/> 70 71 <!-- media queries --> 72 <style id="media-query-operator" name="Media Query Operator" map-to="css:at-rule-operator"/> 73 <style id="media-type" name="Media Type" map-to="css:property-name"/> 74 <style id="media-feature" name="Media Feature" map-to="css:property-name"/> 75 <style id="media-feature-value" name="Media Feature Value" map-to="css:keyword"/> 76 77 <!-- selectors --> 78 <style id="selector-symbol" name="Selector Symbol" map-to="css:symbol"/> 79 <style id="namespace-qualifier" name="Namespace Qualifier" map-to="css:selector-symbol"/> 80 <style id="id-selector" name="ID Selector" map-to="def:statement"/> 81 <style id="class-selector" name="Class Selector" map-to="def:identifier"/> 82 <style id="type-selector" name="Type Selector" map-to="def:type"/> 83 <style id="universal-selector" name="Universal Selector" map-to="css:selector-symbol"/> 84 <style id="attribute-selector" name="Attribute Selector" map-to="css:selector-symbol"/> 85 <style id="attribute-selector-operator" name="Attribute Selector Operator" map-to="css:selector-symbol"/> 86 <style id="attribute-selector-name" name="Attribute Selector Name" map-to="def:type"/> 87 <style id="combinator" name="Combinator" map-to="css:selector-symbol"/> 88 <style id="pseudo-element" name="Pseudo-element" map-to="def:function"/> 89 <style id="pseudo-class" name="Pseudo-class" map-to="def:function"/> 90 91 </styles> 92 93 <default-regex-options case-sensitive="false"/> 94 95 <keyword-char-class>[a-z0-9_-]</keyword-char-class> 96 97 <definitions> 98 99 <!-- global --> 100 101 <!-- https://drafts.csswg.org/css-syntax/#escaping --> 102 <define-regex id="escape" extended="true"> 103 (?: 104 \\ # backslash 105 (?: 106 [^\n\r\f0-9a-f] | # not newline or hex digit; or 107 [0-9a-f]{1,6} \s? # 1-6 hex digits, trailing whitespace (not necessary in some cases) 108 ) 109 ) 110 </define-regex> 111 112 <!-- https://drafts.csswg.org/css-syntax/#non-ascii-code-point --> 113 <define-regex id="non-ascii">[\x{80}-\x{10ffff}]</define-regex> 114 115 <!-- 116 a combination of name-start code point and escape 117 https://drafts.csswg.org/css-syntax/#name-start-code-point 118 https://www.w3.org/TR/selectors-3/#lex 119 --> 120 <define-regex id="identifier-start-char" extended="true"> 121 (?: 122 [a-z_] | 123 \%{non-ascii} | 124 \%{escape} 125 ) 126 </define-regex> 127 128 <!-- 129 a combination of name code point and escape 130 https://drafts.csswg.org/css-syntax/#name-code-point 131 https://www.w3.org/TR/selectors-3/#lex 132 --> 133 <define-regex id="identifier-chars" extended="true"> 134 (?> 135 (?: 136 [a-z0-9_-]+ | 137 \%{non-ascii}+ | 138 \%{escape}+ 139 )+ 140 ) 141 </define-regex> 142 143 <!-- for lookbehinds (and lookaheads) --> 144 <define-regex id="single-identifier-char" extended="true"> 145 (?: 146 [a-z0-9_-] | 147 \%{non-ascii} 148 ) 149 </define-regex> 150 151 <!-- https://drafts.csswg.org/css-syntax/#ident-token-diagram --> 152 <define-regex id="identifier" extended="true"> 153 (?: 154 (?: 155 -- | 156 -? \%{identifier-start-char} 157 ) 158 \%{identifier-chars}? 159 ) 160 </define-regex> 161 162 <!-- 163 https://www.w3.org/TR/CSS21/syndata.html#vendor-keywords 164 https://en.wikipedia.org/wiki/CSS_hack#List_of_prefixes 165 --> 166 <define-regex id="vendor-specific-prefix" extended="true"> 167 (?: 168 (?: 169 [_-] \%{identifier-start-char}+ | 170 mso | 171 prince 172 ) 173 - 174 ) 175 </define-regex> 176 177 <define-regex id="vendor-specific-identifier" extended="true"> 178 (?: 179 (?<! \%{single-identifier-char} ) 180 \%{vendor-specific-prefix} \%{identifier-chars} 181 ) 182 </define-regex> 183 184 <define-regex id="declaration-value-end">(?=[!;}])</define-regex> 185 186 <define-regex id="test-value-end">(?=\))</define-regex> 187 188 <context id="comment"> 189 <include> 190 <context ref="def:c-like-comment-multiline"/> 191 <context ref="def:c-like-close-comment-outside-comment"/> 192 </include> 193 </context> 194 195 <context id="slash" style-ref="symbol"> 196 <match>/</match> 197 </context> 198 199 <context id="comma" style-ref="delimiter"> 200 <match>,</match> 201 </context> 202 203 <context id="colon" style-ref="delimiter"> 204 <match>:</match> 205 </context> 206 207 <context id="semicolon" style-ref="delimiter"> 208 <match>;</match> 209 </context> 210 211 212 <!-- data types --> 213 214 <!-- custom identifier --> 215 <context id="name" style-ref="name"> 216 <match>\%{identifier}</match> 217 </context> 218 219 <context id="vendor-specific-name" style-ref="vendor-specific"> 220 <match>\%{vendor-specific-identifier}</match> 221 </context> 222 223 <context id="escape" style-ref="escape"> 224 <match>\%{escape}</match> 225 </context> 226 227 <context id="string-content"> 228 <include> 229 <context ref="escape"/> 230 <context ref="def:line-continue"/> 231 </include> 232 </context> 233 234 <context id="double-quoted-string" style-ref="string" end-at-line-end="true" class="string" class-disabled="no-spell-check"> 235 <start>"</start> 236 <end>"</end> 237 <include> 238 <context ref="string-content"/> 239 </include> 240 </context> 241 242 <context id="single-quoted-string" style-ref="string" end-at-line-end="true" class="string" class-disabled="no-spell-check"> 243 <start>'</start> 244 <end>'</end> 245 <include> 246 <context ref="string-content"/> 247 </include> 248 </context> 249 250 <context id="string"> 251 <include> 252 <context ref="double-quoted-string"/> 253 <context ref="single-quoted-string"/> 254 </include> 255 </context> 256 257 <context id="hexadecimal-color" style-ref="color"> 258 <match>#([a-f0-9]{8}|[a-f0-9]{6}|[a-f0-9]{4}|[a-f0-9]{3})\%]</match> 259 </context> 260 261 <context id="css3-named-color" style-ref="color"> 262 <keyword>aliceblue</keyword> 263 <keyword>antiquewhite</keyword> 264 <keyword>aquamarine</keyword> 265 <keyword>azure</keyword> 266 <keyword>beige</keyword> 267 <keyword>bisque</keyword> 268 <keyword>blanchedalmond</keyword> 269 <keyword>blueviolet</keyword> 270 <keyword>brown</keyword> 271 <keyword>burlywood</keyword> 272 <keyword>cadetblue</keyword> 273 <keyword>chartreuse</keyword> 274 <keyword>chocolate</keyword> 275 <keyword>coral</keyword> 276 <keyword>cornflowerblue</keyword> 277 <keyword>cornsilk</keyword> 278 <keyword>crimson</keyword> 279 <keyword>cyan</keyword> 280 <keyword>darkblue</keyword> 281 <keyword>darkcyan</keyword> 282 <keyword>darkgoldenrod</keyword> 283 <keyword>darkgray</keyword> 284 <keyword>darkgreen</keyword> 285 <keyword>darkgrey</keyword> 286 <keyword>darkkhaki</keyword> 287 <keyword>darkmagenta</keyword> 288 <keyword>darkolivegreen</keyword> 289 <keyword>darkorange</keyword> 290 <keyword>darkorchid</keyword> 291 <keyword>darkred</keyword> 292 <keyword>darksalmon</keyword> 293 <keyword>darkseagreen</keyword> 294 <keyword>darkslateblue</keyword> 295 <keyword>darkslategray</keyword> 296 <keyword>darkslategrey</keyword> 297 <keyword>darkturquoise</keyword> 298 <keyword>darkviolet</keyword> 299 <keyword>deeppink</keyword> 300 <keyword>deepskyblue</keyword> 301 <keyword>dimgray</keyword> 302 <keyword>dimgrey</keyword> 303 <keyword>dodgerblue</keyword> 304 <keyword>firebrick</keyword> 305 <keyword>floralwhite</keyword> 306 <keyword>forestgreen</keyword> 307 <keyword>gainsboro</keyword> 308 <keyword>ghostwhite</keyword> 309 <keyword>goldenrod</keyword> 310 <keyword>gold</keyword> 311 <keyword>greenyellow</keyword> 312 <keyword>grey</keyword> 313 <keyword>honeydew</keyword> 314 <keyword>hotpink</keyword> 315 <keyword>indianred</keyword> 316 <keyword>indigo</keyword> 317 <keyword>ivory</keyword> 318 <keyword>khaki</keyword> 319 <keyword>lavenderblush</keyword> 320 <keyword>lavender</keyword> 321 <keyword>lawngreen</keyword> 322 <keyword>lemonchiffon</keyword> 323 <keyword>lightblue</keyword> 324 <keyword>lightcoral</keyword> 325 <keyword>lightcyan</keyword> 326 <keyword>lightgoldenrodyellow</keyword> 327 <keyword>lightgray</keyword> 328 <keyword>lightgreen</keyword> 329 <keyword>lightgrey</keyword> 330 <keyword>lightpink</keyword> 331 <keyword>lightsalmon</keyword> 332 <keyword>lightseagreen</keyword> 333 <keyword>lightskyblue</keyword> 334 <keyword>lightslategray</keyword> 335 <keyword>lightslategrey</keyword> 336 <keyword>lightsteelblue</keyword> 337 <keyword>lightyellow</keyword> 338 <keyword>limegreen</keyword> 339 <keyword>linen</keyword> 340 <keyword>magenta</keyword> 341 <keyword>mediumaquamarine</keyword> 342 <keyword>mediumblue</keyword> 343 <keyword>mediumorchid</keyword> 344 <keyword>mediumpurple</keyword> 345 <keyword>mediumseagreen</keyword> 346 <keyword>mediumslateblue</keyword> 347 <keyword>mediumspringgreen</keyword> 348 <keyword>mediumturquoise</keyword> 349 <keyword>mediumvioletred</keyword> 350 <keyword>midnightblue</keyword> 351 <keyword>mintcream</keyword> 352 <keyword>mistyrose</keyword> 353 <keyword>moccasin</keyword> 354 <keyword>navajowhite</keyword> 355 <keyword>oldlace</keyword> 356 <keyword>olivedrab</keyword> 357 <keyword>orangered</keyword> 358 <keyword>orchid</keyword> 359 <keyword>palegoldenrod</keyword> 360 <keyword>palegreen</keyword> 361 <keyword>paleturquoise</keyword> 362 <keyword>palevioletred</keyword> 363 <keyword>papayawhip</keyword> 364 <keyword>peachpuff</keyword> 365 <keyword>peru</keyword> 366 <keyword>pink</keyword> 367 <keyword>plum</keyword> 368 <keyword>powderblue</keyword> 369 <keyword>rebeccapurple</keyword> 370 <keyword>rosybrown</keyword> 371 <keyword>royalblue</keyword> 372 <keyword>saddlebrown</keyword> 373 <keyword>salmon</keyword> 374 <keyword>sandybrown</keyword> 375 <keyword>seagreen</keyword> 376 <keyword>seashell</keyword> 377 <keyword>sienna</keyword> 378 <keyword>skyblue</keyword> 379 <keyword>slateblue</keyword> 380 <keyword>slategray</keyword> 381 <keyword>slategrey</keyword> 382 <keyword>snow</keyword> 383 <keyword>springgreen</keyword> 384 <keyword>steelblue</keyword> 385 <keyword>tan</keyword> 386 <keyword>thistle</keyword> 387 <keyword>tomato</keyword> 388 <keyword>turquoise</keyword> 389 <keyword>violet</keyword> 390 <keyword>wheat</keyword> 391 <keyword>whitesmoke</keyword> 392 <keyword>yellowgreen</keyword> 393 </context> 394 395 <context id="named-color" style-ref="color"> 396 <keyword>aqua</keyword> 397 <keyword>black</keyword> 398 <keyword>blue</keyword> 399 <keyword>fuchsia</keyword> 400 <keyword>gray</keyword> 401 <keyword>green</keyword> 402 <keyword>lime</keyword> 403 <keyword>maroon</keyword> 404 <keyword>navy</keyword> 405 <keyword>olive</keyword> 406 <keyword>orange</keyword> 407 <keyword>purple</keyword> 408 <keyword>red</keyword> 409 <keyword>silver</keyword> 410 <keyword>teal</keyword> 411 <keyword>white</keyword> 412 <keyword>yellow</keyword> 413 </context> 414 415 <define-regex id="number-magnitude" extended="true"> 416 (?: (?> \d* \. \d+ | \d+ ) (?: e [+-]? \d+ )? ) 417 </define-regex> 418 419 <define-regex id="number" extended="true"> 420 (?: [+-]? \%{number-magnitude} ) 421 </define-regex> 422 423 <define-regex id="positive-number" extended="true"> 424 (?: \+? \%{number-magnitude} ) 425 </define-regex> 426 427 <define-regex id="integer-magnitude" extended="true"> 428 (?> \d+ ) 429 </define-regex> 430 431 <define-regex id="integer" extended="true"> 432 (?: [+-]? \%{integer-magnitude} ) 433 </define-regex> 434 435 <define-regex id="positive-integer" extended="true"> 436 (?: \+? \%{integer-magnitude} ) 437 </define-regex> 438 439 <define-regex id="non-number-char" extended="true"> 440 (?: 441 \%{single-identifier-char} | 442 \. 443 ) 444 </define-regex> 445 446 <context id="dimension" style-ref="dimension"> 447 <prefix>(?<!\%{non-number-char})\%{number}</prefix> 448 <keyword>ch</keyword> 449 <keyword>cm</keyword> 450 <keyword>deg</keyword> 451 <keyword>em</keyword> 452 <keyword>ex</keyword> 453 <keyword>fr</keyword> 454 <keyword>ft</keyword> 455 <keyword>grad</keyword> 456 <keyword>hz</keyword> 457 <keyword>in</keyword> 458 <keyword>khz</keyword> 459 <keyword>mm</keyword> 460 <keyword>ms</keyword> 461 <keyword>pc</keyword> 462 <keyword>pt</keyword> 463 <keyword>px</keyword> 464 <keyword>rad</keyword> 465 <keyword>rem</keyword> 466 <keyword>s</keyword> 467 <keyword>turn</keyword> 468 <keyword>vh</keyword> 469 <keyword>vmax</keyword> 470 <keyword>vmin</keyword> 471 <keyword>vw</keyword> 472 </context> 473 474 <context id="percentage" style-ref="dimension"> 475 <match extended="true"> 476 (?<! \%{non-number-char} ) 477 \%{number}% 478 </match> 479 </context> 480 481 <context id="resolution" style-ref="dimension"> 482 <prefix>(?<!\%{non-number-char})\%{positive-number}</prefix> 483 <keyword>dpcm</keyword> 484 <keyword>dpi</keyword> 485 <keyword>dppx</keyword> 486 </context> 487 488 <context id="ratio" style-ref="expression"> 489 <match extended="true"> 490 (?<! \%{non-number-char} ) 491 \%{positive-integer} \s* / \s* \%{positive-integer} 492 (?! \%{non-number-char} ) 493 </match> 494 </context> 495 496 <context id="number" style-ref="number"> 497 <match extended="true"> 498 (?<! \%{non-number-char} ) 499 \%{number} 500 (?! \%{non-number-char} ) 501 </match> 502 </context> 503 504 <context id="positive-integer" style-ref="integer"> 505 <match extended="true"> 506 (?<! \%{non-number-char} ) 507 \%{positive-integer} 508 (?! \%{non-number-char} ) 509 </match> 510 </context> 511 512 <context id="unicode-range" style-ref="unicode-range"> 513 <match extended="true"> 514 \%[ u \+ (?> [a-f0-9?]{1,6} ) (?> - [a-f0-9]{1,6} )? 515 (?! \%{single-identifier-char} ) 516 </match> 517 </context> 518 519 520 <!-- functions --> 521 522 <context id="css3-function-arguments" style-ref="keyword"> 523 <keyword>at</keyword> 524 <keyword>auto-fill</keyword> 525 <keyword>auto-fit</keyword> 526 <keyword>auto</keyword> 527 <keyword>bottom</keyword> 528 <keyword>center</keyword> 529 <keyword>circle</keyword> 530 <keyword>closest-corner</keyword> 531 <keyword>closest-side</keyword> 532 <keyword>ellipse</keyword> 533 <keyword>end</keyword> 534 <keyword>farthest-corner</keyword> 535 <keyword>farthest-side</keyword> 536 <keyword>left</keyword> 537 <keyword>max-content</keyword> 538 <keyword>min-content</keyword> 539 <keyword>right</keyword> 540 <keyword>start</keyword> 541 <keyword>top</keyword> 542 <keyword>to</keyword> 543 </context> 544 545 <context id="url"> 546 <start>url\(</start> 547 <end>\)</end> 548 <include> 549 <context sub-pattern="0" where="start" style-ref="function"/> 550 <context sub-pattern="0" where="end" style-ref="function"/> 551 <context ref="comment"/> 552 <context ref="string-value"/> 553 </include> 554 </context> 555 556 <context id="function-content"> 557 <include> 558 <context ref="css3-function-arguments"/> 559 <context ref="any-value"/> 560 </include> 561 </context> 562 563 <context id="vendor-specific-function"> 564 <start>\%{vendor-specific-identifier}\(</start> 565 <end>\)</end> 566 <include> 567 <context sub-pattern="0" where="start" style-ref="vendor-specific"/> 568 <context sub-pattern="0" where="end" style-ref="vendor-specific"/> 569 <context ref="comment"/> 570 <context ref="function-content"/> 571 </include> 572 </context> 573 574 <context id="function"> 575 <start>\%{identifier}\(</start> 576 <end>\)</end> 577 <include> 578 <context sub-pattern="0" where="start" style-ref="function"/> 579 <context sub-pattern="0" where="end" style-ref="function"/> 580 <context ref="comment"/> 581 <context ref="function-content"/> 582 </include> 583 </context> 584 585 <context id="function-call"> 586 <include> 587 <context ref="vendor-specific-function"/> 588 <context ref="url"/> 589 <context ref="function"/> 590 </include> 591 </context> 592 593 594 <!-- data values (interface between types and users) --> 595 596 <context id="name-value"> 597 <include> 598 <context ref="name"/> 599 </include> 600 </context> 601 602 <context id="string-value"> 603 <include> 604 <context ref="string"/> 605 </include> 606 </context> 607 608 <context id="color-value"> 609 <include> 610 <context ref="hexadecimal-color"/> 611 <context ref="css3-named-color"/> 612 <context ref="named-color"/> 613 </include> 614 </context> 615 616 <!-- resolution and ratio are used in media queries only --> 617 <context id="number-value"> 618 <include> 619 <context ref="dimension"/> 620 <context ref="percentage"/> 621 <context ref="resolution"/> 622 <context ref="ratio"/> 623 <context ref="number"/> 624 </include> 625 </context> 626 627 <context id="unicode-range-value"> 628 <include> 629 <context ref="unicode-range"/> 630 </include> 631 </context> 632 633 <!-- unicode-range is used for the unicode-range (@font-face) property only --> 634 <context id="data-value"> 635 <include> 636 <context ref="string-value"/> 637 <context ref="color-value"/> 638 <context ref="number-value"/> 639 <context ref="unicode-range"/> 640 </include> 641 </context> 642 643 644 <!-- style properties --> 645 646 <context id="svg-property-names" style-ref="property-name"> 647 <keyword>clip-path</keyword> 648 <keyword>clip-rule</keyword> 649 <keyword>color-interpolatation-filters</keyword> 650 <keyword>color-interpolatation</keyword> 651 <keyword>dominant-baseline</keyword> 652 <keyword>fill-rule</keyword> 653 <keyword>fill-opacity</keyword> 654 <keyword>fill</keyword> 655 <keyword>flood-color</keyword> 656 <keyword>flood-opacity</keyword> 657 <keyword>lighting-color</keyword> 658 <keyword>marker-end</keyword> 659 <keyword>marker-mid</keyword> 660 <keyword>marker-start</keyword> 661 <keyword>shape-rendering</keyword> 662 <keyword>stop-color</keyword> 663 <keyword>stop-opacity</keyword> 664 <keyword>stroke-dasharray</keyword> 665 <keyword>stroke-dashoffset</keyword> 666 <keyword>stroke-linecap</keyword> 667 <keyword>stroke-linejoin</keyword> 668 <keyword>stroke-miterlimit</keyword> 669 <keyword>stroke-opacity</keyword> 670 <keyword>stroke-width</keyword> 671 <keyword>stroke</keyword> 672 <keyword>text-anchor</keyword> 673 <keyword>text-rendering</keyword> 674 </context> 675 676 <context id="css3-property-names" style-ref="property-name"> 677 <keyword>align-content</keyword> 678 <keyword>align-items</keyword> 679 <keyword>align-self</keyword> 680 <keyword>animation-delay</keyword> 681 <keyword>animation-direction</keyword> 682 <keyword>animation-duration</keyword> 683 <keyword>animation-fill-mode</keyword> 684 <keyword>animation-iteration-count</keyword> 685 <keyword>animation-name</keyword> 686 <keyword>animation-play-state</keyword> 687 <keyword>animation-timing-function</keyword> 688 <keyword>animation</keyword> 689 <keyword>appearance</keyword> 690 <keyword>backface-visibility</keyword> 691 <keyword>background-blend-mode</keyword> 692 <keyword>background-clip</keyword> 693 <keyword>background-origin</keyword> 694 <keyword>background-size</keyword> 695 <keyword>bleed</keyword> 696 <keyword>border-image-outset</keyword> 697 <keyword>border-image-repeat</keyword> 698 <keyword>border-image-slice</keyword> 699 <keyword>border-image-source</keyword> 700 <keyword>border-image-width</keyword> 701 <keyword>border-image</keyword> 702 <keyword>box-decoration-break</keyword> 703 <keyword>box-sizing</keyword> 704 <keyword>break-after</keyword> 705 <keyword>break-before</keyword> 706 <keyword>break-inside</keyword> 707 <keyword>column-count</keyword> 708 <keyword>column-fill</keyword> 709 <keyword>column-gap</keyword> 710 <keyword>column-rule-color</keyword> 711 <keyword>column-rule-style</keyword> 712 <keyword>column-rule-width</keyword> 713 <keyword>column-rule</keyword> 714 <keyword>column-span</keyword> 715 <keyword>column-width</keyword> 716 <keyword>columns</keyword> 717 <keyword>filter</keyword> 718 <keyword>flex-basis</keyword> 719 <keyword>flex-direction</keyword> 720 <keyword>flex-flow</keyword> 721 <keyword>flex-grow</keyword> 722 <keyword>flex-shrink</keyword> 723 <keyword>flex-wrap</keyword> 724 <keyword>flex</keyword> 725 <keyword>font-feature-settings</keyword> 726 <keyword>font-kerning</keyword> 727 <keyword>font-language-override</keyword> 728 <keyword>font-stretch</keyword> 729 <keyword>font-synthesis</keyword> 730 <keyword>font-variant-alternates</keyword> 731 <keyword>font-variant-caps</keyword> 732 <keyword>font-variant-east-asian</keyword> 733 <keyword>font-variant-ligatures</keyword> 734 <keyword>font-variant-numeric</keyword> 735 <keyword>font-variant-position</keyword> 736 <keyword>grid-area</keyword> 737 <keyword>grid-gap</keyword> 738 <keyword>grid-auto-columns</keyword> 739 <keyword>grid-auto-flow</keyword> 740 <keyword>grid-auto-rows</keyword> 741 <keyword>grid-column-end</keyword> 742 <keyword>grid-column-gap</keyword> 743 <keyword>grid-column-start</keyword> 744 <keyword>grid-column</keyword> 745 <keyword>grid-row-end</keyword> 746 <keyword>grid-row-gap</keyword> 747 <keyword>grid-row-start</keyword> 748 <keyword>grid-row</keyword> 749 <keyword>grid-template-areas</keyword> 750 <keyword>grid-template-columns</keyword> 751 <keyword>grid-template-rows</keyword> 752 <keyword>grid-template</keyword> 753 <keyword>grid</keyword> 754 <keyword>hanging-punctuation</keyword> 755 <keyword>hyphens</keyword> 756 <keyword>image-orientation</keyword> 757 <keyword>image-rendering</keyword> 758 <keyword>image-resolution</keyword> 759 <keyword>ime-mode</keyword> 760 <keyword>isolation</keyword> 761 <keyword>justify-content</keyword> 762 <keyword>justify-self</keyword> 763 <keyword>line-break</keyword> 764 <keyword>mask-type</keyword> 765 <keyword>mask</keyword> 766 <keyword>mix-blend-mode</keyword> 767 <keyword>nav-down</keyword> 768 <keyword>nav-index</keyword> 769 <keyword>nav-left</keyword> 770 <keyword>nav-right</keyword> 771 <keyword>nav-up</keyword> 772 <keyword>object-fit</keyword> 773 <keyword>object-position</keyword> 774 <keyword>opacity</keyword> 775 <keyword>order</keyword> 776 <keyword>outline-offset</keyword> 777 <keyword>overflow-wrap</keyword> 778 <keyword>overflow-x</keyword> 779 <keyword>overflow-y</keyword> 780 <keyword>perspective-origin</keyword> 781 <keyword>perspective</keyword> 782 <keyword>pointer-events</keyword> 783 <keyword>resize</keyword> 784 <keyword>src</keyword> 785 <keyword>tab-size</keyword> 786 <keyword>text-align-last</keyword> 787 <keyword>text-combine-upright</keyword> 788 <keyword>text-decoration-color</keyword> 789 <keyword>text-decoration-line</keyword> 790 <keyword>text-decoration-style</keyword> 791 <keyword>text-justify</keyword> 792 <keyword>text-orientation</keyword> 793 <keyword>text-overflow</keyword> 794 <keyword>text-underline-position</keyword> 795 <keyword>transform-origin</keyword> 796 <keyword>transform-style</keyword> 797 <keyword>transform</keyword> 798 <keyword>transition-delay</keyword> 799 <keyword>transition-duration</keyword> 800 <keyword>transition-property</keyword> 801 <keyword>transition-timing-function</keyword> 802 <keyword>transition</keyword> 803 <keyword>unicode-range</keyword> 804 <keyword>will-change</keyword> 805 <keyword>word-break</keyword> 806 <keyword>word-wrap</keyword> 807 <keyword>writing-mode</keyword> 808 </context> 809 810 <context id="property-names" style-ref="property-name"> 811 <keyword>azimuth</keyword> 812 <keyword>background-attachment</keyword> 813 <keyword>background-color</keyword> 814 <keyword>background-image</keyword> 815 <keyword>background-position</keyword> 816 <keyword>background-repeat</keyword> 817 <keyword>background</keyword> 818 <keyword>border-bottom-color</keyword> 819 <keyword>border-bottom-left-radius</keyword> 820 <keyword>border-bottom-right-radius</keyword> 821 <keyword>border-bottom-style</keyword> 822 <keyword>border-bottom-width</keyword> 823 <keyword>border-bottom</keyword> 824 <keyword>border-collapse</keyword> 825 <keyword>border-color</keyword> 826 <keyword>border-left-color</keyword> 827 <keyword>border-left-style</keyword> 828 <keyword>border-left-width</keyword> 829 <keyword>border-left</keyword> 830 <keyword>border-radius</keyword> 831 <keyword>border-right-color</keyword> 832 <keyword>border-right-style</keyword> 833 <keyword>border-right-width</keyword> 834 <keyword>border-right</keyword> 835 <keyword>border-spacing</keyword> 836 <keyword>border-style</keyword> 837 <keyword>border-top-color</keyword> 838 <keyword>border-top-left-radius</keyword> 839 <keyword>border-top-right-radius</keyword> 840 <keyword>border-top-style</keyword> 841 <keyword>border-top-width</keyword> 842 <keyword>border-top</keyword> 843 <keyword>border-width</keyword> 844 <keyword>border</keyword> 845 <keyword>bottom</keyword> 846 <keyword>box-shadow</keyword> 847 <keyword>caption-side</keyword> 848 <keyword>clear</keyword> 849 <keyword>clip</keyword> 850 <keyword>color</keyword> 851 <keyword>content</keyword> 852 <keyword>counter-increment</keyword> 853 <keyword>counter-reset</keyword> 854 <keyword>cue-after</keyword> 855 <keyword>cue-before</keyword> 856 <keyword>cue</keyword> 857 <keyword>cursor</keyword> 858 <keyword>direction</keyword> 859 <keyword>display</keyword> 860 <keyword>elevation</keyword> 861 <keyword>empty-cells</keyword> 862 <keyword>float</keyword> 863 <keyword>font-family</keyword> 864 <keyword>font-size-adjust</keyword> 865 <keyword>font-size</keyword> 866 <keyword>font-style</keyword> 867 <keyword>font-variant</keyword> 868 <keyword>font-weight</keyword> 869 <keyword>font</keyword> 870 <keyword>height</keyword> 871 <keyword>left</keyword> 872 <keyword>letter-spacing</keyword> 873 <keyword>line-height</keyword> 874 <keyword>list-style-image</keyword> 875 <keyword>list-style-position</keyword> 876 <keyword>list-style-type</keyword> 877 <keyword>list-style</keyword> 878 <keyword>margin-bottom</keyword> 879 <keyword>margin-left</keyword> 880 <keyword>margin-right</keyword> 881 <keyword>margin-top</keyword> 882 <keyword>margin</keyword> 883 <keyword>marker-offset</keyword> 884 <keyword>marks</keyword> 885 <keyword>max-height</keyword> 886 <keyword>max-width</keyword> 887 <keyword>min-height</keyword> 888 <keyword>min-width</keyword> 889 <keyword>orphans</keyword> 890 <keyword>outline-color</keyword> 891 <keyword>outline-style</keyword> 892 <keyword>outline-width</keyword> 893 <keyword>outline</keyword> 894 <keyword>overflow</keyword> 895 <keyword>padding-bottom</keyword> 896 <keyword>padding-left</keyword> 897 <keyword>padding-right</keyword> 898 <keyword>padding-top</keyword> 899 <keyword>padding</keyword> 900 <keyword>page-break-after</keyword> 901 <keyword>page-break-before</keyword> 902 <keyword>page-break-inside</keyword> 903 <keyword>page</keyword> 904 <keyword>pause-after</keyword> 905 <keyword>pause-before</keyword> 906 <keyword>pause</keyword> 907 <keyword>pitch-range</keyword> 908 <keyword>pitch</keyword> 909 <keyword>play-during</keyword> 910 <keyword>position</keyword> 911 <keyword>quotes</keyword> 912 <keyword>richness</keyword> 913 <keyword>right</keyword> 914 <keyword>size</keyword> 915 <keyword>speak-header</keyword> 916 <keyword>speak-numeral</keyword> 917 <keyword>speak-punctuation</keyword> 918 <keyword>speak</keyword> 919 <keyword>speech-rate</keyword> 920 <keyword>stress</keyword> 921 <keyword>table-layout</keyword> 922 <keyword>text-align</keyword> 923 <keyword>text-decoration</keyword> 924 <keyword>text-indent</keyword> 925 <keyword>text-shadow</keyword> 926 <keyword>text-transform</keyword> 927 <keyword>top</keyword> 928 <keyword>unicode-bidi</keyword> 929 <keyword>vertical-align</keyword> 930 <keyword>visibility</keyword> 931 <keyword>voice-family</keyword> 932 <keyword>volume</keyword> 933 <keyword>white-space</keyword> 934 <keyword>widows</keyword> 935 <keyword>width</keyword> 936 <keyword>word-spacing</keyword> 937 <keyword>z-index</keyword> 938 </context> 939 940 <context id="animatable-properties" style-ref="keyword"> 941 <keyword>background-color</keyword> 942 <keyword>background-position</keyword> 943 <keyword>background-size</keyword> 944 <keyword>background</keyword> 945 <keyword>border-bottom-color</keyword> 946 <keyword>border-bottom-left-radius</keyword> 947 <keyword>border-bottom-right-radius</keyword> 948 <keyword>border-bottom-width</keyword> 949 <keyword>border-bottom</keyword> 950 <keyword>border-color</keyword> 951 <keyword>border-left-color</keyword> 952 <keyword>border-left-width</keyword> 953 <keyword>border-left</keyword> 954 <keyword>border-radius</keyword> 955 <keyword>border-right-color</keyword> 956 <keyword>border-right-width</keyword> 957 <keyword>border-right</keyword> 958 <keyword>border-top-color</keyword> 959 <keyword>border-top-left-radius</keyword> 960 <keyword>border-top-right-radius</keyword> 961 <keyword>border-top-width</keyword> 962 <keyword>border-top</keyword> 963 <keyword>border-width</keyword> 964 <keyword>border</keyword> 965 <keyword>bottom</keyword> 966 <keyword>box-shadow</keyword> 967 <keyword>clip-path</keyword> 968 <keyword>clip</keyword> 969 <keyword>color</keyword> 970 <keyword>column-count</keyword> 971 <keyword>column-gap</keyword> 972 <keyword>column-rule-color</keyword> 973 <keyword>column-rule-width</keyword> 974 <keyword>column-rule</keyword> 975 <keyword>column-width</keyword> 976 <keyword>columns</keyword> 977 <keyword>filter</keyword> 978 <keyword>flex-basis</keyword> 979 <keyword>flex-grow</keyword> 980 <keyword>flex-shrink</keyword> 981 <keyword>flex</keyword> 982 <keyword>font-size-adjust</keyword> 983 <keyword>font-size</keyword> 984 <keyword>font-stretch</keyword> 985 <keyword>font-weight</keyword> 986 <keyword>font</keyword> 987 <keyword>grid-column-gap</keyword> 988 <keyword>grid-gap</keyword> 989 <keyword>grid-row-gap</keyword> 990 <keyword>height</keyword> 991 <keyword>left</keyword> 992 <keyword>letter-spacing</keyword> 993 <keyword>line-height</keyword> 994 <keyword>margin-bottom</keyword> 995 <keyword>margin-left</keyword> 996 <keyword>margin-right</keyword> 997 <keyword>margin-top</keyword> 998 <keyword>margin</keyword> 999 <keyword>mask</keyword> 1000 <keyword>max-height</keyword> 1001 <keyword>max-width</keyword> 1002 <keyword>min-height</keyword> 1003 <keyword>min-width</keyword> 1004 <keyword>object-position</keyword> 1005 <keyword>opacity</keyword> 1006 <keyword>order</keyword> 1007 <keyword>outline-color</keyword> 1008 <keyword>outline-offset</keyword> 1009 <keyword>outline-width</keyword> 1010 <keyword>outline</keyword> 1011 <keyword>padding-bottom</keyword> 1012 <keyword>padding-left</keyword> 1013 <keyword>padding-right</keyword> 1014 <keyword>padding-top</keyword> 1015 <keyword>padding</keyword> 1016 <keyword>perspective-origin</keyword> 1017 <keyword>perspective</keyword> 1018 <keyword>right</keyword> 1019 <keyword>tab-size</keyword> 1020 <keyword>text-decoration-color</keyword> 1021 <keyword>text-decoration</keyword> 1022 <keyword>text-indent</keyword> 1023 <keyword>text-shadow</keyword> 1024 <keyword>top</keyword> 1025 <keyword>transform-origin</keyword> 1026 <keyword>transform</keyword> 1027 <keyword>vertical-align</keyword> 1028 <keyword>visibility</keyword> 1029 <keyword>width</keyword> 1030 <keyword>word-spacing</keyword> 1031 <keyword>z-index</keyword> 1032 </context> 1033 1034 <context id="svg-property-values" style-ref="keyword"> 1035 <keyword>alphabetic</keyword> 1036 <keyword>bevel</keyword> 1037 <keyword>butt</keyword> 1038 <keyword>central</keyword> 1039 <keyword>crispedges</keyword> 1040 <keyword>evenodd</keyword> 1041 <keyword>geometricprecision</keyword> 1042 <keyword>hanging</keyword> 1043 <keyword>ideographic</keyword> 1044 <keyword>lr-tb</keyword> 1045 <keyword>lr</keyword> 1046 <keyword>mathematical</keyword> 1047 <keyword>miter</keyword> 1048 <keyword>no-change</keyword> 1049 <keyword>nonzero</keyword> 1050 <keyword>optimizelegibility</keyword> 1051 <keyword>optimizespeed</keyword> 1052 <keyword>painted</keyword> 1053 <keyword>reset-size</keyword> 1054 <keyword>rl-tb</keyword> 1055 <keyword>rl</keyword> 1056 <keyword>stroke</keyword> 1057 <keyword>tb-rl</keyword> 1058 <keyword>tb</keyword> 1059 <keyword>text-after-edge</keyword> 1060 <keyword>text-before-edge</keyword> 1061 <keyword>use-script</keyword> 1062 <keyword>visiblefill</keyword> 1063 <keyword>visiblepainted</keyword> 1064 <keyword>visiblestroke</keyword> 1065 </context> 1066 1067 <context id="east-asian-variant-values" style-ref="keyword"> 1068 <keyword>jis04</keyword> 1069 <keyword>jis78</keyword> 1070 <keyword>jis83</keyword> 1071 <keyword>jis90</keyword> 1072 <keyword>simplified</keyword> 1073 <keyword>traditional</keyword> 1074 </context> 1075 1076 <context id="page-sizes" style-ref="keyword"> 1077 <keyword>A3</keyword> 1078 <keyword>A4</keyword> 1079 <keyword>A5</keyword> 1080 <keyword>B4</keyword> 1081 <keyword>B5</keyword> 1082 <keyword>JIS-B4</keyword> 1083 <keyword>JIS-B5</keyword> 1084 <keyword>ledger</keyword> 1085 <keyword>legal</keyword> 1086 <keyword>letter</keyword> 1087 </context> 1088 1089 <context id="css3-property-values" style-ref="keyword"> 1090 <keyword>active</keyword> 1091 <keyword>add</keyword> 1092 <keyword>allow-end</keyword> 1093 <keyword>all-petite-caps</keyword> 1094 <keyword>all-small-caps</keyword> 1095 <keyword>all-scroll</keyword> <!-- css2, but needed for regex --> 1096 <keyword>all</keyword> 1097 <keyword>alpha</keyword> 1098 <keyword>alternate-reverse</keyword> 1099 <keyword>alternate</keyword> 1100 <keyword>avoid-page</keyword> 1101 <keyword>auto-flow</keyword> 1102 <keyword>backwards</keyword> 1103 <keyword>balance</keyword> 1104 <keyword>border-box</keyword> 1105 <keyword>break-all</keyword> 1106 <keyword>break-word</keyword> 1107 <keyword>clip</keyword> 1108 <keyword>clone</keyword> 1109 <keyword>color-burn</keyword> 1110 <keyword>color-dodge</keyword> 1111 <keyword>color</keyword> 1112 <keyword>column-reverse</keyword> 1113 <keyword>column</keyword> 1114 <keyword>common-ligatures</keyword> 1115 <keyword>contain</keyword> 1116 <keyword>content-box</keyword> 1117 <keyword>contents</keyword> 1118 <keyword>contextual</keyword> 1119 <keyword>cover</keyword> 1120 <keyword>crisp-edges</keyword> 1121 <keyword>currentcolor</keyword> 1122 <keyword>darken</keyword> 1123 <keyword>dense</keyword> 1124 <keyword>diagonal-fractions</keyword> 1125 <keyword>difference</keyword> 1126 <keyword>disabled</keyword> 1127 <keyword>discretionary-ligatures</keyword> 1128 <keyword>distribute</keyword> 1129 <keyword>ease-in-out</keyword> 1130 <keyword>ease-in</keyword> 1131 <keyword>ease-out</keyword> 1132 <keyword>ease</keyword> 1133 <keyword>ellipsis</keyword> 1134 <keyword>end</keyword> 1135 <keyword>exclude</keyword> 1136 <keyword>exclusion</keyword> 1137 <keyword>fill-box</keyword> 1138 <keyword>fill</keyword> 1139 <keyword>first</keyword> 1140 <keyword>flat</keyword> 1141 <keyword>flex-end</keyword> 1142 <keyword>flex-start</keyword> 1143 <keyword>flex</keyword> 1144 <keyword>flip</keyword> 1145 <keyword>force-end</keyword> 1146 <keyword>forwards</keyword> 1147 <keyword>from-image</keyword> 1148 <keyword>full-width</keyword> 1149 <keyword>grid</keyword> 1150 <keyword>hard-light</keyword> 1151 <keyword>historical-forms</keyword> 1152 <keyword>historical-ligatures</keyword> 1153 <keyword>horizontal-tb</keyword> 1154 <keyword>horizontal</keyword> 1155 <keyword>hue</keyword> 1156 <keyword>inactive</keyword> 1157 <keyword>infinite</keyword> 1158 <keyword>initial</keyword> 1159 <keyword>inline-flex</keyword> 1160 <keyword>inline-grid</keyword> 1161 <keyword>inter-cluster</keyword> 1162 <keyword>inter-ideograph</keyword> 1163 <keyword>inter-word</keyword> 1164 <keyword>intersect</keyword> 1165 <keyword>isolate</keyword> 1166 <keyword>kashida</keyword> 1167 <keyword>keep-all</keyword> 1168 <keyword>last</keyword> 1169 <keyword>left-side</keyword> <!-- css2, but needed for regex --> 1170 <keyword>left</keyword> 1171 <keyword>lighten</keyword> 1172 <keyword>linear</keyword> 1173 <keyword>lining-nums</keyword> 1174 <keyword>local</keyword> 1175 <keyword>loose</keyword> 1176 <keyword>luminance</keyword> 1177 <keyword>luminosity</keyword> 1178 <keyword>manual</keyword> 1179 <keyword>mixed</keyword> 1180 <keyword>multiply</keyword> 1181 <keyword>no-clip</keyword> 1182 <keyword>no-common-ligatures</keyword> 1183 <keyword>no-contextual</keyword> 1184 <keyword>no-discretionary-ligatures</keyword> 1185 <keyword>no-historical-ligatures</keyword> 1186 <keyword>oldstyle-nums</keyword> 1187 <keyword>ordinal</keyword> 1188 <keyword>overlay</keyword> 1189 <keyword>padding-box</keyword> 1190 <keyword>page</keyword> 1191 <keyword>paused</keyword> 1192 <keyword>petite-caps</keyword> 1193 <keyword>pixelated</keyword> 1194 <keyword>preserve-3d</keyword> 1195 <keyword>proportional-nums</keyword> 1196 <keyword>proportional-width</keyword> 1197 <keyword>reverse</keyword> 1198 <keyword>round</keyword> 1199 <keyword>row-reverse</keyword> 1200 <keyword>row</keyword> 1201 <keyword>ruby</keyword> 1202 <keyword>running</keyword> 1203 <keyword>saturation</keyword> 1204 <keyword>scale-down</keyword> 1205 <keyword>screen</keyword> 1206 <keyword>scroll-position</keyword> 1207 <keyword>sideways-left</keyword> 1208 <keyword>sideways-right</keyword> 1209 <keyword>sideways</keyword> 1210 <keyword>slashed-zero</keyword> 1211 <keyword>slice</keyword> 1212 <keyword>soft-light</keyword> 1213 <keyword>space-around</keyword> 1214 <keyword>space-between</keyword> 1215 <keyword>space-evenly</keyword> 1216 <keyword>space</keyword> 1217 <keyword>stacked-fractions</keyword> 1218 <keyword>start</keyword> 1219 <keyword>step-end</keyword> 1220 <keyword>step-start</keyword> 1221 <keyword>stretch</keyword> 1222 <keyword>strict</keyword> 1223 <keyword>stroke-box</keyword> 1224 <keyword>style</keyword> 1225 <keyword>stylistic</keyword> 1226 <keyword>subtract</keyword> 1227 <keyword>tabular-nums</keyword> 1228 <keyword>titling-caps</keyword> 1229 <keyword>trim</keyword> 1230 <keyword>under</keyword> 1231 <keyword>unicase</keyword> 1232 <keyword>unset</keyword> 1233 <keyword>upright</keyword> 1234 <keyword>use-glyph-orientation</keyword> 1235 <keyword>vertical-lr</keyword> 1236 <keyword>vertical-rl</keyword> 1237 <keyword>vertical</keyword> 1238 <keyword>view-box</keyword> 1239 <keyword>wavy</keyword> 1240 <keyword>weight</keyword> 1241 <keyword>wrap-reverse</keyword> 1242 <keyword>wrap</keyword> 1243 </context> 1244 1245 <context id="property-values" style-ref="keyword"> 1246 <keyword>above</keyword> 1247 <keyword>absolute</keyword> 1248 <keyword>alias</keyword> 1249 <keyword>all-scroll</keyword> 1250 <keyword>always</keyword> 1251 <keyword>armenian</keyword> 1252 <keyword>auto</keyword> 1253 <keyword>avoid</keyword> 1254 <keyword>baseline</keyword> 1255 <keyword>behind</keyword> 1256 <keyword>below</keyword> 1257 <keyword>bidi-override</keyword> 1258 <keyword>blink</keyword> 1259 <keyword>block</keyword> 1260 <keyword>bolder</keyword> 1261 <keyword>bold</keyword> 1262 <keyword>both</keyword> 1263 <keyword>bottom</keyword> 1264 <keyword>capitalize</keyword> 1265 <keyword>caption</keyword> 1266 <keyword>cell</keyword> 1267 <keyword>center-left</keyword> 1268 <keyword>center-right</keyword> 1269 <keyword>center</keyword> 1270 <keyword>circle</keyword> 1271 <keyword>cjk-ideographic</keyword> 1272 <keyword>close-quote</keyword> 1273 <keyword>code</keyword> 1274 <keyword>collapse</keyword> 1275 <keyword>col-resize</keyword> 1276 <keyword>compact</keyword> 1277 <keyword>condensed</keyword> 1278 <keyword>continuous</keyword> 1279 <keyword>context-menu</keyword> 1280 <keyword>copy</keyword> 1281 <keyword>crop</keyword> 1282 <keyword>crosshair</keyword> 1283 <keyword>cross</keyword> 1284 <keyword>cue-after</keyword> 1285 <keyword>cue-before</keyword> 1286 <keyword>cursive</keyword> 1287 <keyword>dashed</keyword> 1288 <keyword>decimal</keyword> 1289 <keyword>decimal-leading-zero</keyword> 1290 <keyword>default</keyword> 1291 <keyword>digits</keyword> 1292 <keyword>disc</keyword> 1293 <keyword>dotted</keyword> 1294 <keyword>double</keyword> 1295 <keyword>embed</keyword> 1296 <keyword>e-resize</keyword> 1297 <keyword>ew-resize</keyword> 1298 <keyword>expanded</keyword> 1299 <keyword>extra-condensed</keyword> 1300 <keyword>extra-expanded</keyword> 1301 <keyword>fantasy</keyword> 1302 <keyword>far-left</keyword> 1303 <keyword>far-right</keyword> 1304 <keyword>faster</keyword> 1305 <keyword>fast</keyword> 1306 <keyword>fixed</keyword> 1307 <keyword>flow-root</keyword> 1308 <keyword>georgian</keyword> 1309 <keyword>grabbing</keyword> 1310 <keyword>grab</keyword> 1311 <keyword>groove</keyword> 1312 <keyword>hebrew</keyword> 1313 <keyword>help</keyword> 1314 <keyword>hidden</keyword> 1315 <keyword>hide</keyword> 1316 <keyword>higher</keyword> 1317 <keyword>high</keyword> 1318 <keyword>hiragana-iroha</keyword> 1319 <keyword>hiragana</keyword> 1320 <keyword>icon</keyword> 1321 <keyword>inherit</keyword> 1322 <keyword>inline-block</keyword> 1323 <keyword>inline-table</keyword> 1324 <keyword>inline</keyword> 1325 <keyword>inset</keyword> 1326 <keyword>inside</keyword> 1327 <keyword>invert</keyword> 1328 <keyword>italic</keyword> 1329 <keyword>justify</keyword> 1330 <keyword>katakana-iroha</keyword> 1331 <keyword>katakana</keyword> 1332 <keyword>landscape</keyword> 1333 <keyword>large</keyword> 1334 <keyword>larger</keyword> 1335 <keyword>left-side</keyword> 1336 <keyword>leftwards</keyword> 1337 <keyword>level</keyword> 1338 <keyword>lighter</keyword> 1339 <keyword>line-through</keyword> 1340 <keyword>list-item</keyword> 1341 <keyword>loud</keyword> 1342 <keyword>lower-alpha</keyword> 1343 <keyword>lowercase</keyword> 1344 <keyword>lower-greek</keyword> 1345 <keyword>lower-latin</keyword> 1346 <keyword>lower-roman</keyword> 1347 <keyword>lower</keyword> 1348 <keyword>low</keyword> 1349 <keyword>ltr</keyword> 1350 <keyword>marker</keyword> 1351 <keyword>medium</keyword> 1352 <keyword>menu</keyword> 1353 <keyword>message-box</keyword> 1354 <keyword>middle</keyword> 1355 <keyword>mix</keyword> 1356 <keyword>monospace</keyword> 1357 <keyword>move</keyword> 1358 <keyword>narrower</keyword> 1359 <keyword>ne-resize</keyword> 1360 <keyword>nesw-resize</keyword> 1361 <keyword>no-close-quote</keyword> 1362 <keyword>no-drop</keyword> 1363 <keyword>no-open-quote</keyword> 1364 <keyword>no-repeat</keyword> 1365 <keyword>none</keyword> 1366 <keyword>normal</keyword> 1367 <keyword>not-allowed</keyword> 1368 <keyword>nowrap</keyword> 1369 <keyword>ns-resize</keyword> 1370 <keyword>nw-resize</keyword> 1371 <keyword>nwse-resize</keyword> 1372 <keyword>n-resize</keyword> 1373 <keyword>oblique</keyword> 1374 <keyword>once</keyword> 1375 <keyword>open-quote</keyword> 1376 <keyword>outset</keyword> 1377 <keyword>outside</keyword> 1378 <keyword>overline</keyword> 1379 <keyword>pointer</keyword> 1380 <keyword>portrait</keyword> 1381 <keyword>pre-line</keyword> 1382 <keyword>pre-wrap</keyword> 1383 <keyword>pre</keyword> 1384 <keyword>progress</keyword> 1385 <keyword>relative</keyword> 1386 <keyword>repeat-x</keyword> 1387 <keyword>repeat-y</keyword> 1388 <keyword>repeat</keyword> 1389 <keyword>ridge</keyword> 1390 <keyword>right-side</keyword> 1391 <keyword>right</keyword> 1392 <keyword>rightwards</keyword> 1393 <keyword>row-resize</keyword> 1394 <keyword>rtl</keyword> 1395 <keyword>run-in</keyword> 1396 <keyword>sans-serif</keyword> 1397 <keyword>scroll</keyword> 1398 <keyword>semi-condensed</keyword> 1399 <keyword>semi-expanded</keyword> 1400 <keyword>separate</keyword> 1401 <keyword>se-resize</keyword> 1402 <keyword>serif</keyword> 1403 <keyword>show</keyword> 1404 <keyword>silent</keyword> 1405 <keyword>slower</keyword> 1406 <keyword>slow</keyword> 1407 <keyword>small-caps</keyword> 1408 <keyword>smaller</keyword> 1409 <keyword>small-caption</keyword> 1410 <keyword>small</keyword> 1411 <keyword>soft</keyword> 1412 <keyword>solid</keyword> 1413 <keyword>spell-out</keyword> 1414 <keyword>square</keyword> 1415 <keyword>se-resize</keyword> 1416 <keyword>sw-resize</keyword> 1417 <keyword>s-resize</keyword> 1418 <keyword>static</keyword> 1419 <keyword>status-bar</keyword> 1420 <keyword>sub</keyword> 1421 <keyword>super</keyword> 1422 <keyword>sw-resize</keyword> 1423 <keyword>table-caption</keyword> 1424 <keyword>table-cell</keyword> 1425 <keyword>table-column-group</keyword> 1426 <keyword>table-column</keyword> 1427 <keyword>table-footer-group</keyword> 1428 <keyword>table-header-group</keyword> 1429 <keyword>table-row-group</keyword> 1430 <keyword>table-row</keyword> 1431 <keyword>table</keyword> 1432 <keyword>text-bottom</keyword> 1433 <keyword>text</keyword> 1434 <keyword>text-top</keyword> 1435 <keyword>thick</keyword> 1436 <keyword>thin</keyword> 1437 <keyword>top</keyword> 1438 <keyword>transparent</keyword> 1439 <keyword>ultra-condensed</keyword> 1440 <keyword>ultra-expanded</keyword> 1441 <keyword>underline</keyword> 1442 <keyword>upper-alpha</keyword> 1443 <keyword>uppercase</keyword> 1444 <keyword>upper-latin</keyword> 1445 <keyword>upper-roman</keyword> 1446 <keyword>vertical-text</keyword> 1447 <keyword>visible</keyword> 1448 <keyword>wait</keyword> 1449 <keyword>wider</keyword> 1450 <keyword>w-resize</keyword> 1451 <keyword>x-fast</keyword> 1452 <keyword>x-high</keyword> 1453 <keyword>x-large</keyword> 1454 <keyword>x-loud</keyword> 1455 <keyword>x-low</keyword> 1456 <keyword>x-slow</keyword> 1457 <keyword>x-small</keyword> 1458 <keyword>x-soft</keyword> 1459 <keyword>xx-large</keyword> 1460 <keyword>xx-small</keyword> 1461 <keyword>zoom-in</keyword> 1462 <keyword>zoom-out</keyword> 1463 </context> 1464 1465 <context id="property-name"> 1466 <include> 1467 <context ref="vendor-specific-name"/> 1468 <context ref="svg-property-names"/> 1469 <context ref="css3-property-names"/> 1470 <context ref="property-names"/> 1471 </include> 1472 </context> 1473 1474 <context id="property-value-keyword"> 1475 <include> 1476 <context ref="vendor-specific-name"/> 1477 <context ref="animatable-properties"/> 1478 <context ref="svg-property-values"/> 1479 <context ref="east-asian-variant-values"/> 1480 <context ref="page-sizes"/> 1481 <context ref="css3-property-values"/> 1482 <context ref="property-values"/> 1483 </include> 1484 </context> 1485 1486 1487 <!-- any assignable value --> 1488 1489 <context id="any-value"> 1490 <include> 1491 <context ref="function-call"/> 1492 <context ref="property-value-keyword"/> 1493 <context ref="data-value"/> 1494 <context ref="slash"/> 1495 <context ref="comma"/> <!-- for lists --> 1496 </include> 1497 </context> 1498 1499 1500 <!-- modifiers --> 1501 1502 <context id="modifiers" end-parent="true" style-ref="modifier"> 1503 <keyword>important</keyword> 1504 </context> 1505 1506 <context id="modifier-content"> 1507 <include> 1508 <context ref="modifiers"/> 1509 </include> 1510 </context> 1511 1512 <context id="modifier"> 1513 <start>!</start> 1514 <end>\%{declaration-value-end}</end> 1515 <include> 1516 <context sub-pattern="0" where="start" style-ref="modifier"/> 1517 <context ref="comment"/> 1518 <context ref="modifier-content"/> 1519 </include> 1520 </context> 1521 1522 1523 <!-- style block --> 1524 1525 <context id="declaration-property"> 1526 <include> 1527 <context ref="property-name"/> 1528 </include> 1529 </context> 1530 1531 <context id="declaration-value-content"> 1532 <include> 1533 <context ref="any-value"/> 1534 </include> 1535 </context> 1536 1537 <context id="declaration-value"> 1538 <start>:</start> 1539 <end>\%{declaration-value-end}</end> 1540 <include> 1541 <context sub-pattern="0" where="start" style-ref="delimiter"/> 1542 <context ref="comment"/> 1543 <context ref="declaration-value-content"/> 1544 </include> 1545 </context> 1546 1547 <context id="declaration"> 1548 <include> 1549 <context ref="declaration-property"/> 1550 <context ref="declaration-value"/> 1551 <context ref="modifier"/> 1552 <context ref="semicolon"/> 1553 </include> 1554 </context> 1555 1556 <context id="style-block-content"> 1557 <include> 1558 <context ref="declaration"/> 1559 </include> 1560 </context> 1561 1562 <context id="style-block"> 1563 <start>{</start> 1564 <end>}</end> 1565 <include> 1566 <context sub-pattern="0" where="start" style-ref="block-delimiter"/> 1567 <context sub-pattern="0" where="end" style-ref="block-delimiter"/> 1568 <context ref="comment"/> 1569 <context ref="style-block-content"/> 1570 </include> 1571 </context> 1572 1573 1574 <!-- media queries --> 1575 1576 <context id="media-query-operators" style-ref="media-query-operator"> 1577 <keyword>and</keyword> 1578 <keyword>not</keyword> 1579 <keyword>only</keyword> 1580 </context> 1581 1582 <context id="media-types" style-ref="media-type"> 1583 <keyword>all</keyword> 1584 <keyword>print</keyword> 1585 <keyword>screen</keyword> 1586 <keyword>speech</keyword> 1587 </context> 1588 1589 <context id="css3-media-features" style-ref="media-feature"> 1590 <keyword>any-hover</keyword> 1591 <keyword>any-pointer</keyword> 1592 <keyword>aspect-ratio</keyword> 1593 <keyword>color-gamut</keyword> 1594 <keyword>color-index</keyword> 1595 <keyword>color</keyword> 1596 <keyword>display-mode</keyword> 1597 <keyword>grid</keyword> 1598 <keyword>height</keyword> 1599 <keyword>hover</keyword> 1600 <keyword>max-aspect-ratio</keyword> 1601 <keyword>max-color-index</keyword> 1602 <keyword>max-color</keyword> 1603 <keyword>max-height</keyword> 1604 <keyword>max-monochrome</keyword> 1605 <keyword>max-resolution</keyword> 1606 <keyword>max-width</keyword> 1607 <keyword>min-aspect-ratio</keyword> 1608 <keyword>min-color-index</keyword> 1609 <keyword>min-color</keyword> 1610 <keyword>min-height</keyword> 1611 <keyword>min-monochrome</keyword> 1612 <keyword>min-resolution</keyword> 1613 <keyword>min-width</keyword> 1614 <keyword>monochrome</keyword> 1615 <keyword>orientation</keyword> 1616 <keyword>overflow-block</keyword> 1617 <keyword>overflow-inline</keyword> 1618 <keyword>pointer</keyword> 1619 <keyword>resolution</keyword> 1620 <keyword>scan</keyword> 1621 <keyword>update</keyword> 1622 <keyword>width</keyword> 1623 </context> 1624 1625 <context id="css3-media-feature-values" style-ref="media-feature-value"> 1626 <keyword>browser</keyword> 1627 <keyword>coarse</keyword> 1628 <keyword>fast</keyword> 1629 <keyword>fine</keyword> 1630 <keyword>fullscreen</keyword> 1631 <keyword>hover</keyword> 1632 <keyword>interlace</keyword> 1633 <keyword>landscape</keyword> 1634 <keyword>minimal-ui</keyword> 1635 <keyword>none</keyword> 1636 <keyword>optional-paged</keyword> 1637 <keyword>p3</keyword> 1638 <keyword>paged</keyword> 1639 <keyword>portrait</keyword> 1640 <keyword>progressive</keyword> 1641 <keyword>rec2020</keyword> 1642 <keyword>scroll</keyword> 1643 <keyword>slow</keyword> 1644 <keyword>srgb</keyword> 1645 <keyword>standalone</keyword> 1646 </context> 1647 1648 <context id="media-type-value"> 1649 <include> 1650 <context ref="media-types"/> 1651 </include> 1652 </context> 1653 1654 <context id="media-feature-test-name"> 1655 <include> 1656 <context ref="css3-media-features"/> 1657 </include> 1658 </context> 1659 1660 <context id="media-feature-test-value-content"> 1661 <include> 1662 <context ref="css3-media-feature-values"/> 1663 <context ref="data-value"/> 1664 </include> 1665 </context> 1666 1667 <context id="media-feature-test-value"> 1668 <start>:</start> 1669 <end>\%{test-value-end}</end> 1670 <include> 1671 <context sub-pattern="0" where="start" style-ref="delimiter"/> 1672 <context ref="comment"/> 1673 <context ref="media-feature-test-value-content"/> 1674 </include> 1675 </context> 1676 1677 <context id="media-feature-test-content"> 1678 <include> 1679 <context ref="media-queries"/> 1680 <context ref="media-feature-test-name"/> 1681 <context ref="media-feature-test-value"/> 1682 </include> 1683 </context> 1684 1685 <context id="media-feature-test"> 1686 <start>\(</start> 1687 <end>\)</end> 1688 <include> 1689 <context sub-pattern="0" where="start" style-ref="test-delimiter"/> 1690 <context sub-pattern="0" where="end" style-ref="test-delimiter"/> 1691 <context ref="comment"/> 1692 <context ref="media-feature-test-content"/> 1693 </include> 1694 </context> 1695 1696 <context id="media-queries"> 1697 <include> 1698 <context ref="media-query-operators"/> 1699 <context ref="media-type-value"/> 1700 <context ref="media-feature-test"/> 1701 <context ref="comma"/> 1702 </include> 1703 </context> 1704 1705 1706 <!-- at-rules --> 1707 1708 <context id="at-rule-style-block-content"> 1709 <include> 1710 <context ref="declaration"/> 1711 </include> 1712 </context> 1713 1714 <context id="at-rule-style-block" end-parent="true"> 1715 <start>{</start> 1716 <end>}</end> 1717 <include> 1718 <context sub-pattern="0" where="start" style-ref="block-delimiter"/> 1719 <context sub-pattern="0" where="end" style-ref="block-delimiter"/> 1720 <context ref="comment"/> 1721 <context ref="at-rule-style-block-content"/> 1722 </include> 1723 </context> 1724 1725 <context id="at-rule-css-block-content"> 1726 <include> 1727 <context ref="at-rule"/> 1728 <context ref="selector"/> 1729 <context ref="style-block"/> 1730 </include> 1731 </context> 1732 1733 <context id="at-rule-css-block" end-parent="true"> 1734 <start>{</start> 1735 <end>}</end> 1736 <include> 1737 <context sub-pattern="0" where="start" style-ref="block-delimiter"/> 1738 <context sub-pattern="0" where="end" style-ref="block-delimiter"/> 1739 <context ref="comment"/> 1740 <context ref="at-rule-css-block-content"/> 1741 </include> 1742 </context> 1743 1744 <!-- 1745 if this was a simple context (<match>), then in a case like this: 1746 @supports { 1747 @import url(); 1748 @media screen {} 1749 } 1750 the @media rule would not be highlighted correctly 1751 (seems like a bug?) 1752 --> 1753 <context id="at-rule-delimiter" end-parent="true" style-ref="delimiter"> 1754 <start>(?=;)</start> 1755 <end>;</end> 1756 </context> 1757 1758 <context id="vendor-specific-at-rule"> 1759 <start>@\%{vendor-specific-identifier}</start> 1760 <include> 1761 <context sub-pattern="0" where="start" style-ref="vendor-specific"/> 1762 <context ref="comment"/> 1763 <context ref="at-rule-css-block"/> 1764 <context ref="at-rule-delimiter"/> 1765 </include> 1766 </context> 1767 1768 <!-- 1769 @charset "encoding"; 1770 --> 1771 1772 <context id="at-charset" first-line-only="true"> 1773 <start case-sensitive="true">^@charset(?= "[^"]*";)</start> 1774 <include> 1775 <context sub-pattern="0" where="start" style-ref="at-rule"/> 1776 <context ref="double-quoted-string"/> 1777 <context ref="at-rule-delimiter"/> 1778 </include> 1779 </context> 1780 1781 <context id="at-charset-error" style-ref="error"> 1782 <start>@charset\%]</start> 1783 <include> 1784 <context ref="at-rule-delimiter"/> 1785 </include> 1786 </context> 1787 1788 <!-- 1789 @font-face <style-block> 1790 --> 1791 1792 <context id="at-font-face"> 1793 <start>@font-face\%]</start> 1794 <include> 1795 <context sub-pattern="0" where="start" style-ref="at-rule"/> 1796 <context ref="comment"/> 1797 <context ref="at-rule-style-block"/> 1798 </include> 1799 </context> 1800 1801 <!-- 1802 @font-feature-values <font name|"font name"> { 1803 @<font-feature-type> { 1804 <custom-name>: <positive-integer>+; 1805 } 1806 } 1807 --> 1808 1809 <context id="font-feature-types" style-ref="at-rule-inner-selector"> 1810 <prefix>@</prefix> 1811 <keyword>annotation</keyword> 1812 <keyword>character-variant</keyword> 1813 <keyword>ornaments</keyword> 1814 <keyword>styleset</keyword> 1815 <keyword>stylistic</keyword> 1816 <keyword>swash</keyword> 1817 </context> 1818 1819 <context id="font-feature-type-value"> 1820 <include> 1821 <context ref="font-feature-types"/> 1822 </include> 1823 </context> 1824 1825 <context id="font-feature-value-declaration-name"> 1826 <include> 1827 <context ref="name-value"/> 1828 </include> 1829 </context> 1830 1831 <context id="font-feature-value-declaration-value-content"> 1832 <include> 1833 <context ref="positive-integer"/> 1834 </include> 1835 </context> 1836 1837 <context id="font-feature-value-declaration-value"> 1838 <start>:</start> 1839 <end>\%{declaration-value-end}</end> 1840 <include> 1841 <context sub-pattern="0" where="start" style-ref="delimiter"/> 1842 <context ref="comment"/> 1843 <context ref="font-feature-value-declaration-value-content"/> 1844 </include> 1845 </context> 1846 1847 <context id="at-font-feature-values-feature-value-block"> 1848 <start>{</start> 1849 <end>}</end> 1850 <include> 1851 <context sub-pattern="0" where="start" style-ref="block-delimiter"/> 1852 <context sub-pattern="0" where="end" style-ref="block-delimiter"/> 1853 <context ref="comment"/> 1854 <context ref="font-feature-value-declaration-name"/> 1855 <context ref="font-feature-value-declaration-value"/> 1856 <context ref="semicolon"/> 1857 </include> 1858 </context> 1859 1860 <context id="at-font-feature-values-block" end-parent="true"> 1861 <start>{</start> 1862 <end>}</end> 1863 <include> 1864 <context sub-pattern="0" where="start" style-ref="block-delimiter"/> 1865 <context sub-pattern="0" where="end" style-ref="block-delimiter"/> 1866 <context ref="comment"/> 1867 <context ref="font-feature-type-value"/> 1868 <context ref="at-font-feature-values-feature-value-block"/> 1869 </include> 1870 </context> 1871 1872 <context id="at-font-feature-values"> 1873 <start>@font-feature-values\%]</start> 1874 <include> 1875 <context sub-pattern="0" where="start" style-ref="at-rule"/> 1876 <context ref="comment"/> 1877 <context ref="string-value"/> 1878 <context ref="name-value"/> 1879 <context ref="at-font-feature-values-block"/> 1880 </include> 1881 </context> 1882 1883 <!-- 1884 @import <url(...)|"url"> <media-queries>?; 1885 --> 1886 1887 <context id="at-import"> 1888 <start>@import\%]</start> 1889 <include> 1890 <context sub-pattern="0" where="start" style-ref="at-rule"/> 1891 <context ref="comment"/> 1892 <context ref="url"/> 1893 <context ref="media-queries"/> 1894 <context ref="string-value"/> 1895 <context ref="at-rule-delimiter"/> 1896 </include> 1897 </context> 1898 1899 <!-- 1900 @keyframes <custom name|"custom name"> { 1901 <from|to|%> <style-block> 1902 } 1903 --> 1904 1905 <context id="keyframe-selector" style-ref="at-rule-inner-selector"> 1906 <keyword>from</keyword> 1907 <keyword>to</keyword> 1908 </context> 1909 1910 <context id="keyframe-selector-value"> 1911 <include> 1912 <context ref="percentage" style-ref="at-rule-inner-selector"/> 1913 <context ref="keyframe-selector"/> 1914 </include> 1915 </context> 1916 1917 <context id="at-keyframes-block" end-parent="true"> 1918 <start>{</start> 1919 <end>}</end> 1920 <include> 1921 <context sub-pattern="0" where="start" style-ref="block-delimiter"/> 1922 <context sub-pattern="0" where="end" style-ref="block-delimiter"/> 1923 <context ref="comment"/> 1924 <context ref="keyframe-selector-value"/> 1925 <context ref="style-block"/> 1926 </include> 1927 </context> 1928 1929 <context id="vendor-specific-at-keyframes"> 1930 <start>@\%{vendor-specific-prefix}keyframes\%]</start> 1931 <include> 1932 <context sub-pattern="0" where="start" style-ref="vendor-specific"/> 1933 <context ref="comment"/> 1934 <context ref="string-value"/> 1935 <context ref="name-value"/> 1936 <context ref="at-keyframes-block"/> 1937 </include> 1938 </context> 1939 1940 <context id="at-keyframes"> 1941 <start>@keyframes\%]</start> 1942 <include> 1943 <context sub-pattern="0" where="start" style-ref="at-rule"/> 1944 <context ref="comment"/> 1945 <context ref="string-value"/> 1946 <context ref="name-value"/> 1947 <context ref="at-keyframes-block"/> 1948 </include> 1949 </context> 1950 1951 <!-- 1952 @media <media-queries> <css-block> 1953 --> 1954 1955 <context id="at-media"> 1956 <start>@media\%]</start> 1957 <include> 1958 <context sub-pattern="0" where="start" style-ref="at-rule"/> 1959 <context ref="comment"/> 1960 <context ref="media-queries"/> 1961 <context ref="at-rule-css-block"/> 1962 </include> 1963 </context> 1964 1965 <!-- 1966 @namespace <namespace>? <url(...)|"url">; 1967 --> 1968 1969 <context id="namespace-value"> 1970 <include> 1971 <context ref="name" style-ref="namespace"/> 1972 </include> 1973 </context> 1974 1975 <context id="at-namespace"> 1976 <start>@namespace\%]</start> 1977 <include> 1978 <context sub-pattern="0" where="start" style-ref="at-rule"/> 1979 <context ref="comment"/> 1980 <context ref="url"/> 1981 <context ref="string-value"/> 1982 <context ref="namespace-value"/> 1983 <context ref="at-rule-delimiter"/> 1984 </include> 1985 </context> 1986 1987 <!-- 1988 @page <custom name>?<pseudo-page>* (, <custom name>?<pseudo-page>*)* { 1989 <declaration>* 1990 (@<page-margin-box-type> <style-block>)* 1991 } 1992 --> 1993 1994 <context id="pseudo-pages" style-ref="pseudo-class"> 1995 <prefix>:</prefix> 1996 <keyword>blank</keyword> 1997 <keyword>first</keyword> 1998 <keyword>left</keyword> 1999 <keyword>right</keyword> 2000 </context> 2001 2002 <context id="page-margin-box-types" style-ref="at-rule-inner-selector"> 2003 <prefix>@</prefix> 2004 <keyword>bottom-center</keyword> 2005 <keyword>bottom-left-corner</keyword> 2006 <keyword>bottom-left</keyword> 2007 <keyword>bottom-right-corner</keyword> 2008 <keyword>bottom-right</keyword> 2009 <keyword>left-bottom</keyword> 2010 <keyword>left-middle</keyword> 2011 <keyword>left-top</keyword> 2012 <keyword>right-bottom</keyword> 2013 <keyword>right-middle</keyword> 2014 <keyword>right-top</keyword> 2015 <keyword>top-center</keyword> 2016 <keyword>top-left-corner</keyword> 2017 <keyword>top-left</keyword> 2018 <keyword>top-right-corner</keyword> 2019 <keyword>top-right</keyword> 2020 </context> 2021 2022 <context id="at-page-block" end-parent="true"> 2023 <start>{</start> 2024 <end>}</end> 2025 <include> 2026 <context sub-pattern="0" where="start" style-ref="block-delimiter"/> 2027 <context sub-pattern="0" where="end" style-ref="block-delimiter"/> 2028 <context ref="comment"/> 2029 <context ref="declaration"/> 2030 <context ref="page-margin-box-types"/> 2031 <context ref="style-block"/> 2032 </include> 2033 </context> 2034 2035 <context id="at-page"> 2036 <start>@page\%]</start> 2037 <include> 2038 <context sub-pattern="0" where="start" style-ref="at-rule"/> 2039 <context ref="comment"/> 2040 <context ref="pseudo-pages"/> 2041 <context ref="name-value"/> 2042 <context ref="comma"/> 2043 <context ref="at-page-block"/> 2044 </include> 2045 </context> 2046 2047 <!-- 2048 @supports <test> <css-block> 2049 --> 2050 2051 <context id="at-supports-operators" style-ref="at-rule-operator"> 2052 <keyword>and</keyword> 2053 <keyword>not</keyword> 2054 <keyword>or</keyword> 2055 </context> 2056 2057 <define-regex id="at-supports-declaration-value-end" extended="true"> 2058 (?: 2059 \%{test-value-end} | 2060 (?= ! ) 2061 ) 2062 </define-regex> 2063 2064 <context id="at-supports-declaration-value"> 2065 <start>:</start> 2066 <end>\%{at-supports-declaration-value-end}</end> 2067 <include> 2068 <context sub-pattern="0" where="start" style-ref="delimiter"/> 2069 <context ref="comment"/> 2070 <context ref="declaration-value-content"/> 2071 </include> 2072 </context> 2073 2074 <context id="at-supports-modifier"> 2075 <start>!</start> 2076 <end>\%{at-supports-declaration-value-end}</end> 2077 <include> 2078 <context sub-pattern="0" where="start" style-ref="modifier"/> 2079 <context ref="comment"/> 2080 <context ref="modifier-content"/> 2081 </include> 2082 </context> 2083 2084 <context id="at-supports-test"> 2085 <start>\(</start> 2086 <end>\)</end> 2087 <include> 2088 <context sub-pattern="0" where="start" style-ref="test-delimiter"/> 2089 <context sub-pattern="0" where="end" style-ref="test-delimiter"/> 2090 <context ref="comment"/> 2091 <context ref="at-supports-test"/> 2092 <context ref="at-supports-operators"/> 2093 <context ref="declaration-property"/> 2094 <context ref="at-supports-declaration-value"/> 2095 <context ref="at-supports-modifier"/> <!-- allowed here but has no effect --> 2096 </include> 2097 </context> 2098 2099 <context id="at-supports"> 2100 <start>@supports\%]</start> 2101 <include> 2102 <context sub-pattern="0" where="start" style-ref="at-rule"/> 2103 <context ref="comment"/> 2104 <context ref="at-supports-test"/> 2105 <context ref="at-supports-operators"/> 2106 <context ref="at-rule-css-block"/> 2107 </include> 2108 </context> 2109 2110 <!-- all at-rules --> 2111 2112 <context id="at-rule"> 2113 <include> 2114 <context ref="vendor-specific-at-keyframes"/> 2115 <context ref="vendor-specific-at-rule"/> 2116 <context ref="at-charset"/> 2117 <context ref="at-charset-error"/> 2118 <context ref="at-font-face"/> 2119 <context ref="at-font-feature-values"/> 2120 <context ref="at-import"/> 2121 <context ref="at-keyframes"/> 2122 <context ref="at-media"/> 2123 <context ref="at-namespace"/> 2124 <context ref="at-page"/> 2125 <context ref="at-supports"/> 2126 </include> 2127 </context> 2128 2129 2130 <!-- selectors --> 2131 2132 <!-- namespace qualifier --> 2133 2134 <context id="namespace-qualifier"> 2135 <match>(\%{identifier}|\*)?(\|)</match> 2136 <include> 2137 <context sub-pattern="1" style-ref="namespace"/> 2138 <context sub-pattern="2" style-ref="namespace-qualifier"/> 2139 </include> 2140 </context> 2141 2142 <!-- simple selectors --> 2143 2144 <context id="id-selector" style-ref="id-selector"> 2145 <match>#\%{identifier}</match> 2146 </context> 2147 2148 <context id="class-selector" style-ref="class-selector"> 2149 <match>\.\%{identifier}</match> 2150 </context> 2151 2152 <context id="type-selector" style-ref="type-selector"> 2153 <match>\%{identifier}</match> 2154 </context> 2155 2156 <context id="universal-selector" style-ref="universal-selector"> 2157 <match>\*</match> 2158 </context> 2159 2160 <context id="attribute-selector-attribute-name"> 2161 <match>(?<=\[)\s*(\%{identifier})</match> 2162 <include> 2163 <context sub-pattern="1" style-ref="attribute-selector-name"/> 2164 </include> 2165 </context> 2166 2167 <context id="attribute-selector-operator" style-ref="attribute-selector-operator"> 2168 <match>[~|^$*]?=</match> 2169 </context> 2170 2171 <context id="attribute-selector-content"> 2172 <include> 2173 <context ref="string-value"/> 2174 <context ref="attribute-selector-attribute-name"/> 2175 <context ref="attribute-selector-operator"/> 2176 </include> 2177 </context> 2178 2179 <context id="attribute-selector"> 2180 <start>\[</start> 2181 <end>]</end> 2182 <include> 2183 <context sub-pattern="0" where="start" style-ref="attribute-selector"/> 2184 <context sub-pattern="0" where="end" style-ref="attribute-selector"/> 2185 <context ref="comment"/> 2186 <context ref="attribute-selector-content"/> 2187 </include> 2188 </context> 2189 2190 <context id="simple-selector"> 2191 <include> 2192 <context ref="id-selector"/> 2193 <context ref="class-selector"/> 2194 <context ref="type-selector"/> 2195 <context ref="universal-selector"/> 2196 <context ref="attribute-selector"/> 2197 </include> 2198 </context> 2199 2200 <!-- combinators --> 2201 2202 <!-- technically, this should include the space character (descendant combinator) --> 2203 <context id="combinator" style-ref="combinator"> 2204 <match>[>+~]</match> 2205 </context> 2206 2207 <!-- pseudo-elements --> 2208 2209 <context id="vendor-specific-pseudo-element" style-ref="vendor-specific"> 2210 <match>::\%{vendor-specific-identifier}</match> 2211 </context> 2212 2213 <context id="single-colon-pseudo-elements" style-ref="pseudo-element"> 2214 <prefix>::?</prefix> 2215 <keyword>after</keyword> 2216 <keyword>before</keyword> 2217 <keyword>first-letter</keyword> 2218 <keyword>first-line</keyword> 2219 </context> 2220 2221 <context id="pseudo-elements" style-ref="pseudo-element"> 2222 <prefix>::</prefix> 2223 <keyword>placeholder</keyword> 2224 <keyword>selection</keyword> 2225 </context> 2226 2227 <context id="pseudo-element"> 2228 <include> 2229 <context ref="vendor-specific-pseudo-element"/> 2230 <context ref="single-colon-pseudo-elements"/> 2231 <context ref="pseudo-elements"/> 2232 </include> 2233 </context> 2234 2235 <!-- pseudo-classes --> 2236 2237 <context id="vendor-specific-pseudo-class" style-ref="vendor-specific"> 2238 <match>:\%{vendor-specific-identifier}</match> 2239 </context> 2240 2241 <context id="pseudo-classes" style-ref="pseudo-class"> 2242 <prefix>:</prefix> 2243 <keyword>active</keyword> 2244 <keyword>checked</keyword> 2245 <keyword>default</keyword> 2246 <keyword>disabled</keyword> 2247 <keyword>empty</keyword> 2248 <keyword>enabled</keyword> 2249 <keyword>first-child</keyword> 2250 <keyword>first-of-type</keyword> 2251 <keyword>focus</keyword> 2252 <keyword>hover</keyword> 2253 <keyword>in-range</keyword> 2254 <keyword>indeterminate</keyword> 2255 <keyword>invalid</keyword> 2256 <keyword>lang</keyword> 2257 <keyword>last-child</keyword> 2258 <keyword>last-of-type</keyword> 2259 <keyword>link</keyword> 2260 <keyword>not</keyword> 2261 <keyword>nth-child</keyword> 2262 <keyword>nth-last-child</keyword> 2263 <keyword>nth-last-of-type</keyword> 2264 <keyword>nth-of-type</keyword> 2265 <keyword>only-child</keyword> 2266 <keyword>only-of-type</keyword> 2267 <keyword>optional</keyword> 2268 <keyword>out-of-range</keyword> 2269 <keyword>read-only</keyword> 2270 <keyword>read-write</keyword> 2271 <keyword>required</keyword> 2272 <keyword>root</keyword> 2273 <keyword>target</keyword> 2274 <keyword>valid</keyword> 2275 <keyword>visited</keyword> 2276 </context> 2277 2278 <context id="pseudo-class"> 2279 <include> 2280 <context ref="vendor-specific-pseudo-class"/> 2281 <context ref="pseudo-classes"/> 2282 </include> 2283 </context> 2284 2285 <!-- pseudo-class arguments --> 2286 2287 <context id="lang-pseudo-class-argument-content"> 2288 <include> 2289 <context ref="name-value"/> 2290 </include> 2291 </context> 2292 2293 <context id="lang-pseudo-class-argument"> 2294 <start>(?<=:lang)\(</start> 2295 <end>\)</end> 2296 <include> 2297 <context sub-pattern="0" where="start" style-ref="pseudo-class"/> 2298 <context sub-pattern="0" where="end" style-ref="pseudo-class"/> 2299 <context ref="comment"/> 2300 <context ref="lang-pseudo-class-argument-content"/> 2301 </include> 2302 </context> 2303 2304 <context id="not-pseudo-class-nested-not-error" style-ref="error"> 2305 <start>:not\(</start> 2306 <end>\)</end> 2307 <include> 2308 <context ref="pseudo-class-argument"/> 2309 </include> 2310 </context> 2311 2312 <context id="not-pseudo-class-nested-pseudo-element-error"> 2313 <include> 2314 <context ref="vendor-specific-pseudo-element" style-ref="error"/> 2315 <context ref="single-colon-pseudo-elements" style-ref="error"/> 2316 <context ref="pseudo-elements" style-ref="error"/> 2317 </include> 2318 </context> 2319 2320 <context id="not-pseudo-class-argument"> 2321 <start>(?<=:not)\(</start> 2322 <end>\)</end> 2323 <include> 2324 <context sub-pattern="0" where="start" style-ref="pseudo-class"/> 2325 <context sub-pattern="0" where="end" style-ref="pseudo-class"/> 2326 <context ref="comment"/> 2327 <context ref="not-pseudo-class-nested-not-error"/> 2328 <context ref="not-pseudo-class-nested-pseudo-element-error"/> 2329 <context ref="simple-selector"/> 2330 <context ref="combinator"/> 2331 <context ref="pseudo-class"/> 2332 <context ref="pseudo-class-argument"/> 2333 <context ref="comma"/> 2334 </include> 2335 </context> 2336 2337 <context id="nth-pseudo-class-argument-keywords" once-only="true" style-ref="keyword"> 2338 <keyword>even</keyword> 2339 <keyword>odd</keyword> 2340 </context> 2341 2342 <context id="nth-pseudo-class-argument-expression" once-only="true" style-ref="expression"> 2343 <match extended="true"> 2344 ( 2345 \%{integer}? n ( \s* [+-] \s* \%{integer-magnitude} )? | 2346 \%{integer} 2347 ) 2348 </match> 2349 </context> 2350 2351 <context id="nth-pseudo-class-argument-content"> 2352 <include> 2353 <context ref="nth-pseudo-class-argument-keywords"/> 2354 <context ref="nth-pseudo-class-argument-expression"/> 2355 </include> 2356 </context> 2357 2358 <context id="nth-pseudo-class-argument"> 2359 <start extended="true"> 2360 (?<= 2361 :nth-child | 2362 :nth-last-child | 2363 :nth-of-type | 2364 :nth-last-of-type 2365 ) 2366 \( 2367 </start> 2368 <end>\)</end> 2369 <include> 2370 <context sub-pattern="0" where="start" style-ref="pseudo-class"/> 2371 <context sub-pattern="0" where="end" style-ref="pseudo-class"/> 2372 <context ref="comment"/> 2373 <context ref="nth-pseudo-class-argument-content"/> 2374 </include> 2375 </context> 2376 2377 <context id="pseudo-class-argument"> 2378 <include> 2379 <context ref="lang-pseudo-class-argument"/> 2380 <context ref="not-pseudo-class-argument"/> 2381 <context ref="nth-pseudo-class-argument"/> 2382 </include> 2383 </context> 2384 2385 <!-- all selectors --> 2386 2387 <context id="selector"> 2388 <include> 2389 <context ref="namespace-qualifier"/> 2390 <context ref="simple-selector"/> 2391 <context ref="combinator"/> 2392 <context ref="pseudo-element"/> 2393 <context ref="pseudo-class"/> 2394 <context ref="pseudo-class-argument"/> 2395 <context ref="comma"/> 2396 </include> 2397 </context> 2398 2399 2400 <!-- main context --> 2401 2402 <context id="css" class="no-spell-check"> 2403 <include> 2404 <context ref="comment"/> 2405 <context ref="at-rule"/> 2406 <context ref="selector"/> 2407 <context ref="style-block"/> 2408 </include> 2409 </context> 2410 2411 </definitions> 2412</language> 2413