css.xml

  1<lexer>
  2  <config>
  3    <name>CSS</name>
  4    <alias>css</alias>
  5    <filename>*.css</filename>
  6    <mime_type>text/css</mime_type>
  7  </config>
  8  <rules>
  9    <state name="numeric-end">
 10      <rule pattern="(vmin|grad|vmax|turn|dppx|dpcm|kHz|dpi|rad|rem|deg|vw|vh|ch|px|mm|cm|in|pt|pc|Hz|ex|em|ms|q|s)\b">
 11        <token type="KeywordType"/>
 12      </rule>
 13      <rule pattern="%">
 14        <token type="KeywordType"/>
 15      </rule>
 16      <rule>
 17        <pop depth="1"/>
 18      </rule>
 19    </state>
 20    <state name="atrule">
 21      <rule pattern="\{">
 22        <token type="Punctuation"/>
 23        <push state="atcontent"/>
 24      </rule>
 25      <rule pattern=";">
 26        <token type="Punctuation"/>
 27        <pop depth="1"/>
 28      </rule>
 29      <rule>
 30        <include state="basics"/>
 31      </rule>
 32    </state>
 33    <state name="atcontent">
 34      <rule>
 35        <include state="basics"/>
 36      </rule>
 37      <rule pattern="\}">
 38        <token type="Punctuation"/>
 39        <pop depth="2"/>
 40      </rule>
 41    </state>
 42    <state name="common-values">
 43      <rule pattern="\s+">
 44        <token type="Text"/>
 45      </rule>
 46      <rule pattern="(-webkit-|-khtml-|prince-|-atsc-|-moz-|-rim-|-wap-|-ms-|-xv-|mso-|-ah-|-hp-|-ro-|-tc-|-o-)">
 47        <token type="KeywordPseudo"/>
 48      </rule>
 49      <rule>
 50        <include state="urls"/>
 51      </rule>
 52      <rule pattern="(attr|blackness|blend|blenda|blur|brightness|calc|circle|color-mod|contrast|counter|cubic-bezier|device-cmyk|drop-shadow|ellipse|gray|grayscale|hsl|hsla|hue|hue-rotate|hwb|image|inset|invert|lightness|linear-gradient|matrix|matrix3d|opacity|perspective|polygon|radial-gradient|rect|repeating-linear-gradient|repeating-radial-gradient|rgb|rgba|rotate|rotate3d|rotateX|rotateY|rotateZ|saturate|saturation|scale|scale3d|scaleX|scaleY|scaleZ|sepia|shade|skewX|skewY|steps|tint|toggle|translate|translate3d|translateX|translateY|translateZ|whiteness)(\()">
 53        <bygroups>
 54          <token type="NameBuiltin"/>
 55          <token type="Punctuation"/>
 56        </bygroups>
 57        <push state="function-start"/>
 58      </rule>
 59      <rule pattern="([a-zA-Z_][\w-]+)(\()">
 60        <bygroups>
 61          <token type="NameFunction"/>
 62          <token type="Punctuation"/>
 63        </bygroups>
 64        <push state="function-start"/>
 65      </rule>
 66      <rule pattern="(use-glyph-orientation|decimal-leading-zero|ruby-base-container|ruby-text-container|table-column-group|table-header-group|geometricPrecision|table-footer-group|optimizeLegibility|alternate-reverse|repeat no-repeat|table-row-group|all-petite-caps|ultra-condensed|extra-condensed|box-decoration|sideways-right|extra-expanded|no-close-quote|all-small-caps|semi-condensed|ultra-expanded|column-reverse|space-between|semi-expanded|table-caption|no-open-quote|sideways-left|double-circle|vertical-text|optimizeSpeed|weight style|currentColor|titling-caps|match-parent|table-column|line-through|inline-block|inline-table|wrap-reverse|avoid-column|manipulation|space-around|context-menu|lower-alpha|row-reverse|not-allowed|content-box|ease-in-out|close-quote|lower-latin|crisp-edges|lower-roman|lower-greek|upper-alpha|upper-latin|upper-roman|nwse-resize|nesw-resize|preserve-3d|inline-flex|petite-caps|color-dodge|descendants|padding-box|capitalize|small-caps|difference|inter-word|step-start|all-scroll|stroke-box|soft-light|margin-box|open-quote|table-cell|row-resize|border-box|hard-light|break-word|color-burn|luminosity|full-width|col-resize|from-image|avoid-page|scale-down|saturation|sans-serif|flex-start|distribute|horizontal|alternate|ruby-text|force-end|list-item|se-resize|mandatory|exclusion|ns-resize|underline|ruby-base|ew-resize|condensed|container|uppercase|no-repeat|nw-resize|table-row|backwards|crosshair|proximity|sw-resize|lowercase|allow-end|each-line|monospace|pixelated|ne-resize|luminance|pan-right|ellipsis|pan-down|pan-left|overline|multiply|progress|relative|infinite|repeat-x|repeat-y|georgian|forwards|flex-end|s-resize|fill-box|expanded|separate|ease-out|sideways|e-resize|step-end|n-resize|collapse|triangle|baseline|view-box|w-resize|armenian|absolute|xx-large|xx-small|vertical|zoom-out|contain|ease-in|running|no-drop|zoom-in|unicase|hanging|smaller|x-large|overlay|compact|lighter|lighten|objects|oblique|x-small|reverse|stretch|upright|cursive|inherit|initial|outside|pointer|decimal|default|justify|visible|balance|isolate|fantasy|paused|static|pan-up|invert|inside|italic|weight|inline|hidden|outset|larger|repeat|always|spaces|sticky|circle|digits|linear|column|smooth|nowrap|bolder|normal|sesame|dashed|groove|darken|bottom|run-in|manual|dotted|double|medium|filled|screen|scroll|center|strict|square|edges|serif|start|thick|first|clone|fixed|slice|small|under|unset|block|color|round|solid|space|right|ridge|blink|below|pan-y|avoid|large|cover|inset|alpha|local|alias|style|loose|table|mixed|pan-x|page|ruby|disc|none|snap|ease|text|show|thin|clip|left|open|wrap|fill|cell|flat|flex|flip|last|both|help|bold|over|hide|wait|icon|move|auto|copy|wavy|top|ltr|row|rtl|end|hue|dot|off|all|ink|to|on)\b">
 67        <token type="KeywordConstant"/>
 68      </rule>
 69      <rule pattern="(cjk-ideographic|katakana-iroha|hiragana-iroha|small-caption|bidi-override|center-right|center-left|text-bottom|message-box|continuous|status-bar|right-side|rightwards|spell-out|left-side|landscape|far-right|leftwards|narrower|portrait|katakana|far-left|text-top|pre-wrap|hiragana|pre-line|silent|x-high|faster|higher|middle|x-soft|behind|x-fast|hebrew|slower|x-loud|super|above|lower|wider|level|aural|embed|x-low|cross|crop|fast|once|high|slow|soft|loud|yes|pre|low|mix)\b">
 70        <token type="KeywordConstant"/>
 71      </rule>
 72      <rule pattern="(lightgoldenrodyellow|mediumspringgreen|mediumaquamarine|mediumslateblue|mediumturquoise|mediumvioletred|lightsteelblue|cornflowerblue|lightslategray|blanchedalmond|mediumseagreen|lightslategrey|darkolivegreen|darkgoldenrod|darkslateblue|lightseagreen|rebeccapurple|darkslategrey|darkslategray|palegoldenrod|paleturquoise|palevioletred|darkturquoise|lavenderblush|antiquewhite|mediumorchid|lightskyblue|mediumpurple|midnightblue|darkseagreen|lemonchiffon|springgreen|yellowgreen|greenyellow|navajowhite|darkmagenta|lightyellow|transparent|lightsalmon|forestgreen|saddlebrown|deepskyblue|floralwhite|dodgerblue|ghostwhite|lightcoral|sandybrown|darkviolet|papayawhip|mediumblue|chartreuse|lightgreen|whitesmoke|aquamarine|darkorange|darksalmon|powderblue|darkorchid|blueviolet|indianred|mintcream|mistyrose|olivedrab|goldenrod|orangered|lawngreen|gainsboro|lightblue|firebrick|lightcyan|peachpuff|lightgray|darkkhaki|lightgrey|darkgreen|rosybrown|royalblue|slateblue|chocolate|cadetblue|burlywood|slategray|slategrey|limegreen|steelblue|turquoise|palegreen|lightpink|aliceblue|moccasin|darkgrey|darkblue|seagreen|lavender|cornsilk|deeppink|seashell|darkgray|honeydew|darkcyan|dimgrey|magenta|crimson|darkred|hotpink|skyblue|oldlace|dimgray|fuchsia|thistle|orchid|indigo|orange|tomato|violet|salmon|yellow|silver|purple|bisque|sienna|maroon|black|linen|azure|white|wheat|khaki|green|olive|ivory|coral|brown|beige|snow|blue|navy|aqua|teal|gray|gold|grey|lime|peru|cyan|pink|plum|tan|red)\b">
 73        <token type="KeywordConstant"/>
 74      </rule>
 75    </state>
 76    <state name="root">
 77      <rule>
 78        <include state="basics"/>
 79      </rule>
 80    </state>
 81    <state name="numeric-values">
 82      <rule pattern="\#[a-zA-Z0-9]{1,6}">
 83        <token type="LiteralNumberHex"/>
 84      </rule>
 85      <rule pattern="[+\-]?[0-9]*[.][0-9]+">
 86        <token type="LiteralNumberFloat"/>
 87        <push state="numeric-end"/>
 88      </rule>
 89      <rule pattern="[+\-]?[0-9]+">
 90        <token type="LiteralNumberInteger"/>
 91        <push state="numeric-end"/>
 92      </rule>
 93    </state>
 94    <state name="atparenthesis">
 95      <rule>
 96        <include state="common-values"/>
 97      </rule>
 98      <rule pattern="/\*(?:.|\n)*?\*/">
 99        <token type="Comment"/>
