Path: blob/main/src/resources/pandoc/syntax-definitions/scss.xml
12926 views
<?xml version="1.0" encoding="UTF-8"?>1<!DOCTYPE language SYSTEM "language.dtd"2[3<!-- https://www.w3.org/TR/CSS22/syndata.html#tokenization -->4<!ENTITY nmstart "[_a-zA-Z]|(\\[0-9a-fA-F]{1,6})|(\\[^\n\r\f0-9a-fA-F])">5<!ENTITY nmchar "[_a-zA-Z0-9-]|(\\[0-9a-fA-F]{1,6})|(\\[^\n\r\f0-9a-fA-F])">6]>78<!--910Kate SCSS syntax highlighting definition1112Changelog:1314- Version 7, by Jonathan Poelen15- fix tag followed by a pseudo-class in a nested rule (@media, ...)16- fix constraint in a rule17- fix Kate auto-completion for properties and rules18- fix highlighting of pseudoclass/pseudoelement in a sub-rule19- New highlighting categories: Keyword, Operator, Separator Symbol, SpecialChar, Value Keyword, Color, Number, Unit, Selector Tag, Placeholder Selector2021- Version 4, by Guo Yunhe [email protected]22- Remake for complex SCSS syntax, avoid errors2324- Version 2.06, by Guo Yunhe25- Add all W3C Work Draft properties, inherit rules from css.xml2627- Version 1.2.03.6, by Mte9028- Css3 Tag2930- Version 1.2.03.1, by Tijn Schuurmans31- Added basic support for "@include mixin();"32- Clean the indentation to use 4 spaces everywhere3334-->3536<language name="SCSS" version="13" kateversion="5.53" section="Markup" extensions="*.scss" indenter="cstyle" mimetype="text/css" author="Wilbert Berendsen ([email protected])" license="LGPL">3738<highlighting>39<list name="properties">40<include>properties##CSS</include>41</list>4243<list name="sub-properties">44<item>adjust</item>45<item>after</item>46<item>align-all</item>47<item>align</item>48<item>align-last</item>49<item>alternates</item>50<item>anchor</item>51<item>area</item>52<item>areas</item>53<item>attachment</item>54<item>auto-columns</item>55<item>auto-flow</item>56<item>auto-rows</item>57<item>baseline</item>58<item>basis</item>59<item>before</item>60<item>bidi</item>61<item>blend-mode</item>62<item>block-color</item>63<item>block-end-color</item>64<item>block-end</item>65<item>block-end-style</item>66<item>block-end-width</item>67<item>block</item>68<item>block-start-color</item>69<item>block-start</item>70<item>block-start-style</item>71<item>block-start-width</item>72<item>block-style</item>73<item>block-width</item>74<item>border-mode</item>75<item>border-outset</item>76<item>border-repeat</item>77<item>border-slice</item>78<item>border-source</item>79<item>bottom-color</item>80<item>bottom-left-radius</item>81<item>bottom-right-radius</item>82<item>bottom-style</item>83<item>bottom-width</item>84<item>boundary</item>85<item>box</item>86<item>break</item>87<item>caps</item>88<item>cells</item>89<item>change</item>90<item>character</item>91<item>chars</item>92<item>collapse</item>93<item>column-end</item>94<item>column</item>95<item>column-start</item>96<item>combine-upright</item>97<item>composite</item>98<item>count</item>99<item>decoration-break</item>100<item>decoration-color</item>101<item>decoration</item>102<item>decoration-line</item>103<item>decoration-skip-ink</item>104<item>decoration-skip</item>105<item>decoration-style</item>106<item>decoration-width</item>107<item>defer</item>108<item>delay</item>109<item>distance</item>110<item>down</item>111<item>duration</item>112<item>during</item>113<item>east-asian</item>114<item>emoji</item>115<item>emphasis-color</item>116<item>emphasis</item>117<item>emphasis-position</item>118<item>emphasis-skip</item>119<item>emphasis-style</item>120<item>end-color</item>121<item>end</item>122<item>end-style</item>123<item>end-width</item>124<item>events</item>125<item>family</item>126<item>feature-settings</item>127<item>fill-mode</item>128<item>filters</item>129<item>fit</item>130<item>flow</item>131<item>fragment</item>132<item>from</item>133<item>function</item>134<item>grow</item>135<item>gutter</item>136<item>header</item>137<item>height-step</item>138<item>image</item>139<item>image-outset</item>140<item>image-repeat</item>141<item>image-slice</item>142<item>image-source</item>143<item>image-threshold</item>144<item>image-transform</item>145<item>image-width</item>146<item>increment</item>147<item>indent</item>148<item>inline-color</item>149<item>inline-end-color</item>150<item>inline-end</item>151<item>inline-end-style</item>152<item>inline-end-width</item>153<item>inline</item>154<item>inline-start-color</item>155<item>inline-start</item>156<item>inline-start-style</item>157<item>inline-start-width</item>158<item>inline-style</item>159<item>inline-width</item>160<item>insert</item>161<item>inside</item>162<item>interpolation-filters</item>163<item>into</item>164<item>items</item>165<item>iteration-count</item>166<item>justify</item>167<item>kerning</item>168<item>knockout-left</item>169<item>knockout-right</item>170<item>label</item>171<item>language-override</item>172<item>last</item>173<item>layout</item>174<item>left-color</item>175<item>left-radius</item>176<item>left-style</item>177<item>left-width</item>178<item>letter-align</item>179<item>letter</item>180<item>letter-wrap</item>181<item>level</item>182<item>ligatures</item>183<item>limit-chars</item>184<item>limit-last</item>185<item>limit-lines</item>186<item>limit-zone</item>187<item>line</item>188<item>lines</item>189<item>loop</item>190<item>max-size</item>191<item>merge</item>192<item>mid</item>193<item>min-size</item>194<item>mode</item>195<item>name</item>196<item>numeral</item>197<item>numeric</item>198<item>optical-sizing</item>199<item>orientation</item>200<item>orientation-vertical</item>201<item>origin</item>202<item>outset</item>203<item>outside</item>204<item>override</item>205<item>palette</item>206<item>path</item>207<item>pattern</item>208<item>play-state</item>209<item>point</item>210<item>policy</item>211<item>property</item>212<item>punctuation</item>213<item>radius</item>214<item>range</item>215<item>rate</item>216<item>reference</item>217<item>rendering</item>218<item>repeat</item>219<item>reset</item>220<item>resolution</item>221<item>right-color</item>222<item>right-radius</item>223<item>right-style</item>224<item>right-width</item>225<item>rotate</item>226<item>round</item>227<item>row-end</item>228<item>row</item>229<item>rows</item>230<item>row-start</item>231<item>rule-color</item>232<item>rule</item>233<item>rule-style</item>234<item>rule-width</item>235<item>segment</item>236<item>select</item>237<item>self</item>238<item>set</item>239<item>settings</item>240<item>shadow</item>241<item>shape</item>242<item>shift</item>243<item>shrink</item>244<item>side</item>245<item>size-adjust</item>246<item>sizing</item>247<item>skip-ink</item>248<item>skip</item>249<item>slice</item>250<item>snap</item>251<item>source</item>252<item>space-collapse</item>253<item>space</item>254<item>space-trim</item>255<item>spacing</item>256<item>span</item>257<item>speed</item>258<item>start-color</item>259<item>start</item>260<item>start-style</item>261<item>start-width</item>262<item>state</item>263<item>step-align</item>264<item>step-insert</item>265<item>step</item>266<item>step-round</item>267<item>step-size</item>268<item>stretch</item>269<item>style-image</item>270<item>style</item>271<item>style-position</item>272<item>style-type</item>273<item>synthesis</item>274<item>template-areas</item>275<item>template-columns</item>276<item>template</item>277<item>template-rows</item>278<item>threshold</item>279<item>through</item>280<item>timing-function</item>281<item>top-color</item>282<item>top-left-radius</item>283<item>top-right-radius</item>284<item>top-style</item>285<item>top-width</item>286<item>trim</item>287<item>type</item>288<item>underline-offset</item>289<item>underline-position</item>290<item>up</item>291<item>upright</item>292<item>variant-alternates</item>293<item>variant-caps</item>294<item>variant-east-asian</item>295<item>variant-emoji</item>296<item>variant</item>297<item>variant-ligatures</item>298<item>variant-numeric</item>299<item>variant-position</item>300<item>variation-settings</item>301<item>vertical</item>302<item>weight</item>303<item>wrap</item>304<item>x</item>305<item>y</item>306<item>zone</item>307</list>308309<list name="special values">310<item>true</item>311<item>false</item>312<item>null</item>313</list>314315<list name="value keywords">316<include>value keywords##CSS</include>317</list>318319<list name="values">320<include>values##CSS</include>321</list>322323<list name="colors">324<include>colors##CSS</include>325</list>326327<list name="functions">328<include>functions##CSS</include>329330<!-- sass -->331<item>red</item>332<item>green</item>333<item>blue</item>334<item>mix</item>335<item>hue</item>336<item>saturation</item>337<item>lightness</item>338<item>adjust-hue</item>339<item>lighten</item>340<item>darken</item>341<item>saturate</item>342<item>desaturate</item>343<item>grayscale</item>344<item>complement</item>345<item>invert</item>346<item>alpha</item>347<item>opacify</item>348<item>transparentize</item>349<item>adjust-color</item>350<item>scale-color</item>351<item>change-color</item>352<item>ie-hex-str</item>353<item>unquote</item>354<item>quote</item>355<item>str-length</item>356<item>str-insert</item>357<item>str-index</item>358<item>str-slice</item>359<item>to-upper-case</item>360<item>to-lower-case</item>361<item>percentage</item>362<item>round</item>363<item>ceil</item>364<item>floor</item>365<item>abs</item>366<item>min</item>367<item>max</item>368<item>random</item>369<item>length</item>370<item>nth</item>371<item>set-nth</item>372<item>join</item>373<item>append</item>374<item>zip</item>375<item>index</item>376<item>list-separator</item>377<item>is-bracketed</item>378<item>map-get</item>379<item>map-merge</item>380<item>map-remove</item>381<item>map-keys</item>382<item>map-values</item>383<item>map-has-key</item>384<item>keywords</item>385<item>selector-nest</item>386<item>selector-append</item>387<item>selector-extend</item>388<item>selector-replace</item>389<item>selector-unify</item>390<item>is-superselector</item>391<item>simple-selectors</item>392<item>selector-parse</item>393<item>feature-exists</item>394<item>variable-exists</item>395<item>global-variable-exists</item>396<item>function-exists</item>397<item>mixin-exists</item>398<item>content-exists</item>399<item>inspect</item>400<item>type-of</item>401<item>unit</item>402<item>unitless</item>403<item>comparable</item>404<item>call</item>405<item>get-function</item>406<item>if</item>407<item>unique-id</item>408</list>409410<list name="medias">411<include>medias##CSS</include>412</list>413414<!-- prefixed by :: -->415<list name="pseudoelements">416<include>pseudoelements##CSS</include>417</list>418419<!-- prefixed by : -->420<list name="pseudoclasses">421<include>pseudoclasses##CSS</include>422</list>423424<list name="pseudoclass-selector">425<include>pseudoclass-selector##CSS</include>426</list>427428<list name="pseudoclasses-@page">429<include>pseudoclasses-@page##CSS</include>430</list>431432<list name="at-rules">433<include>at-rules##CSS</include>434435<!-- scss -->436<item>@debug</item>437<item>@warn</item>438<item>@error</item>439<item>@content</item>440<item>@return</item>441</list>442443<list name="nested at-rules">444<include>nested at-rules##CSS</include>445446<!-- scss -->447<item>@at-rule</item>448<item>@for</item>449<item>@each</item>450<item>@while</item>451</list>452453<list name="inline and nested at-rules">454<!-- CSS: inline -->455<!-- SCSS: inline or block -->456<item>@include</item>457</list>458459<list name="@extend">460<item>@extend</item>461</list>462463<list name="@if">464<item>@if</item>465</list>466467<list name="@else">468<item>@else</item>469</list>470471<list name="@mixin">472<item>@mixin</item>473<item>@function</item>474</list>475476<list name="@viewport">477<item>@viewport</item>478</list>479480<list name="within-@viewport">481<include>within-@viewport##CSS</include>482</list>483484<list name="@page">485<item>@page</item>486</list>487488<list name="within-@page">489<include>within-@page##CSS</include>490</list>491492<list name="@font-face">493<item>@font-face</item>494</list>495496<list name="within-@font-face">497<include>within-@font-face##CSS</include>498</list>499500<list name="@keyframes">501<item>@keyframes</item>502</list>503504<list name="within-@keyframes">505<include>within-@keyframes##CSS</include>506</list>507508<list name="media operators">509<include>media operators##CSS</include>510</list>511512<list name="operators">513<item>and</item>514<item>or</item>515<item>not</item>516</list>517518<list name="annotations">519<item>important</item>520<item>default</item>521<item>global</item>522</list>523524<contexts>525<context name="Base" attribute="Normal Text" lineEndContext="#stay">526<DetectSpaces />527<IncludeRules context="FindComments" />528<DetectChar attribute="Normal Text" context="RuleSet" char="{" beginRegion="ruleset" />529<DetectChar attribute="At Rule" context="SelectAtRule" char="@" lookAhead="true" />530<!-- find selectors // .class #id :hover :nth-child(2n+1) [type="search"] -->531<DetectChar attribute="Selector Attribute" context="SelectorAttr" char="[" />532<DetectChar attribute="Separator Symbol" context="IsSelectors" char="," />533<AnyChar attribute="Operator" context="IsSelectors" String="*>+~|&" />534<RegExpr attribute="Selector Pseudo" context="SelectorPseudo" String=":(?=[a-z:])" />535<RegExpr attribute="Selector Id" context="IsSelectors" String="#[-]?(&nmstart;)(&nmchar;)*" />536<RegExpr attribute="Selector Class" context="IsSelectors" String="\.([a-zA-Z0-9\-_]|[\x80-\xFF]|\\[0-9A-Fa-f]{1,6})*" />537<RegExpr attribute="Placeholder Selector" context="IsSelectors" String="%[_a-zA-Z][_a-zA-Z\-]*" />538<RegExpr attribute="Selector Tag" context="IsSelectors" String="[-]?(&nmstart;)(&nmchar;)*(?=\s|:?[#.&{[*>+~|,]|:[a-z:])" />539<RegExpr attribute="Variable" context="VariableDefine" String="\$[a-zA-Z0-9\-_]+(?=\s*:)" />540<Detect2Chars attribute="Interpolation" context="InterpolationMaybeProperty" char="#" char1="{" />541</context>542543<context name="IsSelectors" attribute="Normal Text" lineEndContext="#stay">544<DetectSpaces />545<DetectChar attribute="Normal Text" context="#pop!RuleSet" char="{" beginRegion="ruleset" />546<DetectChar attribute="At Rule" context="#pop!SelectAtRule" char="@" lookAhead="true" />547<DetectChar attribute="Separator Symbol" context="#stay" char="," />548<DetectChar attribute="Error" context="#pop" char=";" />549<AnyChar attribute="Operator" context="#stay" String="*>+~|&" />550<IncludeRules context="SelectorTypes" />551</context>552553<context name="FindSelector" attribute="Normal Text" lineEndContext="#stay">554<AnyChar attribute="Error" context="#stay" String=",&" />555<AnyChar attribute="Operator" context="#stay" String="*>+~|" />556<IncludeRules context="SelectorTypes" />557</context>558559<context name="SelectorTypes" attribute="Normal Text" lineEndContext="#stay">560<!-- find selectors // .class #id :hover :nth-child(2n+1) [type="search"] -->561<DetectChar attribute="Selector Pseudo" context="SelectorPseudo" char=":" />562<DetectChar attribute="Selector Attribute" context="SelectorAttr" char="[" />563<IncludeRules context="FindComments" />564<RegExpr attribute="Selector Id" context="#stay" String="#[-]?(&nmstart;)(&nmchar;)*" />565<RegExpr attribute="Selector Class" context="#stay" String="\.([a-zA-Z0-9\-_]|[\x80-\xFF]|\\[0-9A-Fa-f]{1,6})*" />566<RegExpr attribute="Placeholder Selector" context="#stay" String="%[_a-zA-Z][_a-zA-Z\-]*" />567<RegExpr attribute="Selector Tag" context="#stay" String="[-]?(&nmstart;)(&nmchar;)*" />568<Detect2Chars attribute="Interpolation" context="Interpolation" char="#" char1="{" />569</context>570571<context name="VariableDefine" attribute="Normal Text" lineEndContext="#stay">572<DetectChar attribute="Normal Text" context="RuleParameters" char=":" />573</context>574575<context name="Interpolation" attribute="Normal Text" lineEndContext="#stay">576<DetectSpaces />577<DetectChar attribute="Interpolation" context="#pop" char="}" />578<IncludeRules context="FindStrings" />579<IncludeRules context="FindFunctions" />580<IncludeRules context="FindValues" />581<!-- auto-completion only -->582<keyword attribute="Normal Text" context="#stay" String="functions" />583</context>584585<context name="InterpolationMaybeProperty" attribute="Normal Text" lineEndContext="#stay">586<DetectSpaces />587<DetectChar attribute="Interpolation" context="#pop!MaybeProperty" char="}" />588<IncludeRules context="FindStrings" />589<IncludeRules context="FindFunctions" />590<IncludeRules context="FindValues" />591<!-- auto-completion only -->592<keyword attribute="Normal Text" context="#stay" String="functions" />593</context>594595<context name="MaybeProperty" attribute="Normal Text" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop">596<DetectSpaces />597<IncludeRules context="FindComments" />598<RegExpr attribute="Normal Text" context="Rule" String=":($|[/{\s0-9$"'])" lookAhead="true"/>599</context>600601602<!-- find functions // rgba(255,255,255,0.75) -->603<context name="FindFunctions" attribute="Normal Text" lineEndContext="#stay">604<RegExpr attribute="Function" context="Function" String="[a-z\-]{2,}\(" lookAhead="true" />605</context>606607<!-- find values // 10px 12pt 2.5em 1rem 75% #ffcc99 red solid -->608<context name="FindValues" attribute="Normal Text" lineEndContext="#stay">609<DetectChar attribute="Annotation" context="Annotation" char="!" />610<keyword attribute="Operator" context="#stay" String="operators" />611<keyword attribute="Value Keyword" context="#stay" String="value keywords" />612<keyword attribute="Value" context="#stay" String="values" />613<keyword attribute="Color" context="#stay" String="colors" />614<RegExpr attribute="Number" context="FindUnits" String="([0-9]+(\.[0-9]+)?|\.[0-9]+)([eE][+-]?[0-9]+)?" />615<RegExpr attribute="Color" context="#stay" String="#([0-9A-Fa-f]{3,4}){1,2}\b" />616<RegExpr attribute="Variable" context="#stay" String="\$[a-zA-Z0-9\-_]+" />617<keyword attribute="Value Keyword" context="#stay" String="special values" />618<RegExpr attribute="Normal Text" context="#stay" String="[-]?(&nmstart;)(&nmchar;)*" />619<AnyChar attribute="Operator" context="#stay" String="*/+%-" />620<Detect2Chars attribute="Interpolation" context="Interpolation" char="#" char1="{" />621</context>622623<context name="Annotation" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">624<keyword attribute="Annotation" context="#pop" String="annotations" />625</context>626627<context name="FindUnits" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">628<RegExpr attribute="Unit" context="#pop" String="(%|(em|ex|cap|ch|ic|rem|lh|rlh|vw|vh|vi|vb|vmin|vmax|cm|mm|Q|in|pc|pt|px|deg|rad|grad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx|x)\b)" />629</context>630631<!-- find strings // "some words" 'some words' -->632<context name="FindStrings" attribute="Normal Text" lineEndContext="#stay">633<DetectChar attribute="String" context="StringDQ" char=""" />634<DetectChar attribute="String" context="StringSQ" char="'" />635</context>636637<!-- find comments // /* comment */ -->638<context name="FindComments" attribute="Normal Text" lineEndContext="#stay">639<Detect2Chars attribute="Comment" context="IsComments" char="/" char1="/" lookAhead="true"/>640<Detect2Chars attribute="Comment" context="IsComments" char="/" char1="*" lookAhead="true"/>641</context>642643<context name="IsComments" attribute="Normal Text" lineEndContext="#stay">644<RegExpr attribute="Region Marker" context="#stay" String="/\*\s*BEGIN\b.*\*/|//\s*BEGIN\b.*" beginRegion="UserDefined" />645<RegExpr attribute="Region Marker" context="#stay" String="/\*\s*END\b.*\*/|//\s*END\b.*" endRegion="UserDefined" />646<Detect2Chars attribute="Comment" context="Comment" char="/" char1="*" beginRegion="comment" />647<Detect2Chars attribute="Comment" context="SassComment" char="/" char1="/" />648</context>649650<context name="SassComment" attribute="Comment" lineEndContext="#pop#pop">651<DetectSpaces />652<IncludeRules context="##Comments" />653<DetectIdentifier />654</context>655656<context name="SelectAtRule" attribute="At Rule" lineEndContext="#pop">657<keyword attribute="At Rule" context="#pop!NestedAtRule" String="nested at-rules" />658<keyword attribute="At Rule" context="#pop!AtRule" String="at-rules" />659<keyword attribute="At Rule" context="#pop!UnknownAtRule" String="inline and nested at-rules" />660<keyword attribute="At Rule" context="#pop!@extend" String="@extend" />661<keyword attribute="At Rule" context="#pop!@mixin" String="@mixin" />662<keyword attribute="At Rule" context="#pop!@keyframes" String="@keyframes" />663<keyword attribute="At Rule" context="#pop!@viewport" String="@viewport" />664<keyword attribute="At Rule" context="#pop!@font-face" String="@font-face" />665<keyword attribute="At Rule" context="#pop!@if" String="@if" />666<keyword attribute="At Rule" context="#pop!@else" String="@else" />667<keyword attribute="At Rule" context="#pop!@page" String="@page" />668<RegExpr attribute="At Rule" context="#pop!UnknownAtRule" String="@[a-zA-Z0-9\-_]+\b" />669</context>670671<context name="@if" attribute="Normal Text" lineEndContext="#stay">672<DetectSpaces />673<DetectChar attribute="Normal Text" context="#pop!RuleSet" char="{" beginRegion="ruleset" />674<IncludeRules context="FindComments" />675<IncludeRules context="FindStrings" />676<IncludeRules context="FindFunctions" />677<IncludeRules context="FindValues" />678<AnyChar attribute="Operator" context="#stay" String="=!<>" />679<!-- auto-completion only -->680<keyword attribute="Normal Text" context="#stay" String="functions" />681</context>682683<context name="@else" attribute="Error" lineEndContext="#stay">684<DetectSpaces attribute="Normal Text" />685<DetectChar attribute="Normal Text" context="#pop!RuleSet" char="{" beginRegion="ruleset" />686<IncludeRules context="FindComments" />687<WordDetect attribute="At Rule" context="#pop!@if" String="if" />688<DetectIdentifier attribute="Error" />689</context>690691<context name="@extend" attribute="Normal Text" lineEndContext="#stay">692<DetectSpaces />693<DetectChar attribute="Separator Symbol" context="#pop" char=";" />694<DetectChar attribute="Normal Text" context="#pop" char="}" endRegion="ruleset" />695<IncludeRules context="FindSelector" />696</context>697698<context name="@mixin" attribute="Normal Text" lineEndContext="#stay">699<DetectSpaces />700<IncludeRules context="FindComments" />701<RegExpr attribute="Function" context="MixinParameter" String="[a-zA-Z0-9\-_]+" />702</context>703704<context name="MixinParameter" attribute="Error" lineEndContext="#stay">705<DetectSpaces attribute="Normal Text" />706<AnyChar attribute="Normal Text" context="#stay" String="()" />707<DetectChar attribute="Separator Symbol" context="#stay" char="," />708<DetectChar attribute="Normal Text" context="#pop#pop!RuleSet" char="{" beginRegion="ruleset" />709<IncludeRules context="FindComments" />710<RegExpr attribute="Variable" context="#stay" String="\$[a-zA-Z0-9\-_]+" />711<StringDetect attribute="Operator" context="#stay" String="..." />712</context>713714<context name="@keyframes" attribute="Normal Text" lineEndContext="#stay">715<DetectSpaces />716<IncludeRules context="FindComments" />717<DetectChar attribute="Normal Text" context="Within-@keyframes" char="{" beginRegion="ruleset" />718</context>719720<context name="Within-@keyframes" attribute="Normal Text" lineEndContext="#stay">721<DetectSpaces />722<IncludeRules context="FindComments" />723<DetectChar attribute="Normal Text" context="#pop#pop" char="}" endRegion="ruleset" />724<DetectChar attribute="Normal Text" context="RuleSet" char="{" beginRegion="ruleset" />725<keyword attribute="Value" context="#stay" String="within-@keyframes" />726<RegExpr attribute="Value" context="#stay" String="[-+]?[0-9.]+%" />727</context>728729<context name="@viewport" attribute="Normal Text" lineEndContext="#stay">730<DetectSpaces />731<IncludeRules context="FindComments" />732<DetectChar attribute="Selector Pseudo" context="SelectorPseudo" char=":" />733<DetectChar attribute="Normal Text" context="#pop!Within-@viewport" char="{" beginRegion="ruleset" />734</context>735736<context name="Within-@viewport" attribute="Normal Text" lineEndContext="#stay">737<DetectSpaces />738<keyword attribute="Property" context="IsProperty" String="within-@viewport" />739<IncludeRules context="RuleSet" />740</context>741742<context name="@font-face" attribute="Normal Text" lineEndContext="#stay">743<DetectSpaces />744<IncludeRules context="FindComments" />745<DetectChar attribute="Normal Text" context="#pop!Within-@font-face" char="{" beginRegion="ruleset" />746</context>747748<context name="Within-@font-face" attribute="Normal Text" lineEndContext="#stay">749<DetectSpaces />750<IncludeRules context="FindComments" />751<keyword attribute="Property" context="IsProperty" String="within-@font-face" />752<RegExpr attribute="Unknown Property" context="IsProperty" String="[A-Za-z_-]+\b" />753<DetectChar attribute="Normal Text" context="#pop" char="}" endRegion="ruleset" />754</context>755756<context name="@page" attribute="Normal Text" lineEndContext="#stay">757<DetectSpaces />758<IncludeRules context="FindComments" />759<DetectChar attribute="Selector Pseudo" context="SelectorPseudo-@page" char=":" />760<DetectChar attribute="Normal Text" context="#pop!Within-@page" char="{" beginRegion="ruleset" />761</context>762763<context name="SelectorPseudo-@page" attribute="Selector Pseudo" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">764<keyword attribute="Selector Pseudo" context="#pop" String="pseudoclasses-@page" />765<RegExpr attribute="Selector Pseudo" context="#pop" String="[-a-zA-Z][-a-zA-Z0-9]*" />766</context>767768<context name="Within-@page" attribute="Normal Text" lineEndContext="#stay">769<DetectSpaces />770<keyword attribute="Property" context="IsProperty" String="within-@page" />771<IncludeRules context="RuleSet" />772</context>773774<context name="IsProperty" attribute="Error" lineEndContext="#stay">775<DetectSpaces attribute="Normal Text" />776<DetectChar attribute="Normal Text" context="RuleParameters" char=":" />777<IncludeRules context="FindComments" />778</context>779780<context name="NestedAtRule" attribute="Normal Text" lineEndContext="#stay">781<DetectSpaces />782<DetectChar attribute="Normal Text" context="#pop!RuleSet" char="{" beginRegion="ruleset" />783<IncludeRules context="AtRuleValue" />784</context>785786<context name="AtRule" attribute="Normal Text" lineEndContext="#pop">787<DetectSpaces />788<DetectChar attribute="Separator Symbol" context="#pop" char=";" />789<DetectChar attribute="Normal Text" context="#pop" char="}" endRegion="ruleset" />790<IncludeRules context="AtRuleValue" />791</context>792793<context name="UnknownAtRule" attribute="Normal Text" lineEndContext="#pop">794<DetectSpaces />795<DetectChar attribute="Separator Symbol" context="#pop" char=";" />796<DetectChar attribute="Normal Text" context="#pop!RuleSet" char="{" beginRegion="ruleset" />797<DetectChar attribute="Normal Text" context="#pop" char="}" endRegion="ruleset" />798<IncludeRules context="AtRuleValue" />799</context>800801<context name="AtRuleValue" attribute="Normal Text" lineEndContext="#stay">802<DetectChar attribute="Operator" context="#stay" char="&" />803<IncludeRules context="FindComments" />804<IncludeRules context="FindStrings" />805<IncludeRules context="FindFunctions" />806<keyword attribute="Keyword" context="#stay" String="media operators" />807<RegExpr attribute="Property" context="#stay" String="[A-Za-z_-]+(?=\s*:)" />808<keyword attribute="Value" context="#stay" String="medias" />809<IncludeRules context="FindValues" />810<!-- auto-completion only -->811<keyword attribute="Normal Text" context="#stay" String="functions" />812</context>813814<context name="SelectorAttr" attribute="Selector Attribute" lineEndContext="#stay">815<DetectChar attribute="Selector Attribute" context="#pop" char="]" />816<IncludeRules context="FindStrings" />817<DetectChar attribute="Operator" context="SelectorAttrValue" char="=" />818<Detect2Chars attribute="Operator" context="SelectorAttrValue" char="~" char1="=" />819<Detect2Chars attribute="Operator" context="SelectorAttrValue" char="^" char1="=" />820<Detect2Chars attribute="Operator" context="SelectorAttrValue" char="$" char1="=" />821<Detect2Chars attribute="Operator" context="SelectorAttrValue" char="*" char1="=" />822<Detect2Chars attribute="Operator" context="SelectorAttrValue" char="|" char1="=" />823<DetectIdentifier />824</context>825826<context name="SelectorAttrValue" attribute="String" lineEndContext="#stay">827<DetectChar attribute="Selector Attribute" context="#pop#pop" char="]" />828<DetectIdentifier />829</context>830831<context name="SelectorPseudo" attribute="Selector Pseudo" lineEndContext="#pop">832<DetectChar attribute="Selector Pseudo" context="SelectorPseudoElements" char=":" />833<keyword attribute="Selector Pseudo" context="SelectorPseudoValueSelector" String="pseudoclass-selector" />834<keyword attribute="Selector Pseudo" context="SelectorPseudoValue" String="pseudoclasses" />835<RegExpr attribute="Selector Pseudo" context="SelectorPseudoValue" String="[-a-zA-Z][-a-zA-Z0-9]*" />836</context>837838<context name="SelectorPseudoElements" attribute="Selector Pseudo" lineEndContext="#pop#pop">839<keyword attribute="Selector Pseudo" context="#pop!SelectorPseudoValue" String="pseudoelements" />840<RegExpr attribute="Selector Pseudo" context="#pop!SelectorPseudoValue" String="[-a-zA-Z][-a-zA-Z0-9]*" />841</context>842843<context name="SelectorPseudoValueSelector" attribute="Selector Pseudo" lineEndContext="#pop#pop" fallthrough="true" fallthroughContext="#pop#pop">844<DetectChar attribute="Selector Pseudo" context="SelectorPseudoValueCloseSelector" char="(" />845</context>846847<context name="SelectorPseudoValueCloseSelector" attribute="Normal Text" lineEndContext="#stay">848<DetectSpaces />849<DetectChar attribute="Selector Pseudo" context="#pop#pop#pop" char=")" />850<DetectChar attribute="Error" context="#pop#pop#pop!RuleSet" char="{" beginRegion="ruleset" />851<IncludeRules context="FindSelector" />852</context>853854<context name="SelectorPseudoValue" attribute="Selector Pseudo" lineEndContext="#pop#pop" fallthrough="true" fallthroughContext="#pop#pop">855<DetectChar attribute="Selector Pseudo" context="SelectorPseudoValueClose" char="(" />856</context>857858<context name="SelectorPseudoValueClose" attribute="Selector Pseudo" lineEndContext="#pop#pop#pop">859<DetectChar attribute="Selector Pseudo" context="#pop#pop#pop" char=")" />860<DetectIdentifier />861</context>862863<context name="Comment" attribute="Comment" lineEndContext="#stay">864<DetectSpaces />865<Detect2Chars attribute="Comment" context="#pop#pop" char="*" char1="/" endRegion="comment" />866<IncludeRules context="##Comments" />867<DetectIdentifier />868</context>869870<context name="RuleSet" attribute="Normal Text" lineEndContext="#stay">871<DetectSpaces />872<DetectChar attribute="Normal Text" context="#pop" char="}" endRegion="ruleset" />873<RegExpr attribute="Property" context="Rule" String="[A-Za-z_-]+\s*:($|[/{\s0-9$"'])" lookAhead="true" />874<IncludeRules context="Base" />875<!-- auto-completion only, includes by a previous rule -->876<keyword attribute="Normal Text" context="#stay" String="properties" />877</context>878879<context name="Rule" attribute="Normal Text" lineEndContext="#stay">880<DetectChar attribute="Normal Text" context="RuleParameters" char=":" />881<Detect2Chars attribute="Variable" context="IsVariable" char="-" char1="-" />882<keyword attribute="Property" context="#stay" String="properties" />883<RegExpr attribute="Unknown Property" context="#stay" String="[^:]+" />884</context>885886<context name="IsVariable" attribute="Normal Text" lineEndContext="#pop">887<DetectChar attribute="Normal Text" context="#pop!RuleParameters" char=":" />888<RegExpr attribute="Variable" context="#stay" String="[^:]+" />889</context>890891<context name="RuleParameters" attribute="Normal Text" lineEndContext="#stay">892<DetectSpaces />893<!-- Jump out conditions -->894<DetectChar attribute="Separator Symbol" context="#pop#pop" char=";" />895<DetectChar attribute="Separator Symbol" context="#stay" char="," />896<DetectChar attribute="Normal Text" context="#pop#pop#pop" char="}" endRegion="ruleset" />897<DetectChar attribute="Normal Text" context="SubRule" char="{" beginRegion="ruleset" />898<IncludeRules context="FindComments" />899<IncludeRules context="FindStrings" />900<IncludeRules context="FindFunctions" />901<IncludeRules context="FindValues" />902<!-- auto-completion only -->903<keyword attribute="Normal Text" context="#stay" String="functions" />904</context>905906<context name="SubRule" attribute="Normal Text" lineEndContext="#stay">907<DetectSpaces />908<IncludeRules context="FindComments" />909<DetectChar attribute="Normal Text" context="#pop#pop#pop" char="}" endRegion="ruleset" />910<RegExpr attribute="Property" context="IsProperty" String="[A-Za-z_-]+(?=\s*:)" />911<RegExpr attribute="Variable" context="VariableDefine" String="\$[a-zA-Z0-9\-_]+(?=\s*:)" />912<Detect2Chars attribute="Interpolation" context="InterpolationMaybeProperty" char="#" char1="{" />913<DetectIdentifier />914<AnyChar attribute="Error" context="#stay" String="*>+~|.#" />915<!-- auto-completion only, includes by previous rule -->916<keyword attribute="Normal Text" context="#stay" String="properties" />917<keyword attribute="Normal Text" context="#stay" String="sub-properties" />918</context>919920<context name="Function" attribute="Normal Text" lineEndContext="#stay">921<DetectChar attribute="Function" context="FunctionParameters" char="(" />922<StringDetect attribute="Function" context="FunctionVar" String="var(" />923<StringDetect attribute="Function" context="FunctionUrl" String="url(" />924<StringDetect attribute="Function" context="FunctionCalc" String="calc(" />925<keyword attribute="Function" context="#stay" String="functions" />926<RegExpr attribute="Function" context="#stay" String="[-a-zA-Z][-a-zA-Z0-9]*" />927</context>928929<context name="FunctionVar" attribute="Variable" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop!FunctionParameters">930<DetectSpaces />931<IncludeRules context="FindComments" />932<RegExpr attribute="Variable" context="#pop!FunctionParameters" String="--[^ \t\),]+" />933</context>934935<context name="FunctionCalc" attribute="Normal Text" lineEndContext="#stay">936<DetectSpaces />937<DetectChar attribute="Function" context="#pop#pop" char=")" />938<IncludeRules context="Calc" />939</context>940941<context name="NestedCalc" attribute="Normal Text" lineEndContext="#stay">942<DetectSpaces />943<DetectChar attribute="Normal Text" context="#pop" char=")" />944<IncludeRules context="Calc" />945</context>946947<context name="Calc" attribute="Normal Text" lineEndContext="#stay">948<DetectChar attribute="Separator Symbol" context="#stay" char="," />949<DetectChar attribute="Normal Text" context="NestedCalc" char="(" />950<IncludeRules context="FindComments" />951<IncludeRules context="FindStrings" />952<IncludeRules context="FindFunctions" />953<IncludeRules context="FindValues" />954<RegExpr attribute="Operator" context="#stay" String="[-](?=$|[ \t(,;])|[+](?=$|[^0-9)])|[/*]" />955<!-- auto-completion only -->956<keyword attribute="Normal Text" context="#stay" String="functions" />957</context>958959<context name="FunctionUrl" attribute="Normal Text" lineEndContext="#stay" fallthrough="true" fallthroughContext="UrlValue">960<DetectSpaces />961<IncludeRules context="FindStrings" />962<DetectChar attribute="Function" context="#pop#pop" char=")" />963</context>964965<context name="UrlValue" attribute="String" lineEndContext="#stay">966<DetectChar attribute="Function" context="#pop#pop#pop" char=")" />967</context>968969<context name="FunctionParameters" attribute="Normal Text" lineEndContext="#stay">970<DetectSpaces />971<DetectChar attribute="Function" context="#pop#pop" char=")" />972<IncludeRules context="FindComments" />973<IncludeRules context="FindStrings" />974<IncludeRules context="FindFunctions" />975<IncludeRules context="FindValues" />976<DetectChar attribute="Separator Symbol" context="#stay" char="," />977<StringDetect attribute="Operator" String="..." />978</context>979980<!-- string contexts -->981<context name="StringDQ" attribute="String" lineEndContext="#stay">982<DetectChar attribute="String" context="#pop" char=""" />983<IncludeRules context="InsideString" />984</context>985986<context name="StringSQ" attribute="String" lineEndContext="#stay">987<DetectChar attribute="String" context="#pop" char="'" />988<IncludeRules context="InsideString" />989</context>990991<context name="InsideString" attribute="String" lineEndContext="#stay">992<Detect2Chars attribute="Interpolation" context="Interpolation" char="#" char1="{" />993<RegExpr attribute="SpecialChar" context="#stay" String="\\([0-9A-Fa-f]{1,6}|.?)" />994<RegExpr attribute="String" context="#stay" String="\\?[^#"'\\]+" />995</context>996997</contexts>998999<itemDatas>1000<itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false"/>1001<itemData name="At Rule" defStyleNum="dsImport" spellChecking="false"/>1002<itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="false"/>1003<itemData name="Property" defStyleNum="dsKeyword" spellChecking="false"/>1004<itemData name="Unknown Property" defStyleNum="dsNormal" spellChecking="false"/>1005<itemData name="String" defStyleNum="dsString"/>1006<itemData name="SpecialChar" defStyleNum="dsSpecialChar" spellChecking="false"/>1007<itemData name="Interpolation" defStyleNum="dsOperator" spellChecking="false"/>1008<itemData name="Operator" defStyleNum="dsOperator" spellChecking="false"/>1009<itemData name="Separator Symbol" defStyleNum="dsOperator" spellChecking="false"/>1010<itemData name="Value" defStyleNum="dsDecVal" spellChecking="false"/>1011<itemData name="Number" defStyleNum="dsDecVal" spellChecking="false"/>1012<itemData name="Value Keyword" defStyleNum="dsBuiltIn" spellChecking="false"/>1013<itemData name="Color" defStyleNum="dsConstant" spellChecking="false"/>1014<itemData name="Unit" defStyleNum="dsDataType" spellChecking="false"/>1015<itemData name="Variable" defStyleNum="dsVariable" spellChecking="false"/>1016<itemData name="Function" defStyleNum="dsFunction" spellChecking="false"/>1017<itemData name="Annotation" defStyleNum="dsAttribute" spellChecking="false"/>1018<itemData name="Selector Id" defStyleNum="dsPreprocessor" bold="1" spellChecking="false"/>1019<itemData name="Selector Class" defStyleNum="dsFunction" spellChecking="false"/>1020<itemData name="Selector Attribute" defStyleNum="dsExtension" spellChecking="false"/>1021<itemData name="Selector Pseudo" defStyleNum="dsInformation" italic="1" spellChecking="false"/>1022<itemData name="Selector Tag" defStyleNum="dsNormal" spellChecking="false"/>1023<itemData name="Placeholder Selector" defStyleNum="dsBuiltIn" spellChecking="false"/>1024<itemData name="Comment" defStyleNum="dsComment" />1025<itemData name="Region Marker" defStyleNum="dsRegionMarker" spellChecking="false"/>1026<itemData name="Error" defStyleNum="dsError" spellChecking="false"/>1027</itemDatas>1028</highlighting>10291030<general>1031<keywords casesensitive="0" weakDeliminator="-%@" />1032<comments>1033<comment name="singleLine" start="//" position="afterwhitespace" />1034<comment name="multiLine" start="/*" end="*/" region="comment" />1035</comments>1036</general>10371038</language>1039<!-- kate: replace-tabs on; tab-width 4; indent-width 4; -->104010411042