summaryrefslogtreecommitdiff
path: root/src/share/3rdparty/generic-highlighter/css.xml
diff options
context:
space:
mode:
Diffstat (limited to 'src/share/3rdparty/generic-highlighter/css.xml')
-rw-r--r--src/share/3rdparty/generic-highlighter/css.xml1173
1 files changed, 926 insertions, 247 deletions
diff --git a/src/share/3rdparty/generic-highlighter/css.xml b/src/share/3rdparty/generic-highlighter/css.xml
index 3300222e17..25a614e826 100644
--- a/src/share/3rdparty/generic-highlighter/css.xml
+++ b/src/share/3rdparty/generic-highlighter/css.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd"
[
- <!-- http://www.w3.org/TR/CSS21/syndata.html#tokenization -->
+ <!-- https://www.w3.org/TR/CSS22/syndata.html#tokenization -->
<!ENTITY nmstart "[_a-zA-Z]|(\\[0-9a-fA-F]{1,6})|(\\[^\n\r\f0-9a-fA-F])">
<!ENTITY nmchar "[_a-zA-Z0-9-]|(\\[0-9a-fA-F]{1,6})|(\\[^\n\r\f0-9a-fA-F])">
]>
@@ -12,6 +12,15 @@ Kate CSS syntax highlighting definition
Changelog:
+- Version 8, by Jonathan Poelen
+- fix some Operator and Selector Tag highlighting
+
+- Version 7, by Jonathan Poelen
+- fix tag followed by a pseudo-class in a nested rule (@media, ...)
+- fix constraint in a rule
+- fix Kate auto-completion for properties and rules
+- New highlighting categories: Keyword, Operator, Separator Symbol, SpecialChar, Variable, Value Keyword, Color, Number, Unit, Selector Tag
+
- Version 4, by Guo Yunhe guoyunhebrave@gmail.com
- Remake for complex CSS syntax, avoid errors
@@ -29,105 +38,128 @@ Changelog:
-->
-<language name="CSS" version="6" kateversion="5.0" section="Markup" extensions="*.css" indenter="cstyle" mimetype="text/css" author="Wilbert Berendsen (wilbert@kde.nl)" license="LGPL" priority="10">
+<language name="CSS" version="8" kateversion="5.0" section="Markup" extensions="*.css" indenter="cstyle" mimetype="text/css" author="Wilbert Berendsen (wilbert@kde.nl)" license="LGPL" priority="10">
<highlighting>
<list name="properties">
<!-- W3C > Work Draft, from https://www.w3.org/Style/CSS/all-properties -->
- <item>azimuth</item>
<item>align-content</item>
<item>align-items</item>
- <item>align-self</item>
<item>alignment-baseline</item>
+ <item>align-self</item>
<item>all</item>
- <item>animation-name</item>
+ <item>animation</item>
+ <item>animation-delay</item>
+ <item>animation-direction</item>
<item>animation-duration</item>
+ <item>animation-fill-mode</item>
<item>animation-iteration-count</item>
- <item>animation-direction</item>
- <item>animation-delay</item>
+ <item>animation-name</item>
<item>animation-play-state</item>
- <item>animation-fill-mode</item>
<item>animation-timing-function</item>
+ <item>appearance</item>
+ <item>azimuth</item>
<item>backface-visibility</item>
<item>background</item>
<item>background-attachment</item>
<item>background-blend-mode</item>
- <item>background-break</item>
<item>background-clip</item>
<item>background-color</item>
<item>background-image</item>
+ <item>background-image-transform</item>
<item>background-origin</item>
<item>background-position</item>
<item>background-repeat</item>
<item>background-size</item>
<item>baseline-shift</item>
+ <item>block-size</item>
+ <item>block-step</item>
+ <item>block-step-align</item>
+ <item>block-step-insert</item>
+ <item>block-step-round</item>
+ <item>block-step-size</item>
<item>bookmark-label</item>
<item>bookmark-level</item>
- <item>bookmark-level</item>
+ <item>bookmark-state</item>
<item>border</item>
+ <item>border-block</item>
+ <item>border-block-color</item>
+ <item>border-block-end</item>
+ <item>border-block-end-color</item>
+ <item>border-block-end-style</item>
+ <item>border-block-end-width</item>
+ <item>border-block-start</item>
+ <item>border-block-start-color</item>
+ <item>border-block-start-style</item>
+ <item>border-block-start-width</item>
+ <item>border-block-style</item>
+ <item>border-block-width</item>
<item>border-bottom</item>
<item>border-bottom-color</item>
- <item>border-bottom-image</item>
- <item>border-bottom-style</item>
- <item>border-bottom-width</item>
- <item>border-bottom-left-image</item>
<item>border-bottom-left-radius</item>
- <item>border-bottom-right-image</item>
<item>border-bottom-right-radius</item>
+ <item>border-bottom-style</item>
+ <item>border-bottom-width</item>
<item>border-boundary</item>
<item>border-collapse</item>
<item>border-color</item>
- <item>border-corner-image</item>
<item>border-image</item>
<item>border-image-outset</item>
<item>border-image-repeat</item>
<item>border-image-slice</item>
<item>border-image-source</item>
+ <item>border-image-transform</item>
<item>border-image-width</item>
+ <item>border-inline</item>
+ <item>border-inline-color</item>
+ <item>border-inline-end</item>
+ <item>border-inline-end-color</item>
+ <item>border-inline-end-style</item>
+ <item>border-inline-end-width</item>
+ <item>border-inline-start</item>
+ <item>border-inline-start-color</item>
+ <item>border-inline-start-style</item>
+ <item>border-inline-start-width</item>
+ <item>border-inline-style</item>
+ <item>border-inline-width</item>
<item>border-left</item>
<item>border-left-color</item>
- <item>border-left-image</item>
<item>border-left-style</item>
<item>border-left-width</item>
<item>border-radius</item>
<item>border-right</item>
<item>border-right-color</item>
- <item>border-right-image</item>
<item>border-right-style</item>
<item>border-right-width</item>
<item>border-spacing</item>
<item>border-style</item>
<item>border-top</item>
<item>border-top-color</item>
- <item>border-top-image</item>
- <item>border-top-style</item>
- <item>border-top-width</item>
- <item>border-top-left-image</item>
<item>border-top-left-radius</item>
- <item>border-top-right-image</item>
<item>border-top-right-radius</item>
+ <item>border-top-style</item>
+ <item>border-top-width</item>
<item>border-width</item>
<item>bottom</item>
- <item>box-align</item>
<item>box-decoration-break</item>
- <item>box-direction</item>
- <item>box-flex</item>
<item>box-shadow</item>
<item>box-sizing</item>
<item>box-snap</item>
- <item>box-suppress</item>
<item>break-after</item>
<item>break-before</item>
<item>break-inside</item>
- <item>caret-color</item>
<item>caption-side</item>
- <item>chains</item>
+ <item>caret</item>
+ <item>caret-color</item>
+ <item>caret-shape</item>
<item>clear</item>
<item>clip</item>
<item>clip-path</item>
<item>clip-rule</item>
<item>color</item>
+ <item>color-adjust</item>
<item>color-interpolation-filters</item>
+ <item>columns</item>
<item>column-count</item>
<item>column-fill</item>
<item>column-gap</item>
@@ -137,8 +169,9 @@ Changelog:
<item>column-rule-width</item>
<item>column-span</item>
<item>column-width</item>
- <item>columns</item>
+ <item>contain</item>
<item>content</item>
+ <item>continue</item>
<item>counter-increment</item>
<item>counter-reset</item>
<item>counter-set</item>
@@ -151,6 +184,16 @@ Changelog:
<item>dominant-baseline</item>
<item>elevation</item>
<item>empty-cells</item>
+ <item>fill</item>
+ <item>fill-break</item>
+ <item>fill-color</item>
+ <item>fill-image</item>
+ <item>fill-opacity</item>
+ <item>fill-origin</item>
+ <item>fill-position</item>
+ <item>fill-repeat</item>
+ <item>fill-rule</item>
+ <item>fill-size</item>
<item>filter</item>
<item>flex</item>
<item>flex-basis</item>
@@ -160,32 +203,40 @@ Changelog:
<item>flex-shrink</item>
<item>flex-wrap</item>
<item>float</item>
+ <item>float-defer</item>
+ <item>float-offset</item>
+ <item>float-reference</item>
<item>flood-color</item>
<item>flood-opacity</item>
- <item>flow</item>
<item>flow-from</item>
<item>flow-into</item>
<item>font</item>
<item>font-family</item>
+ <item>font-feature-settings</item>
+ <item>font-kerning</item>
+ <item>font-language-override</item>
+ <item>font-max-size</item>
+ <item>font-min-size</item>
+ <item>font-optical-sizing</item>
+ <item>font-palette</item>
<item>font-size</item>
<item>font-size-adjust</item>
<item>font-stretch</item>
<item>font-style</item>
- <item>font-variant</item>
- <item>font-weight</item>
- <item>font-stretch</item>
- <item>font-feature-settings</item>
- <item>font-kerning</item>
- <item>font-language-override</item>
<item>font-synthesis</item>
+ <item>font-variant</item>
<item>font-variant-alternates</item>
<item>font-variant-caps</item>
<item>font-variant-east-asian</item>
+ <item>font-variant-emoji</item>
<item>font-variant-ligatures</item>
<item>font-variant-numeric</item>
<item>font-variant-position</item>
+ <item>font-variation-settings</item>
+ <item>font-weight</item>
<item>footnote-display</item>
<item>footnote-policy</item>
+ <item>gap</item>
<item>glyph-orientation-vertical</item>
<item>grid</item>
<item>grid-area</item>
@@ -207,6 +258,11 @@ Changelog:
<item>grid-template-rows</item>
<item>hanging-punctuation</item>
<item>height</item>
+ <item>hyphenate-character</item>
+ <item>hyphenate-limit-chars</item>
+ <item>hyphenate-limit-last</item>
+ <item>hyphenate-limit-lines</item>
+ <item>hyphenate-limit-zone</item>
<item>hyphens</item>
<item>image-orientation</item>
<item>image-rendering</item>
@@ -214,6 +270,14 @@ Changelog:
<item>initial-letter</item>
<item>initial-letter-align</item>
<item>initial-letter-wrap</item>
+ <item>inline-size</item>
+ <item>inset</item>
+ <item>inset-block</item>
+ <item>inset-block-end</item>
+ <item>inset-block-start</item>
+ <item>inset-inline</item>
+ <item>inset-inline-end</item>
+ <item>inset-inline-start</item>
<item>isolation</item>
<item>justify-content</item>
<item>justify-items</item>
@@ -221,22 +285,35 @@ Changelog:
<item>left</item>
<item>letter-spacing</item>
<item>lighting-color</item>
- <item>linear-gradient</item>
+ <item>line-break</item>
<item>line-grid</item>
<item>line-height</item>
+ <item>line-height-step</item>
<item>line-snap</item>
<item>list-style</item>
<item>list-style-image</item>
- <item>list-style-keyword</item>
<item>list-style-position</item>
<item>list-style-type</item>
<item>margin</item>
+ <item>margin-block</item>
+ <item>margin-block-end</item>
+ <item>margin-block-start</item>
<item>margin-bottom</item>
+ <item>margin-inline</item>
+ <item>margin-inline-end</item>
+ <item>margin-inline-start</item>
<item>margin-left</item>
<item>margin-right</item>
<item>margin-top</item>
- <item>marker-offset</item>
+ <item>marker</item>
+ <item>marker-end</item>
+ <item>marker-knockout-left</item>
+ <item>marker-knockout-right</item>
+ <item>marker-mid</item>
+ <item>marker-pattern</item>
+ <item>marker-segment</item>
<item>marker-side</item>
+ <item>marker-start</item>
<item>marquee-direction</item>
<item>marquee-loop</item>
<item>marquee-speed</item>
@@ -258,21 +335,31 @@ Changelog:
<item>mask-repeat</item>
<item>mask-size</item>
<item>mask-type</item>
+ <item>max-block-size</item>
<item>max-height</item>
+ <item>max-inline-size</item>
<item>max-lines</item>
<item>max-width</item>
+ <item>min-block-size</item>
<item>min-height</item>
+ <item>min-inline-size</item>
<item>min-width</item>
<item>mix-blend-mode</item>
+ <item>nav-up</item>
<item>nav-down</item>
<item>nav-left</item>
<item>nav-right</item>
- <item>nav-up</item>
<item>object-fit</item>
<item>object-position</item>
+ <item>offset</item>
<item>offset-after</item>
+ <item>offset-anchor</item>
<item>offset-before</item>
+ <item>offset-distance</item>
<item>offset-end</item>
+ <item>offset-path</item>
+ <item>offset-position</item>
+ <item>offset-rotate</item>
<item>offset-start</item>
<item>opacity</item>
<item>order</item>
@@ -288,7 +375,13 @@ Changelog:
<item>overflow-x</item>
<item>overflow-y</item>
<item>padding</item>
+ <item>padding-block</item>
+ <item>padding-block-end</item>
+ <item>padding-block-start</item>
<item>padding-bottom</item>
+ <item>padding-inline</item>
+ <item>padding-inline-end</item>
+ <item>padding-inline-start</item>
<item>padding-left</item>
<item>padding-right</item>
<item>padding-top</item>
@@ -303,108 +396,82 @@ Changelog:
<item>perspective-origin</item>
<item>pitch</item>
<item>pitch-range</item>
+ <item>place-content</item>
+ <item>place-items</item>
+ <item>place-self</item>
<item>play-during</item>
<item>pointer-events</item>
- <item>polar-anchor</item>
- <item>polar-angle</item>
- <item>polar-distance</item>
- <item>polar-origin</item>
<item>position</item>
- <item>presentation-level</item>
<item>quotes</item>
+ <item>region-fragment</item>
<item>resize</item>
- <item>rest</item>
- <item>rest-after</item>
- <item>rest-before</item>
<item>richness</item>
<item>right</item>
<item>rotation</item>
<item>rotation-point</item>
+ <item>row-gap</item>
<item>ruby-align</item>
<item>ruby-merge</item>
<item>ruby-position</item>
<item>running</item>
- <item>scroll-behavior</item>
- <item>scroll-snap-align</item>
- <item>scroll-snap-margin</item>
- <item>scroll-snap-margin-block</item>
- <item>scroll-snap-margin-block-end</item>
- <item>scroll-snap-margin-block-start</item>
- <item>scroll-snap-margin-bottom</item>
- <item>scroll-snap-margin-inline</item>
- <item>scroll-snap-margin-inline-end</item>
- <item>scroll-snap-margin-inline-start</item>
- <item>scroll-snap-margin-left</item>
- <item>scroll-snap-margin-right</item>
- <item>scroll-snap-margin-top</item>
- <item>scroll-snap-padding</item>
- <item>scroll-snap-padding-block</item>
- <item>scroll-snap-padding-block-end</item>
- <item>scroll-snap-padding-block-start</item>
- <item>scroll-snap-padding-bottom</item>
- <item>scroll-snap-padding-inline</item>
- <item>scroll-snap-padding-inline-end</item>
- <item>scroll-snap-padding-inline-start</item>
- <item>scroll-snap-padding-left</item>
- <item>scroll-snap-padding-right</item>
- <item>scroll-snap-padding-top</item>
- <item>scroll-snap-stop</item>
- <item>scroll-snap-type</item>
+ <item>scrollbar-gutter</item>
<item>shape-image-threshold</item>
<item>shape-inside</item>
<item>shape-margin</item>
<item>shape-outside</item>
<item>size</item>
<item>speak</item>
- <item>speak-as</item>
<item>speak-header</item>
<item>speak-numeral</item>
<item>speak-punctuation</item>
<item>speech-rate</item>
<item>stress</item>
<item>string-set</item>
- <item>tab-size</item>
<item>table-layout</item>
+ <item>tab-size</item>
+ <item>text-align-all</item>
<item>text-align</item>
<item>text-align-last</item>
<item>text-combine-upright</item>
- <item>text-decoration</item>
<item>text-decoration-color</item>
+ <item>text-decoration</item>
<item>text-decoration-line</item>
<item>text-decoration-skip</item>
+ <item>text-decoration-skip-ink</item>
<item>text-decoration-style</item>
+ <item>text-decoration-width</item>
<item>text-emphasis</item>
<item>text-emphasis-color</item>
<item>text-emphasis-position</item>
+ <item>text-emphasis-skip</item>
<item>text-emphasis-style</item>
<item>text-indent</item>
<item>text-justify</item>
<item>text-orientation</item>
<item>text-overflow</item>
<item>text-shadow</item>
+ <item>text-space-collapse</item>
+ <item>text-space-trim</item>
+ <item>text-spacing</item>
<item>text-transform</item>
+ <item>text-underline-offset</item>
<item>text-underline-position</item>
<item>text-wrap</item>
<item>top</item>
<item>transform</item>
+ <item>transform-box</item>
<item>transform-origin</item>
<item>transform-style</item>
<item>transition</item>
<item>transition-delay</item>
- <item>transition-property</item>
<item>transition-duration</item>
+ <item>transition-property</item>
<item>transition-timing-function</item>
<item>unicode-bidi</item>
+ <item>user-select</item>
<item>vertical-align</item>
<item>visibility</item>
- <item>voice-balance</item>
- <item>voice-duration</item>
<item>voice-family</item>
- <item>voice-pitch</item>
- <item>voice-range</item>
- <item>voice-rate</item>
- <item>voice-stress</item>
- <item>voice-volume</item>
<item>volume</item>
<item>white-space</item>
<item>widows</item>
@@ -413,49 +480,71 @@ Changelog:
<item>word-break</item>
<item>word-spacing</item>
<item>word-wrap</item>
+ <item>wrap-after</item>
+ <item>wrap-before</item>
<item>wrap-flow</item>
+ <item>wrap-inside</item>
<item>wrap-through</item>
<item>writing-mode</item>
<item>z-index</item>
<!-- Gecko rendering engine CSS property extensions -->
- <item>-moz-animation-name</item>
- <item>-moz-animation-duration</item>
- <item>-moz-animation-iteration</item>
- <item>-moz-animation-direction</item>
+ <item>-moz-animation</item>
<item>-moz-animation-delay</item>
- <item>-moz-animation-play-state</item>
+ <item>-moz-animation-direction</item>
+ <item>-moz-animation-duration</item>
<item>-moz-animation-fill-mode</item>
+ <item>-moz-animation-iteration-count</item>
+ <item>-moz-animation-name</item>
+ <item>-moz-animation-play-state</item>
+ <item>-moz-animation-timing-function</item>
+ <item>-moz-appearance</item>
+ <item>-moz-background-clip</item>
+ <item>-moz-background-origin</item>
<item>-moz-background-size</item>
<item>-moz-border-image</item>
- <item>-moz-border-bottom-colors</item>
- <item>-moz-border-left-colors</item>
<item>-moz-border-radius</item>
- <item>-moz-border-radius-topleft</item>
- <item>-moz-border-radius-topright</item>
<item>-moz-border-radius-bottomleft</item>
<item>-moz-border-radius-bottomright</item>
- <item>-moz-border-right-colors</item>
- <item>-moz-border-top-colors</item>
- <item>-moz-box</item>
+ <item>-moz-border-radius-topleft</item>
+ <item>-moz-border-radius-topright</item>
+ <item>-moz-box-align</item>
+ <item>-moz-box-direction</item>
<item>-moz-box-flex</item>
+ <item>-moz-box-flex-group</item>
+ <item>-moz-box-ordinal-group</item>
+ <item>-moz-box-orient</item>
+ <item>-moz-box-pack</item>
<item>-moz-box-shadow</item>
<item>-moz-box-sizing</item>
+ <item>-moz-box</item>
<item>-moz-column-count</item>
+ <item>-moz-column-fill</item>
<item>-moz-column-gap</item>
+ <item>-moz-column-rule</item>
+ <item>-moz-column-rule-color</item>
+ <item>-moz-column-rule-style</item>
+ <item>-moz-column-rule-width</item>
+ <item>-moz-columns</item>
+ <item>-moz-column-width</item>
<item>-moz-hyphens</item>
- <item>-moz-linear-gradient</item>
<item>-moz-opacity</item>
<item>-moz-outline-style</item>
<item>-moz-perspective</item>
- <item>-moz-radial-gradient</item>
<item>-moz-resize</item>
+ <item>-moz-text-align-last</item>
+ <item>-moz-text-decoration-color</item>
+ <item>-moz-text-decoration-line</item>
+ <item>-moz-text-decoration-style</item>
<item>-moz-transform</item>
<item>-moz-transform-origin</item>
<item>-moz-transform-style</item>
<item>-moz-transition</item>
- <item>-moz-transition-property</item>
+ <item>-moz-transition-delay</item>
<item>-moz-transition-duration</item>
+ <item>-moz-transition-property</item>
+ <item>-moz-transition-timing-function</item>
+ <item>-moz-user-select</item>
<!-- Opera rendering engine CSS property extensions -->
<item>-o-background-size</item>
@@ -478,6 +567,7 @@ Changelog:
<!-- Webkit rendering engine CSS property extensions -->
<item>-webkit-appearance</item>
+ <item>-webkit-animation</item>
<item>-webkit-animation-name</item>
<item>-webkit-animation-duration</item>
<item>-webkit-animation-iteration</item>
@@ -486,6 +576,7 @@ Changelog:
<item>-webkit-animation-play-state</item>
<item>-webkit-animation-fill-mode</item>
<item>-webkit-background-size</item>
+ <item>-webkit-backface-visibility</item>
<item>-webkit-border-image</item>
<item>-webkit-border-bottom-colors</item>
<item>-webkit-border-left-colors</item>
@@ -498,7 +589,12 @@ Changelog:
<item>-webkit-border-bottom-right-radius</item>
<item>-webkit-border-radius-bottomleft</item>
<item>-webkit-border-radius-bottomright</item>
+ <item>-webkit-box-align</item>
+ <item>-webkit-box-direction</item>
<item>-webkit-box-flex</item>
+ <item>-webkit-box-ordinal-group</item>
+ <item>-webkit-box-orient</item>
+ <item>-webkit-box-pack</item>
<item>-webkit-box-reflect</item>
<item>-webkit-box-shadow</item>
<item>-webkit-box-sizing</item>
@@ -507,17 +603,23 @@ Changelog:
<item>-webkit-hyphens</item>
<item>-webkit-linear-gradient</item>
<item>-webkit-gradient</item>
+ <item>-webkit-overflow-scrolling</item>
<item>-webkit-perspective</item>
+ <item>-webkit-text-decoration</item>
+ <item>-webkit-text-decoration-skip</item>
<item>-webkit-text-fill-color</item>
<item>-webkit-text-stroke-color</item>
<item>-webkit-text-stroke-width</item>
<item>-webkit-text-size-adjust</item>
+ <item>-webkit-tap-highlight-color</item>
<item>-webkit-transform</item>
<item>-webkit-transform-origin</item>
<item>-webkit-transform-style</item>
<item>-webkit-transition</item>
<item>-webkit-transition-property</item>
+ <item>-webkit-transition-delay</item>
<item>-webkit-transition-duration</item>
+ <item>-webkit-user-select</item>
<!-- Trident (a.k.a., MSHTML) CSS property extensions -->
<item>zoom</item>
@@ -530,41 +632,36 @@ Changelog:
<item>-ms-animation-fill-mode</item>
<item>-ms-box-sizing</item>
<item>-ms-filter</item>
+ <item>-ms-flex</item>
+ <item>-ms-flex-align</item>
+ <item>-ms-flex-direction</item>
+ <item>-ms-flex-flow</item>
+ <item>-ms-flex-item-align</item>
+ <item>-ms-flex-line-pack</item>
+ <item>-ms-flex-negative</item>
+ <item>-ms-flex-order</item>
+ <item>-ms-flex-pack</item>
+ <item>-ms-flex-positive</item>
+ <item>-ms-flex-position</item>
+ <item>-ms-flex-preferred-size</item>
+ <item>-ms-flex-wrap</item>
<item>-ms-interpolation-mode</item>
<item>-ms-linear-gradient</item>
+ <item>-ms-overflow-style</item>
<item>-ms-text-size-adjust</item>
<item>-ms-transform</item>
<item>-ms-transition</item>
+ <item>-ms-user-select</item>
+ </list>
- <!-- font properties in @font-face -->
- <item>font-family</item>
- <item>font-size</item>
- <item>font-stretch</item>
- <item>font-style</item>
- <item>font-variant</item>
- <item>font-weight</item>
- <item>unicode-range</item>
- <item>units-per-em</item>
- <item>src</item>
- <item>panose-1</item>
- <item>stemv</item>
- <item>stemh</item>
- <item>slope</item>
- <item>cap-height</item>
- <item>x-height</item>
- <item>ascent</item>
- <item>descent</item>
- <item>widths</item>
- <item>bbox</item>
- <item>definition-src</item>
- <item>baseline</item>
- <item>centerline</item>
- <item>mathline</item>
- <item>topline</item>
+ <list name="value keywords">
+ <item>inherit</item>
+ <item>unset</item>
+ <item>auto</item>
+ <!-- <item>revert</item> -->
</list>
<list name="values">
- <item>inherit</item>
<item>none</item>
<item>hidden</item>
<item>dotted</item>
@@ -592,15 +689,6 @@ Changelog:
<item>bolder</item>
<item>lighter</item>
<item>light</item>
- <item>100</item>
- <item>200</item>
- <item>300</item>
- <item>400</item>
- <item>500</item>
- <item>600</item>
- <item>700</item>
- <item>800</item>
- <item>900</item>
<item>transparent</item>
<item>repeat</item>
<item>repeat-x</item>
@@ -657,7 +745,6 @@ Changelog:
<item>table-column</item>
<item>table-cell</item>
<item>table-caption</item>
- <item>auto</item>
<item>crosshair</item>
<item>default</item>
<item>pointer</item>
@@ -751,26 +838,182 @@ Changelog:
<item>border-box</item>
<item>content-box</item>
<item>-epub-hyphens</item>
+ <item>contain</item>
+ <item>cover</item>
+
+ <!-- transition and animation -->
+ <item>all</item>
+ <item>ease</item>
+ <item>ease-in</item>
+ <item>ease-out</item>
+ <item>ease-in-out</item>
+ <item>step-start</item>
+ <item>step-end</item>
+ <item>linear</item>
+
+ <!-- animation -->
+ <item>infinite</item>
+ <item>reverse</item>
+ <item>alternate</item>
+ <item>alternate-reverse</item>
+ <item>forwards</item>
+ <item>backwards</item>
+ <item>running</item>
+ <item>paused</item>
</list>
<list name="colors">
- <item>aqua</item>
<item>black</item>
- <item>blue</item>
- <item>cyan</item>
- <item>fuchsia</item>
+ <item>silver</item>
<item>gray</item>
+ <item>white</item>
+ <item>maroon</item>
+ <item>red</item>
+ <item>purple</item>
+ <item>fuchsia</item>
<item>green</item>
<item>lime</item>
- <item>maroon</item>
- <item>navy</item>
<item>olive</item>
- <item>purple</item>
- <item>red</item>
- <item>silver</item>
- <item>teal</item>
- <item>white</item>
<item>yellow</item>
+ <item>navy</item>
+ <item>blue</item>
+ <item>teal</item>
+ <item>aqua</item>
+ <item>orange</item>
+ <item>aliceblue</item>
+ <item>antiquewhite</item>
+ <item>aquamarine</item>
+ <item>azure</item>
+ <item>beige</item>
+ <item>bisque</item>
+ <item>blanchedalmond</item>
+ <item>blueviolet</item>
+ <item>brown</item>
+ <item>burlywood</item>
+ <item>cadetblue</item>
+ <item>chartreuse</item>
+ <item>chocolate</item>
+ <item>coral</item>
+ <item>cornflowerblue</item>
+ <item>cornsilk</item>
+ <item>crimson</item>
+ <item>cyan</item>
+ <item>aqua</item>
+ <item>darkblue</item>
+ <item>darkcyan</item>
+ <item>darkgoldenrod</item>
+ <item>darkgray</item>
+ <item>darkgreen</item>
+ <item>darkgrey</item>
+ <item>darkkhaki</item>
+ <item>darkmagenta</item>
+ <item>darkolivegreen</item>
+ <item>darkorange</item>
+ <item>darkorchid</item>
+ <item>darkred</item>
+ <item>darksalmon</item>
+ <item>darkseagreen</item>
+ <item>darkslateblue</item>
+ <item>darkslategray</item>
+ <item>darkslategrey</item>
+ <item>darkturquoise</item>
+ <item>darkviolet</item>
+ <item>deeppink</item>
+ <item>deepskyblue</item>
+ <item>dimgray</item>
+ <item>dimgrey</item>
+ <item>dodgerblue</item>
+ <item>firebrick</item>
+ <item>floralwhite</item>
+ <item>forestgreen</item>
+ <item>gainsboro</item>
+ <item>ghostwhite</item>
+ <item>gold</item>
+ <item>goldenrod</item>
+ <item>greenyellow</item>
+ <item>grey</item>
+ <item>honeydew</item>
+ <item>hotpink</item>
+ <item>indianred</item>
+ <item>indigo</item>
+ <item>ivory</item>
+ <item>khaki</item>
+ <item>lavender</item>
+ <item>lavenderblush</item>
+ <item>lawngreen</item>
+ <item>lemonchiffon</item>
+ <item>lightblue</item>
+ <item>lightcoral</item>
+ <item>lightcyan</item>
+ <item>lightgoldenrodyellow</item>
+ <item>lightgray</item>
+ <item>lightgreen</item>
+ <item>lightgrey</item>
+ <item>lightpink</item>
+ <item>lightsalmon</item>
+ <item>lightseagreen</item>
+ <item>lightskyblue</item>
+ <item>lightslategray</item>
+ <item>lightslategrey</item>
+ <item>lightsteelblue</item>
+ <item>lightyellow</item>
+ <item>limegreen</item>
+ <item>linen</item>
+ <item>magenta</item>
+ <item>fuchsia</item>
+ <item>mediumaquamarine</item>
+ <item>mediumblue</item>
+ <item>mediumorchid</item>
+ <item>mediumpurple</item>
+ <item>mediumseagreen</item>
+ <item>mediumslateblue</item>
+ <item>mediumspringgreen</item>
+ <item>mediumturquoise</item>
+ <item>mediumvioletred</item>
+ <item>midnightblue</item>
+ <item>mintcream</item>
+ <item>mistyrose</item>
+ <item>moccasin</item>
+ <item>navajowhite</item>
+ <item>oldlace</item>
+ <item>olivedrab</item>
+ <item>orangered</item>
+ <item>orchid</item>
+ <item>palegoldenrod</item>
+ <item>palegreen</item>
+ <item>paleturquoise</item>
+ <item>palevioletred</item>
+ <item>papayawhip</item>
+ <item>peachpuff</item>
+ <item>peru</item>
+ <item>pink</item>
+ <item>plum</item>
+ <item>powderblue</item>
+ <item>rosybrown</item>
+ <item>royalblue</item>
+ <item>saddlebrown</item>
+ <item>salmon</item>
+ <item>sandybrown</item>
+ <item>seagreen</item>
+ <item>seashell</item>
+ <item>sienna</item>
+ <item>skyblue</item>
+ <item>slateblue</item>
+ <item>slategray</item>
+ <item>slategrey</item>
+ <item>snow</item>
+ <item>springgreen</item>
+ <item>steelblue</item>
+ <item>tan</item>
+ <item>thistle</item>
+ <item>tomato</item>
+ <item>turquoise</item>
+ <item>violet</item>
+ <item>wheat</item>
+ <item>whitesmoke</item>
+ <item>yellowgreen</item>
+ <item>rebeccapurple</item>
+
<item>ActiveBorder</item>
<item>ActiveCaption</item>
<item>AppWorkspace</item>
@@ -802,137 +1045,355 @@ Changelog:
</list>
<list name="functions">
- <item>url</item>
<item>attr</item>
- <item>rect</item>
- <item>rgb</item>
- <item>rgba</item>
+ <item>calc</item>
<item>hsl</item>
<item>hsla</item>
- <item>counter</item>
- <item>counters</item>
+ <item>linear-gradient</item>
+ <item>radial-gradient</item>
+ <item>repeating-linear-gradient</item>
+ <item>repeating-radial-gradient</item>
+ <item>rgb</item>
+ <item>rgba</item>
+ <item>var</item>
+ <item>url</item>
- <!-- in @font-face -->
- <item>local</item>
- <item>format</item>
+ <!-- clip -->
+ <item>rect</item>
+
+ <!-- shape-outside and clip-path -->
+ <item>inset</item>
+ <item>circle</item>
+ <item>ellipse</item>
+ <item>polygon</item>
+
+ <!-- filter and backdrop-filter -->
+ <item>blur</item>
+ <item>brightness</item>
+ <item>contrast</item>
+ <item>drop-shadow</item>
+ <item>grayscale</item>
+ <item>hue-rotate</item>
+ <item>invert</item>
+ <item>opacity</item>
+ <item>saturate</item>
+ <item>sepia</item>
+
+ <!-- grid-template-columns and grid-template-rows -->
+ <item>max-content</item>
+ <item>min-content</item>
+ <item>minmax</item>
+ <item>fix-content</item>
+ <item>repeat</item>
- <!-- Trident (a.k.a., MSHTML) rendering engine functional notation extensions -->
- <item>expression</item>
+ <!-- transition and animation -->
+ <item>cubic-bezier</item>
+ <item>frames</item>
+ <item>steps</item>
+ <!-- transform -->
+ <item>matrix</item>
+ <item>matrix3d</item>
+ <item>perspective</item>
+ <item>rotate</item>
+ <item>rotate3d</item>
+ <item>rotateX</item>
+ <item>rotateY</item>
+ <item>rotateZ</item>
+ <item>scale</item>
+ <item>scale3d</item>
+ <item>scaleX</item>
+ <item>scaleY</item>
+ <item>scaleZ</item>
+ <item>skew</item>
+ <item>skewX</item>
+ <item>skewY</item>
+ <item>translate</item>
+ <item>translate3d</item>
+ <item>translateX</item>
+ <item>translateY</item>
+ <item>translateZ</item>
+
+ <!-- inner @font-face -->
+ <item>local</item>
+ <item>format</item>
</list>
- <list name="mediatypes">
+ <list name="medias">
+ <!-- types -->
<item>all</item>
- <item>aural</item>
- <item>braille</item>
- <item>embossed</item>
- <item>handheld</item>
<item>print</item>
- <item>projection</item>
<item>screen</item>
<item>speech</item>
- <item>tty</item>
- <item>tv</item>
- </list>
- <list name="media_features">
- <item>width</item>
- <item>min-width</item>
- <item>max-width</item>
- <item>height</item>
- <item>min-height</item>
- <item>max-height</item>
- <item>device-width</item>
- <item>min-device-width</item>
- <item>max-device-width</item>
- <item>device-height</item>
- <item>min-device-height</item>
- <item>max-device-height</item>
- <item>orientation</item>
+ <!-- features -->
+ <item>any-pointer</item>
+ <item>any-hover</item>
<item>aspect-ratio</item>
- <item>min-aspect-ratio</item>
+ <item>color</item>
+ <item>color-gamut</item>
+ <item>color-index</item>
+ <item>display-mode</item>
+ <item>grid</item>
+ <item>height</item>
+ <item>hover</item>
<item>max-aspect-ratio</item>
- <item>device-aspect-ratio</item>
- <item>min-device-aspect-ratio</item>
+ <item>max-color</item>
+ <item>max-color-index</item>
<item>max-device-aspect-ratio</item>
- <item>color</item>
+ <item>max-device-height</item>
+ <item>max-device-width</item>
+ <item>max-height</item>
+ <item>max-monochrome</item>
+ <item>max-resolution</item>
+ <item>max-width</item>
+ <item>min-aspect-ratio</item>
<item>min-color</item>
- <item>max-color</item>
- <item>color-index</item>
<item>min-color-index</item>
- <item>max-color-index</item>
- <item>monochrome</item>
+ <item>min-device-aspect-ratio</item>
+ <item>min-device-height</item>
+ <item>min-device-width</item>
+ <item>min-height</item>
<item>min-monochrome</item>
- <item>max-monochrome</item>
- <item>resolution</item>
<item>min-resolution</item>
- <item>max-resolution</item>
+ <item>min-width</item>
+ <item>monochrome</item>
+ <item>orientation</item>
+ <item>pointer</item>
+ <item>resolution</item>
<item>scan</item>
- <item>grid</item>
+ <item>update</item>
+ <item>width</item>
</list>
- <list name="pseudoclasses">
- <item>hover</item>
- <item>link</item>
- <item>visited</item>
- <item>active</item>
- <item>focus</item>
- <item>first-child</item>
- <item>last-child</item>
- <item>only-child</item>
- <item>first-of-type</item>
- <item>last-of-type</item>
- <item>only-of-type</item>
+ <!-- prefixed by :: -->
+ <list name="pseudoelements">
+ <item>after</item>
+ <item>before</item>
+ <item>cue</item>
<item>first-letter</item>
<item>first-line</item>
- <item>before</item>
- <item>after</item>
<item>selection</item>
- <item>root</item>
+
+ <!-- experimental -->
+ <item>backdrop</item>
+ <item>placeholder</item>
+ <!-- <item>marker</item> -->
+ <item>slotted</item>
+ <!-- <item>spelling-error</item> -->
+ <!-- <item>grammar-error</item> -->
+
+ <!-- UI pseudo-classes -->
+ <item>value</item>
+ <item>choices</item>
+ <item>repeat-item</item>
+ <item>repeat-index</item>
+
+ <item>-moz-progress-bar</item>
+ <item>-moz-range-progress</item>
+ <item>-moz-range-thumb</item>
+ <item>-moz-range-track</item>
+ <item>-moz-selection</item>
+ <item>-ms-fill</item>
+ <item>-ms-fill-lower</item>
+ <item>-ms-fill-upper</item>
+ <item>-ms-thumb</item>
+ <item>-ms-track</item>
+ <item>-webkit-progress-bar</item>
+ <item>-webkit-progress-value</item>
+ <item>-webkit-slider-runnable-track</item>
+ <item>-webkit-slider-thumb</item>
+ </list>
+
+ <!-- prefixed by : -->
+ <list name="pseudoclasses">
+ <item>active</item>
+ <item>any-link</item>
+ <item>checked</item>
+ <item>default</item>
+ <item>defined</item>
+ <!-- <item>dir</item> -->
+ <item>disabled</item>
<item>empty</item>
- <item>target</item>
<item>enabled</item>
- <item>disabled</item>
- <item>checked</item>
+ <item>first-child</item>
+ <item>first-of-type</item>
+ <item>fullscreen</item>
+ <item>focus</item>
+ <item>focus-within</item>
+ <item>host</item>
+ <item>hover</item>
+ <item>in-range</item>
<item>indeterminate</item>
+ <item>invalid</item>
+ <item>lang</item>
+ <item>last-child</item>
+ <item>last-of-type</item>
+ <item>link</item>
+ <item>not</item>
<item>nth-child</item>
<item>nth-last-child</item>
- <item>nth-of-type</item>
<item>nth-last-of-type</item>
+ <item>nth-of-type</item>
+ <item>only-child</item>
+ <item>only-of-type</item>
+ <item>optional</item>
+ <item>out-of-range</item>
+ <item>placeholder-shown</item>
+ <item>read-only</item>
+ <item>read-write</item>
+ <item>required</item>
+ <item>root</item>
+ <item>scope</item>
+ <item>target</item>
+ <item>valid</item>
+ <item>visited</item>
+
+ <!-- pseudo-elements -->
+ <item>after</item>
+ <item>before</item>
+ <item>cue</item>
+ <item>first-letter</item>
+ <item>first-line</item>
+ <item>selection</item>
+ </list>
+
+ <list name="pseudoclass-not">
+ <item>not</item>
+ </list>
+
+ <list name="pseudoclasses-@page">
+ <item>blank</item>
+ <item>first</item>
+ <item>left</item>
+ <item>recto</item>
+ <item>right</item>
+ <item>verso</item>
+ </list>
+
+ <list name="at-rules">
+ <item>@character</item>
+ <item>@charset</item>
+ <item>@import</item>
+ <item>@namespace</item>
+ </list>
+
+ <list name="nested at-rules">
+ <item>@document</item>
+ <item>@media</item>
+ <item>@supports</item>
+ </list>
+
+ <list name="@viewport">
+ <item>@viewport</item>
+ </list>
+
+ <list name="within-@viewport">
+ <item>min-width</item>
+ <item>max-width</item>
+ <item>width</item>
+ <item>min-height</item>
+ <item>max-height</item>
+ <item>height</item>
+ <item>zoom</item>
+ <item>min-zoom</item>
+ <item>max-zoom</item>
+ <item>user-zoom</item>
+ <item>orientation</item>
+ <item>viewport-fit</item>
+ </list>
+
+ <list name="@page">
+ <item>@page</item>
+ </list>
+
+ <list name="within-@page">
+ <item>size</item>
+ <item>marks</item>
+ <item>bleed</item>
+ </list>
+
+ <list name="@font-face">
+ <item>@font-face</item>
+ </list>
+
+ <list name="within-@font-face">
+ <item>font-display</item>
+ <item>font-family</item>
+ <item>font-stretch</item>
+ <item>font-style</item>
+ <item>font-weight</item>
+ <item>font-variant</item>
+ <item>font-feature-settings</item>
+ <item>font-variation-settings</item>
+ <item>src</item>
+ <item>unicode-range</item>
+ </list>
+
+ <list name="@keyframes">
+ <item>@keyframes</item>
+ </list>
+
+ <list name="within-@keyframes">
+ <item>from</item>
+ <item>to</item>
+ </list>
+
+ <list name="media operators">
+ <item>and</item>
+ <item>only</item>
<item>not</item>
</list>
<contexts>
<context name="Base" attribute="Normal Text" lineEndContext="#stay">
+ <DetectSpaces />
<IncludeRules context="FindComments" />
<DetectChar attribute="Normal Text" context="RuleSet" char="{" beginRegion="ruleset" />
- <RegExpr attribute="At Rule" context="AtRule" String="@[a-zA-Z0-1-]+\b" />
- <IncludeRules context="FindSelectors" />
+ <DetectChar attribute="At Rule" context="SelectAtRule" char="@" lookAhead="true" />
+ <!-- find selectors // .class #id :hover :nth-child(2n+1) [type="search"] -->
+ <DetectChar attribute="Selector Pseudo" context="SelectorPseudo" char=":" />
+ <DetectChar attribute="Selector Attribute" context="SelectorAttr" char="[" />
+ <DetectChar attribute="Separator Symbol" context="#stay" char="," />
+ <AnyChar attribute="Operator" context="#stay" String="*>+~|" />
+ <RegExpr attribute="Selector Id" context="#stay" String="#[-]?(&nmstart;)(&nmchar;)*" />
+ <RegExpr attribute="Selector Class" context="#stay" String="\.([a-zA-Z0-9\-_]|[\x80-\xFF]|\\[0-9A-Fa-f]{1,6})*" />
+ <RegExpr attribute="Selector Tag" context="#stay" String="[-]?(&nmstart;)(&nmchar;)*" />
</context>
- <!-- find selectors // .class #id :hover :nth-child(2n+1) [type="search"] -->
- <context name="FindSelectors" attribute="Normal Text" lineEndContext="#stay">
+ <context name="FindSelector" attribute="Normal Text" lineEndContext="#stay">
+ <IncludeRules context="FindComments" />
+ <!-- find selectors // .class #id :hover :nth-child(2n+1) [type="search"] -->
<DetectChar attribute="Selector Attribute" context="SelectorAttr" char="[" />
- <RegExpr attribute="Selector Id" context="#stay" String="#(-)?(&nmstart;)(&nmchar;)*" />
+ <DetectChar attribute="Separator Symbol" context="#stay" char="," />
+ <AnyChar attribute="Operator" context="#stay" String="*>+~|" />
+ <RegExpr attribute="Selector Id" context="#stay" String="#[-]?(&nmstart;)(&nmchar;)*" />
<RegExpr attribute="Selector Class" context="#stay" String="\.([a-zA-Z0-9\-_]|[\x80-\xFF]|\\[0-9A-Fa-f]{1,6})*" />
- <RegExpr attribute="Selector Pseudo" context="#stay" String=":lang\([\w_-]+\)" />
- <DetectChar attribute="Selector Pseudo" context="SelectorPseudo" char=":" />
+ <RegExpr attribute="Selector Tag" context="#stay" String="[-]?(&nmstart;)(&nmchar;)*" />
</context>
<!-- find functions // rgba(255,255,255,0.75) -->
<context name="FindFunctions" attribute="Normal Text" lineEndContext="#stay">
- <RegExpr attribute="Function" context="Function" String="[a-z\-]+\(" lookAhead="true" />
+ <RegExpr attribute="Function" context="Function" String="[a-z\-]{2,}\(" lookAhead="true" />
</context>
<!-- find values // 10px 12pt 2.5em 1rem 75% #ffcc99 red solid -->
<context name="FindValues" attribute="Normal Text" lineEndContext="#stay">
- <RegExpr attribute="Annotation" context="#stay" String="!important\b" />
+ <DetectChar attribute="Annotation" context="Annotation" char="!" />
+ <keyword attribute="Value Keyword" context="#stay" String="value keywords" />
<keyword attribute="Value" context="#stay" String="values" />
- <keyword attribute="Value" context="#stay" String="colors" />
- <RegExpr attribute="Value" context="#stay" String="#([0-9A-Fa-f]{3}){1,4}\b" />
- <RegExpr attribute="Value" context="#stay" String="[-+]?[0-9.]+(em|ex|ch|rem|vw|vh|vm|px|in|cm|mm|pt|pc|deg|rad|grad|turn|ms|s|Hz|kHz)\b" />
- <RegExpr attribute="Value" context="#stay" String="[-+]?[0-9.]+[%]?" />
- <RegExpr attribute="Normal Text" context="#stay" String="[\w\-]+" />
+ <keyword attribute="Color" context="#stay" String="colors" />
+ <RegExpr attribute="Color" context="#stay" String="#([0-9A-Fa-f]{3}){1,2}\b" />
+ <RegExpr attribute="Number" context="FindUnits" String="[-+]?[0-9.]+(?![-+])" />
+ <RegExpr attribute="Normal Text" context="#stay" String="[-]?(&nmstart;)(&nmchar;)*" />
+ </context>
+
+ <context name="Annotation" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">
+ <WordDetect attribute="Annotation" context="#pop" String="important" />
+ </context>
+
+ <context name="FindUnits" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">
+ <RegExpr attribute="Unit" context="#stay" String="(%|(em|ex|ch|rem|vw|vh|vm|px|in|cm|mm|pt|pc|deg|rad|grad|turn|ms|s|Hz|kHz)\b)(?![-+])" />
</context>
<!-- find strings // "some words" 'some words' -->
@@ -943,70 +1404,278 @@ Changelog:
<!-- find comments // /* comment */ -->
<context name="FindComments" attribute="Normal Text" lineEndContext="#stay">
- <RegExpr attribute="Region Marker" context="#stay" String="/\*BEGIN.*\*/" beginRegion="UserDefined" />
- <RegExpr attribute="Region Marker" context="#stay" String="/\*END.*\*/" endRegion="UserDefined" />
+ <Detect2Chars attribute="Comment" context="IsComments" char="/" char1="*" lookAhead="true"/>
+ <Detect2Chars attribute="Error" context="Error" char="/" char1="/" />
+ </context>
+
+ <context name="Error" attribute="Error" lineEndContext="#pop">
+ <RegExpr attribute="Error" context="#pop" String=".*" />
+ </context>
+
+ <context name="IsComments" attribute="Normal Text" lineEndContext="#stay">
+ <RegExpr attribute="Region Marker" context="#pop" String="/\*\s*BEGIN\b.*\*/" beginRegion="UserDefined" />
+ <RegExpr attribute="Region Marker" context="#pop" String="/\*\s*END\b.*\*/" endRegion="UserDefined" />
<Detect2Chars attribute="Comment" context="Comment" char="/" char1="*" beginRegion="comment" />
</context>
+ <context name="SelectAtRule" attribute="At Rule" lineEndContext="#pop">
+ <keyword attribute="At Rule" context="#pop!NestedAtRule" String="nested at-rules" />
+ <keyword attribute="At Rule" context="#pop!AtRule" String="at-rules" />
+ <keyword attribute="At Rule" context="#pop!@keyframes" String="@keyframes" />
+ <keyword attribute="At Rule" context="#pop!@viewport" String="@viewport" />
+ <keyword attribute="At Rule" context="#pop!@font-face" String="@font-face" />
+ <keyword attribute="At Rule" context="#pop!@page" String="@page" />
+ <RegExpr attribute="At Rule" context="#pop!UnknownAtRule" String="@[a-zA-Z0-9\-_]+\b" />
+ </context>
+
+ <context name="@keyframes" attribute="Normal Text" lineEndContext="#stay">
+ <DetectSpaces />
+ <IncludeRules context="FindComments" />
+ <DetectChar attribute="Normal Text" context="Within-@keyframes" char="{" beginRegion="ruleset" />
+ </context>
+
+ <context name="Within-@keyframes" attribute="Normal Text" lineEndContext="#stay">
+ <DetectSpaces />
+ <IncludeRules context="FindComments" />
+ <DetectChar attribute="Normal Text" context="#pop#pop" char="}" endRegion="ruleset" />
+ <DetectChar attribute="Normal Text" context="RuleSet" char="{" beginRegion="ruleset" />
+ <keyword attribute="Value" context="#stay" String="within-@keyframes" />
+ <RegExpr attribute="Value" context="#stay" String="[-+]?[0-9.]+%" />
+ </context>
+
+ <context name="@viewport" attribute="Normal Text" lineEndContext="#stay">
+ <DetectSpaces />
+ <IncludeRules context="FindComments" />
+ <DetectChar attribute="Selector Pseudo" context="SelectorPseudo" char=":" />
+ <DetectChar attribute="Normal Text" context="#pop!Within-@viewport" char="{" beginRegion="ruleset" />
+ </context>
+
+ <context name="Within-@viewport" attribute="Normal Text" lineEndContext="#stay">
+ <DetectSpaces />
+ <keyword attribute="Property" context="IsProperty" String="within-@viewport" />
+ <IncludeRules context="RuleSet" />
+ </context>
+
+ <context name="@font-face" attribute="Normal Text" lineEndContext="#stay">
+ <DetectSpaces />
+ <IncludeRules context="FindComments" />
+ <DetectChar attribute="Normal Text" context="#pop!Within-@font-face" char="{" beginRegion="ruleset" />
+ </context>
+
+ <context name="Within-@font-face" attribute="Normal Text" lineEndContext="#stay">
+ <DetectSpaces />
+ <IncludeRules context="FindComments" />
+ <keyword attribute="Property" context="IsProperty" String="within-@font-face" />
+ <RegExpr attribute="Unknown Property" context="IsProperty" String="[A-Za-z_-]+\b" />
+ <DetectChar attribute="Normal Text" context="#pop" char="}" endRegion="ruleset" />
+ </context>
+
+ <context name="@page" attribute="Normal Text" lineEndContext="#stay">
+ <DetectSpaces />
+ <IncludeRules context="FindComments" />
+ <DetectChar attribute="Selector Pseudo" context="SelectorPseudo-@page" char=":" />
+ <DetectChar attribute="Normal Text" context="#pop!Within-@page" char="{" beginRegion="ruleset" />
+ </context>
+
+ <context name="SelectorPseudo-@page" attribute="Selector Pseudo" lineEndContext="#pop">
+ <keyword attribute="Selector Pseudo" context="#pop" String="pseudoclasses-@page" />
+ <RegExpr attribute="Selector Pseudo" context="#pop" String="[-a-zA-Z][-a-zA-Z0-9]*" />
+ </context>
+
+ <context name="Within-@page" attribute="Normal Text" lineEndContext="#stay">
+ <DetectSpaces />
+ <keyword attribute="Property" context="IsProperty" String="within-@page" />
+ <IncludeRules context="RuleSet" />
+ </context>
+
+ <context name="IsProperty" attribute="Error" lineEndContext="#stay">
+ <DetectSpaces attribute="Normal Text" />
+ <DetectChar attribute="Normal Text" context="RuleParameters" char=":" />
+ </context>
+
+ <context name="NestedAtRule" attribute="Normal Text" lineEndContext="#stay">
+ <DetectSpaces />
+ <DetectChar attribute="Normal Text" context="NestedBase" char="{" beginRegion="ruleset" />
+ <IncludeRules context="AtRuleValue" />
+ </context>
+
+ <context name="NestedBase" attribute="Normal Text" lineEndContext="#stay">
+ <DetectSpaces />
+ <DetectChar attribute="Normal Text" context="#pop#pop" char="}" endRegion="ruleset" />
+ <IncludeRules context="Base" />
+ </context>
+
<context name="AtRule" attribute="Normal Text" lineEndContext="#pop">
+ <DetectSpaces />
+ <DetectChar attribute="Separator Symbol" context="#pop" char=";" />
+ <IncludeRules context="AtRuleValue" />
+ </context>
+
+ <context name="UnknownAtRule" attribute="Normal Text" lineEndContext="#stay">
+ <DetectSpaces />
+ <DetectChar attribute="Separator Symbol" context="#pop" char=";" />
+ <DetectChar attribute="Normal Text" context="#pop!RuleSet" char="{" beginRegion="ruleset" />
+ <DetectChar attribute="Normal Text" context="#pop" char="}" endRegion="ruleset" />
+ <IncludeRules context="AtRuleValue" />
+ </context>
+
+ <context name="AtRuleValue" attribute="Normal Text" lineEndContext="#stay">
<IncludeRules context="FindComments" />
<IncludeRules context="FindStrings" />
- <keyword attribute="Value" context="#stay" String="mediatypes" />
- <keyword attribute="Property" context="#stay" String="media_features" />
- <AnyChar attribute="Normal Text" context="#pop" String=";{" lookAhead="true" />
+ <IncludeRules context="FindFunctions" />
+ <keyword attribute="Keyword" context="#stay" String="media operators" />
+ <RegExpr attribute="Property" context="#stay" String="[A-Za-z_-]+(?=\s*:)" />
+ <keyword attribute="Value" context="#stay" String="medias" />
<IncludeRules context="FindValues" />
</context>
<context name="SelectorAttr" attribute="Selector Attribute" lineEndContext="#stay">
<DetectChar attribute="Selector Attribute" context="#pop" char="]" />
<IncludeRules context="FindStrings" />
+ <DetectChar attribute="Operator" context="SelectorAttrValue" char="=" />
+ <Detect2Chars attribute="Operator" context="SelectorAttrValue" char="~" char1="=" />
+ <Detect2Chars attribute="Operator" context="SelectorAttrValue" char="^" char1="=" />
+ <Detect2Chars attribute="Operator" context="SelectorAttrValue" char="$" char1="=" />
+ <Detect2Chars attribute="Operator" context="SelectorAttrValue" char="*" char1="=" />
+ <Detect2Chars attribute="Operator" context="SelectorAttrValue" char="|" char1="=" />
+ <DetectIdentifier />
</context>
- <context name="SelectorPseudo" attribute="Selector Pseudo" lineEndContext="#pop"
- fallthrough="true" fallthroughContext="#pop">
- <keyword attribute="Selector Pseudo" context="#pop" String="pseudoclasses" />
+ <context name="SelectorAttrValue" attribute="String" lineEndContext="#stay">
+ <DetectChar attribute="Selector Attribute" context="#pop#pop" char="]" />
+ <DetectIdentifier />
+ </context>
+
+ <context name="SelectorPseudo" attribute="Selector Pseudo" lineEndContext="#pop">
+ <DetectChar attribute="Selector Pseudo" context="SelectorPseudoElements" char=":" />
+ <keyword attribute="Selector Pseudo" context="SelectorPseudoValueSelector" String="pseudoclass-not" />
+ <keyword attribute="Selector Pseudo" context="SelectorPseudoValue" String="pseudoclasses" />
+ <RegExpr attribute="Selector Pseudo" context="SelectorPseudoValue" String="[-a-zA-Z][-a-zA-Z0-9]*" />
+ </context>
+
+ <context name="SelectorPseudoElements" attribute="Selector Pseudo" lineEndContext="#pop#pop">
+ <keyword attribute="Selector Pseudo" context="#pop!SelectorPseudoValue" String="pseudoelements" />
+ <RegExpr attribute="Selector Pseudo" context="#pop!SelectorPseudoValue" String="[-a-zA-Z][-a-zA-Z0-9]*" />
+ </context>
+
+ <context name="SelectorPseudoValueSelector" attribute="Selector Pseudo" lineEndContext="#pop#pop" fallthrough="true" fallthroughContext="#pop#pop">
+ <DetectChar attribute="Selector Pseudo" context="SelectorPseudoValueCloseSelector" char="(" />
+ </context>
+
+ <context name="SelectorPseudoValueCloseSelector" attribute="Normal Text" lineEndContext="#stay">
+ <DetectSpaces />
+ <DetectChar attribute="Selector Pseudo" context="#pop#pop#pop" char=")" />
+ <DetectChar attribute="Error" context="#pop#pop#pop!RuleSet" char="{" beginRegion="ruleset" />
+ <IncludeRules context="FindSelector" />
+ </context>
+
+ <context name="SelectorPseudoValue" attribute="Selector Pseudo" lineEndContext="#pop#pop" fallthrough="true" fallthroughContext="#pop#pop">
+ <DetectChar attribute="Selector Pseudo" context="SelectorPseudoValueClose" char="(" />
+ </context>
+
+ <context name="SelectorPseudoValueClose" attribute="Selector Pseudo" lineEndContext="#pop#pop#pop">
+ <DetectChar attribute="Selector Pseudo" context="#pop#pop#pop" char=")" />
+ <DetectIdentifier />
</context>
<context name="Comment" attribute="Comment" lineEndContext="#stay">
- <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="comment" />
+ <DetectSpaces />
+ <Detect2Chars attribute="Comment" context="#pop#pop" char="*" char1="/" endRegion="comment" />
<IncludeRules context="##Alerts" />
+ <DetectIdentifier />
</context>
<context name="RuleSet" attribute="Normal Text" lineEndContext="#stay">
- <DetectChar attribute="Normal Text" context="RuleSet" char="{" beginRegion="ruleset" />
+ <DetectSpaces />
<DetectChar attribute="Normal Text" context="#pop" char="}" endRegion="ruleset" />
- <RegExpr attribute="Property" context="Rule" String="-?[A-Za-z_-]+(?=\s*:)" lookAhead="true" />
+ <RegExpr attribute="Property" context="Rule" String="[A-Za-z_-]+(?=\s*:)" lookAhead="true" />
<IncludeRules context="Base" />
+ <RegExpr attribute="Normal Text" context="#stay" String="[A-Za-z_-]+" />
+ <!-- auto-completion only, includes by previous rule -->
+ <keyword attribute="Normal Text" context="#stay" String="properties" />
</context>
<context name="Rule" attribute="Normal Text" lineEndContext="#stay">
<DetectChar attribute="Normal Text" context="RuleParameters" char=":" />
+ <Detect2Chars attribute="Variable" context="IsVariable" char="-" char1="-" />
<keyword attribute="Property" context="#stay" String="properties" />
- <RegExpr attribute="Unknown Property" context="#stay" String="-?[A-Za-z_-]+(?=\s*:)" />
- <RegExpr attribute="Error" context="#stay" String="\S" />
+ <RegExpr attribute="Unknown Property" context="#stay" String="[^:]+" />
+ </context>
+
+ <context name="IsVariable" attribute="Normal Text" lineEndContext="#pop">
+ <DetectChar attribute="Normal Text" context="#pop!RuleParameters" char=":" />
+ <RegExpr attribute="Variable" context="#stay" String="[^:]+" />
</context>
<context name="RuleParameters" attribute="Normal Text" lineEndContext="#stay">
+ <DetectSpaces />
<IncludeRules context="FindComments" />
<IncludeRules context="FindStrings" />
<IncludeRules context="FindFunctions" />
<IncludeRules context="FindValues" />
<!-- Jump out conditions -->
- <DetectChar attribute="Normal Text" context="#pop#pop" char=";" />
+ <DetectChar attribute="Separator Symbol" context="#pop#pop" char=";" />
+ <DetectChar attribute="Separator Symbol" context="#stay" char="," />
<DetectChar attribute="Normal Text" context="#pop#pop#pop" char="}" endRegion="ruleset" />
+ <!-- auto-completion only -->
+ <keyword attribute="Normal Text" context="#stay" String="functions" />
</context>
<context name="Function" attribute="Normal Text" lineEndContext="#stay">
- <DetectChar attribute="Normal Text" context="FunctionParameters" char="(" />
+ <DetectChar attribute="Function" context="FunctionParameters" char="(" />
+ <StringDetect attribute="Function" context="FunctionVar" String="var(" />
+ <StringDetect attribute="Function" context="FunctionUrl" String="url(" />
+ <StringDetect attribute="Function" context="FunctionCalc" String="calc(" />
<keyword attribute="Function" context="#stay" String="functions" />
+ <RegExpr attribute="Normal Text" context="#stay" String="[-a-zA-Z][-a-zA-Z0-9]*" />
+ </context>
+
+ <context name="FunctionVar" attribute="Variable" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop!FunctionParameters">
+ <DetectSpaces />
+ <RegExpr attribute="Variable" context="#pop!FunctionParameters" String="--[^ \t\),]+" />
+ </context>
+
+ <context name="FunctionCalc" attribute="Normal Text" lineEndContext="#stay">
+ <DetectSpaces />
+ <DetectChar attribute="Function" context="#pop#pop" char=")" />
+ <IncludeRules context="Calc" />
+ </context>
+
+ <context name="NestedCalc" attribute="Normal Text" lineEndContext="#stay">
+ <DetectSpaces />
+ <DetectChar attribute="Normal Text" context="#pop" char=")" />
+ <IncludeRules context="Calc" />
+ </context>
+
+ <context name="Calc" attribute="Normal Text" lineEndContext="#stay">
+ <DetectChar attribute="Separator Symbol" context="#stay" char="," />
+ <DetectChar attribute="Normal Text" context="NestedCalc" char="(" />
+ <IncludeRules context="FindComments" />
+ <IncludeRules context="FindStrings" />
+ <IncludeRules context="FindFunctions" />
+ <IncludeRules context="FindValues" />
+ <RegExpr attribute="Operator" context="#stay" String="[-](?=$|[ \t(,;])|[+](?=$|[^0-9)])|[/*]" />
+ <!-- auto-completion only -->
+ <keyword attribute="Normal Text" context="#stay" String="functions" />
+ </context>
+
+ <context name="FunctionUrl" attribute="Normal Text" lineEndContext="#stay" fallthrough="true" fallthroughContext="UrlValue">
+ <DetectSpaces />
+ <IncludeRules context="FindStrings" />
+ <DetectChar attribute="Function" context="#pop#pop" char=")" />
+ </context>
+
+ <context name="UrlValue" attribute="String" lineEndContext="#stay">
+ <DetectChar attribute="Function" context="#pop#pop#pop" char=")" />
</context>
<context name="FunctionParameters" attribute="Normal Text" lineEndContext="#stay">
+ <DetectSpaces />
+ <DetectChar attribute="Function" context="#pop#pop" char=")" />
<IncludeRules context="FindComments" />
<IncludeRules context="FindStrings" />
<IncludeRules context="FindValues" />
- <!-- Jump out conditions -->
- <DetectChar attribute="Normal Text" context="#pop#pop" char=")" />
+ <DetectChar attribute="Separator Symbol" context="#stay" char="," />
</context>
<!-- string contexts -->
@@ -1021,8 +1690,8 @@ Changelog:
</context>
<context name="InsideString" attribute="String" lineEndContext="#stay">
- <RegExpr attribute="String" context="#stay" String="\\[&quot;']" />
- <DetectIdentifier/>
+ <RegExpr attribute="SpecialChar" context="#stay" String="\\([0-9A-Fa-f]{1,6}|.?)" />
+ <RegExpr attribute="String" context="#stay" String="\\?[^&quot;'\\]+" />
</context>
</contexts>
@@ -1030,16 +1699,26 @@ Changelog:
<itemDatas>
<itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false"/>
<itemData name="At Rule" defStyleNum="dsImport" spellChecking="false"/>
+ <itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="false"/>
<itemData name="Property" defStyleNum="dsKeyword" spellChecking="false"/>
<itemData name="Unknown Property" defStyleNum="dsNormal" spellChecking="false"/>
<itemData name="String" defStyleNum="dsString"/>
+ <itemData name="SpecialChar" defStyleNum="dsSpecialChar" spellChecking="false"/>
+ <itemData name="Operator" defStyleNum="dsOperator" spellChecking="false"/>
+ <itemData name="Separator Symbol" defStyleNum="dsOperator" spellChecking="false"/>
<itemData name="Value" defStyleNum="dsDecVal" spellChecking="false"/>
+ <itemData name="Number" defStyleNum="dsDecVal" spellChecking="false"/>
+ <itemData name="Value Keyword" defStyleNum="dsBuiltIn" spellChecking="false"/>
+ <itemData name="Color" defStyleNum="dsConstant" spellChecking="false"/>
+ <itemData name="Unit" defStyleNum="dsDataType" spellChecking="false"/>
+ <itemData name="Variable" defStyleNum="dsVariable" spellChecking="false"/>
<itemData name="Function" defStyleNum="dsFunction" spellChecking="false"/>
<itemData name="Annotation" defStyleNum="dsAttribute" spellChecking="false"/>
<itemData name="Selector Id" defStyleNum="dsPreprocessor" bold="1" spellChecking="false"/>
<itemData name="Selector Class" defStyleNum="dsFunction" spellChecking="false"/>
<itemData name="Selector Attribute" defStyleNum="dsExtension" spellChecking="false"/>
<itemData name="Selector Pseudo" defStyleNum="dsInformation" italic="1" spellChecking="false"/>
+ <itemData name="Selector Tag" defStyleNum="dsNormal" spellChecking="false"/>
<itemData name="Comment" defStyleNum="dsComment" />
<itemData name="Region Marker" defStyleNum="dsRegionMarker" spellChecking="false"/>
<itemData name="Error" defStyleNum="dsError" spellChecking="false"/>
@@ -1047,7 +1726,7 @@ Changelog:
</highlighting>
<general>
- <keywords casesensitive="0" weakDeliminator="-%"/>
+ <keywords casesensitive="0" weakDeliminator="-%@" />
<comments>
<comment name="multiLine" start="/*" end="*/" />
</comments>