100      </rule>
101      <rule>
102        <include state="numeric-values"/>
103      </rule>
104      <rule pattern="[*+/-]">
105        <token type="Operator"/>
106      </rule>
107      <rule pattern="[,]">
108        <token type="Punctuation"/>
109      </rule>
110      <rule pattern="&#34;(\\\\|\\&#34;|[^&#34;])*&#34;">
111        <token type="LiteralStringDouble"/>
112      </rule>
113      <rule pattern="&#39;(\\\\|\\&#39;|[^&#39;])*&#39;">
114        <token type="LiteralStringSingle"/>
115      </rule>
116      <rule pattern="[a-zA-Z_-]\w*">
117        <token type="Name"/>
118      </rule>
119      <rule pattern="\(">
120        <token type="Punctuation"/>
121        <push state="atparenthesis"/>
122      </rule>
123      <rule pattern="\)">
124        <token type="Punctuation"/>
125        <pop depth="1"/>
126      </rule>
127    </state>
128    <state name="basics">
129      <rule pattern="\s+">
130        <token type="Text"/>
131      </rule>
132      <rule pattern="/\*(?:.|\n)*?\*/">
133        <token type="Comment"/>
134      </rule>
135      <rule pattern="\{">
136        <token type="Punctuation"/>
137        <push state="content"/>
138      </rule>
139      <rule pattern="(\:{1,2})([\w-]+)">
140        <bygroups>
141          <token type="Punctuation"/>
142          <token type="NameDecorator"/>
143        </bygroups>
144      </rule>
145      <rule pattern="(\.)([\w-]+)">
146        <bygroups>
147          <token type="Punctuation"/>
148          <token type="NameClass"/>
149        </bygroups>
150      </rule>
151      <rule pattern="(\#)([\w-]+)">
152        <bygroups>
153          <token type="Punctuation"/>
154          <token type="NameNamespace"/>
155        </bygroups>
156      </rule>
157      <rule pattern="(@)([\w-]+)">
158        <bygroups>
159          <token type="Punctuation"/>
160          <token type="Keyword"/>
161        </bygroups>
162        <push state="atrule"/>
163      </rule>
164      <rule pattern="[\w-]+">
165        <token type="NameTag"/>
166      </rule>
167      <rule pattern="[~^*!%&amp;$\[\]()&lt;&gt;|+=@:;,./?-]">
168        <token type="Operator"/>
169      </rule>
170      <rule pattern="&#34;(\\\\|\\&#34;|[^&#34;])*&#34;">
171        <token type="LiteralStringDouble"/>
172      </rule>
173      <rule pattern="&#39;(\\\\|\\&#39;|[^&#39;])*&#39;">
174        <token type="LiteralStringSingle"/>
175      </rule>
176    </state>
177    <state name="content">
178      <rule pattern="\s+">
179        <token type="Text"/>
180      </rule>
181      <rule pattern="\}">
182        <token type="Punctuation"/>
183        <pop depth="1"/>
184      </rule>
185      <rule pattern=";">
186        <token type="Punctuation"/>
187      </rule>
188      <rule pattern="^@.*?$">
189        <token type="CommentPreproc"/>
190      </rule>
191      <rule pattern="(-webkit-|-khtml-|prince-|-atsc-|-moz-|-rim-|-wap-|-ms-|-xv-|mso-|-ah-|-hp-|-ro-|-tc-|-o-)">
192        <token type="KeywordPseudo"/>
193      </rule>
194      <rule pattern="(align-content|align-items|align-self|alignment-baseline|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|appearance|azimuth|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|baseline-shift|bookmark-label|bookmark-level|bookmark-state|border|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-boundary|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-decoration-break|box-shadow|box-sizing|box-snap|box-suppress|break-after|break-before|break-inside|caption-side|caret|caret-animation|caret-color|caret-shape|chains|clear|clip|clip-path|clip-rule|color|color-interpolation-filters|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|counter-set|crop|cue|cue-after|cue-before|cursor|direction|display|dominant-baseline|elevation|empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|float-defer|float-offset|float-reference|flood-color|flood-opacity|flow|flow-from|flow-into|font|font-family|font-feature-settings|font-kerning|font-language-override|font-size|font-size-adjust|font-stretch|font-style|font-synthesis|font-variant|font-variant-alternates|font-variant-caps|font-variant-east-asian|font-variant-ligatures|font-variant-numeric|font-variant-position|font-weight|footnote-display|footnote-policy|gap|glyph-orientation-vertical|grid|grid-area|grid-auto-columns|grid-auto-flow|grid-auto-rows|grid-column|grid-column-end|grid-column-gap|grid-column-start|grid-gap|grid-row|grid-row-end|grid-row-gap|grid-row-start|grid-template|grid-template-areas|grid-template-columns|grid-template-rows|hanging-punctuation|height|hyphenate-character|hyphenate-limit-chars|hyphenate-limit-last|hyphenate-limit-lines|hyphenate-limit-zone|hyphens|image-orientation|image-resolution|initial-letter|initial-letter-align|initial-letter-wrap|isolation|justify-content|justify-items|justify-self|left|letter-spacing|lighting-color|line-break|line-grid|line-height|line-snap|list-style|list-style-image|list-style-position|list-style-type|margin|margin-bottom|margin-left|margin-right|margin-top|marker-side|marquee-direction|marquee-loop|marquee-speed|marquee-style|mask|mask-border|mask-border-mode|mask-border-outset|mask-border-repeat|mask-border-slice|mask-border-source|mask-border-width|mask-clip|mask-composite|mask-image|mask-mode|mask-origin|mask-position|mask-repeat|mask-size|mask-type|max-height|max-lines|max-width|min-height|min-width|mix-blend-mode|motion|motion-offset|motion-path|motion-rotation|move-to|nav-down|nav-left|nav-right|nav-up|object-fit|object-position|offset-after|offset-before|offset-end|offset-start|opacity|order|orphans|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-style|overflow-wrap|overflow-x|overflow-y|padding|padding-bottom|padding-left|padding-right|padding-top|page|page-break-after|page-break-before|page-break-inside|page-policy|pause|pause-after|pause-before|perspective|perspective-origin|pitch|pitch-range|play-during|polar-angle|polar-distance|position|presentation-level|quotes|region-fragment|resize|rest|rest-after|rest-before|richness|right|rotation|rotation-point|ruby-align|ruby-merge|ruby-position|running|scroll-snap-coordinate|scroll-snap-destination|scroll-snap-points-x|scroll-snap-points-y|scroll-snap-type|shape-image-threshold|shape-inside|shape-margin|shape-outside|size|speak|speak-as|speak-header|speak-numeral|speak-punctuation|speech-rate|stress|string-set|tab-size|table-layout|text-align|text-align-last|text-combine-upright|text-decoration|text-decoration-color|text-decoration-line|text-decoration-skip|text-decoration-style|text-emphasis|text-emphasis-color|text-emphasis-position|text-emphasis-style|text-indent|text-justify|text-orientation|text-overflow|text-shadow|text-space-collapse|text-space-trim|text-spacing|text-transform|text-underline-position|text-wrap|top|transform|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|unicode-bidi|user-select|vertical-align|visibility|voice-balance|voice-duration|voice-family|voice-pitch|voice-range|voice-rate|voice-stress|voice-volume|volume|white-space|widows|width|will-change|word-break|word-spacing|word-wrap|wrap-after|wrap-before|wrap-flow|wrap-inside|wrap-through|writing-mode|z-index)(\s*)(\:)">
195        <bygroups>
196          <token type="Keyword"/>
197          <token type="Text"/>
198          <token type="Punctuation"/>
199        </bygroups>
200        <push state="value-start"/>
201      </rule>
202      <rule pattern="(--[a-zA-Z_][\w-]*)(\s*)(\:)">
203        <bygroups>
204          <token type="NameVariable"/>
205          <token type="Text"/>
206          <token type="Punctuation"/>
207        </bygroups>
208        <push state="value-start"/>
209      </rule>
210      <rule pattern="([a-zA-Z_][\w-]*)(\s*)(\:)">
211        <bygroups>
212          <token type="Name"/>
213          <token type="Text"/>
214          <token type="Punctuation"/>
215        </bygroups>
216        <push state="value-start"/>
217      </rule>
218      <rule pattern="/\*(?:.|\n)*?\*/">
219        <token type="Comment"/>
220      </rule>
221    </state>
222    <state name="value-start">
223      <rule>
224        <include state="common-values"/>
225      </rule>
226      <rule pattern="(color-interpolation-filters|glyph-orientation-vertical|border-bottom-right-radius|transition-timing-function|animation-iteration-count|animation-timing-function|border-bottom-left-radius|font-variant-east-asian|font-variant-alternates|border-top-right-radius|text-underline-position|scroll-snap-destination|font-language-override|text-emphasis-position|border-top-left-radius|font-variant-ligatures|scroll-snap-coordinate|hyphenate-limit-lines|background-attachment|font-feature-settings|grid-template-columns|text-decoration-style|font-variant-position|hyphenate-limit-chars|text-decoration-color|shape-image-threshold|background-blend-mode|hyphenate-limit-zone|initial-letter-align|text-combine-upright|hyphenate-limit-last|text-decoration-line|box-decoration-break|text-decoration-skip|animation-play-state|scroll-snap-points-y|font-variant-numeric|scroll-snap-points-x|animation-direction|border-bottom-width|hanging-punctuation|border-bottom-color|border-image-outset|border-image-repeat|list-style-position|border-image-source|initial-letter-wrap|text-space-collapse|background-position|hyphenate-character|grid-template-areas|backface-visibility|text-emphasis-style|transition-duration|animation-fill-mode|transition-property|text-emphasis-color|border-bottom-style|border-image-slice|mask-border-outset|border-right-width|border-right-style|perspective-origin|alignment-baseline|border-right-color|presentation-level|grid-template-rows|animation-duration|mask-border-source|mask-border-repeat|border-image-width|column-rule-color|speak-punctuation|dominant-baseline|marquee-direction|column-rule-width|mask-border-slice|border-left-color|mask-border-width|grid-auto-columns|counter-increment|border-left-style|grid-column-start|image-orientation|background-repeat|font-variant-caps|page-break-inside|page-break-before|background-origin|column-rule-style|border-left-width|list-style-image|page-break-after|transform-origin|border-top-color|border-top-style|border-top-width|footnote-display|background-color|image-resolution|background-image|transition-delay|text-orientation|font-size-adjust|mask-border-mode|scroll-snap-type|animation-delay|text-align-last|grid-column-end|list-style-type|text-space-trim|grid-column-gap|justify-content|text-decoration|footnote-policy|caret-animation|border-collapse|border-boundary|region-fragment|background-clip|background-size|float-reference|motion-rotation|object-position|transform-style|overflow-style|border-spacing|baseline-shift|initial-letter|bookmark-label|grid-row-start|animation-name|bookmark-level|flex-direction|letter-spacing|bookmark-state|mask-composite|grid-auto-rows|mix-blend-mode|outline-offset|padding-bottom|polar-distance|vertical-align|voice-duration|grid-auto-flow|rotation-point|text-transform|font-synthesis|lighting-color|speak-numeral|counter-reset|outline-style|border-bottom|outline-color|marquee-speed|ruby-position|mask-position|overflow-wrap|margin-bottom|text-overflow|motion-offset|align-content|grid-template|voice-balance|padding-right|border-radius|justify-items|shape-outside|outline-width|flood-opacity|text-emphasis|marquee-style|offset-before|text-spacing|offset-after|speak-header|float-offset|break-before|text-justify|padding-left|shape-margin|offset-start|justify-self|shape-inside|word-spacing|break-inside|caption-side|border-right|wrap-through|border-width|unicode-bidi|grid-row-gap|grid-row-end|voice-family|column-count|table-layout|pause-before|margin-right|box-suppress|font-kerning|font-stretch|marquee-loop|border-style|font-variant|voice-volume|writing-mode|voice-stress|border-image|border-color|column-width|voice-range|counter-set|rest-before|mask-border|border-left|polar-angle|mask-origin|text-shadow|mask-repeat|play-during|pitch-range|perspective|margin-left|pause-after|page-policy|white-space|voice-pitch|will-change|empty-cells|motion-path|align-items|caret-shape|padding-top|column-fill|caret-color|flex-shrink|line-height|text-indent|wrap-before|float-defer|wrap-inside|speech-rate|column-rule|user-select|font-family|break-after|grid-column|column-span|font-weight|marker-side|flood-color|rest-after|box-sizing|overflow-x|overflow-y|wrap-after|align-self|offset-end|object-fit|visibility|appearance|column-gap|border-top|list-style|min-height|flex-basis|word-break|box-shadow|max-height|background|line-break|text-align|margin-top|ruby-merge|ruby-align|font-style|string-set|cue-before|mask-image|transition|voice-rate|mask-clip|cue-after|font-size|text-wrap|clip-path|grid-area|clip-rule|mask-mode|direction|mask-size|elevation|flow-from|mask-type|line-grid|transform|max-width|word-wrap|flow-into|min-width|flex-flow|flex-grow|nav-right|flex-wrap|animation|wrap-flow|isolation|max-lines|line-snap|tab-size|speak-as|rotation|grid-gap|richness|box-snap|position|overflow|nav-left|grid-row|nav-down|opacity|outline|padding|hyphens|z-index|azimuth|move-to|running|display|columns|content|orphans|resize|quotes|volume|motion|border|margin|chains|filter|nav-up|stress|height|cursor|bottom|widows|right|speak|color|pitch|caret|clear|width|pause|float|order|left|clip|grid|crop|font|flex|mask|size|page|flow|rest|all|top|cue)\b">
227        <token type="Keyword"/>
228      </rule>
229      <rule pattern="\!important">
230        <token type="CommentPreproc"/>
231      </rule>
232      <rule pattern="/\*(?:.|\n)*?\*/">
233        <token type="Comment"/>
234      </rule>
235      <rule>
236        <include state="numeric-values"/>
237      </rule>
238      <rule pattern="[~^*!%&amp;&lt;&gt;|+=@:./?-]+">
239        <token type="Operator"/>
240      </rule>
241      <rule pattern="[\[\](),]+">
242        <token type="Punctuation"/>
243      </rule>
244      <rule pattern="&#34;(\\\\|\\&#34;|[^&#34;])*&#34;">
245        <token type="LiteralStringDouble"/>
246      </rule>
247      <rule pattern="&#39;(\\\\|\\&#39;|[^&#39;])*&#39;">
248        <token type="LiteralStringSingle"/>
249      </rule>
250      <rule pattern="[a-zA-Z_][\w-]*">
251        <token type="Name"/>
252      </rule>
253      <rule pattern=";">
254        <token type="Punctuation"/>
255        <pop depth="1"/>
256      </rule>
257      <rule pattern="\}">
258        <token type="Punctuation"/>
259        <pop depth="2"/>
260      </rule>
261    </state>
262    <state name="function-start">
263      <rule>
264        <include state="common-values"/>
265      </rule>
266      <rule pattern="/\*(?:.|\n)*?\*/">
267        <token type="Comment"/>
268      </rule>
269      <rule>
270        <include state="numeric-values"/>
271      </rule>
272      <rule pattern="[*+/-]">
273        <token type="Operator"/>
274      </rule>
275      <rule pattern="[,]">
276        <token type="Punctuation"/>
277      </rule>
278      <rule pattern="&#34;(\\\\|\\&#34;|[^&#34;])*&#34;">
279        <token type="LiteralStringDouble"/>
280      </rule>
281      <rule pattern="&#39;(\\\\|\\&#39;|[^&#39;])*&#39;">
282        <token type="LiteralStringSingle"/>
283      </rule>
284      <rule pattern="[a-zA-Z_-]\w*">
285        <token type="Name"/>
286      </rule>
287      <rule pattern="\(">
288        <token type="Punctuation"/>
289        <push state="atparenthesis"/>
290      </rule>
291      <rule pattern="\)">
292        <token type="Punctuation"/>
293        <pop depth="1"/>
294      </rule>
295    </state>
296    <state name="urls">
297      <rule pattern="(url)(\()(&#34;.*?&#34;)(\))">
298        <bygroups>
299          <token type="NameBuiltin"/>
300          <token type="Punctuation"/>
301          <token type="LiteralStringDouble"/>
302          <token type="Punctuation"/>
303        </bygroups>
304      </rule>
305      <rule pattern="(url)(\()(&#39;.*?&#39;)(\))">
306        <bygroups>
307          <token type="NameBuiltin"/>
308          <token type="Punctuation"/>
309          <token type="LiteralStringSingle"/>
310          <token type="Punctuation"/>
311        </bygroups>
312      </rule>
313      <rule pattern="(url)(\()(.*?)(\))">
314        <bygroups>
315          <token type="NameBuiltin"/>
316          <token type="Punctuation"/>
317          <token type="LiteralStringOther"/>
318          <token type="Punctuation"/>
319        </bygroups>
320      </rule>
321    </state>
322  </rules>
323</lexer>