Warning, /frameworks/syntax-highlighting/data/syntax/less.xml is written in an unsupported language. File is not indexed.
0001 <?xml version="1.0" encoding="UTF-8"?> 0002 <!DOCTYPE language 0003 [ 0004 <!-- http://www.w3.org/TR/CSS21/syndata.html#tokenization --> 0005 <!ENTITY nmstart "[_a-zA-Z]|(\\[0-9a-fA-F]{1,6})|(\\[^\n\r\f0-9a-fA-F])"> 0006 <!ENTITY nmchar "[_a-zA-Z0-9-]|(\\[0-9a-fA-F]{1,6})|(\\[^\n\r\f0-9a-fA-F])"> 0007 ]> 0008 <language name="LESSCSS" version="8" kateversion="5.53" section="Markup" extensions="*.less" mimetype="text/css" 0009 author="from CCS:Wilbert Berendsen (wilbert@kde.nl)" license="LGPL"> 0010 <!-- 0011 Version 3 (2017-05-10): 0012 - rebased on SCSS syntax version 4 (by Guo Yunhe guoyunhebrave@gmail.com) 0013 - added some CSS colours and properties 0014 --> 0015 0016 <highlighting> 0017 <list name="properties"> 0018 <include>properties##CSS</include> 0019 <include>within-@font-face##CSS</include> 0020 </list> 0021 0022 <list name="values"> 0023 <include>values##CSS</include> 0024 </list> 0025 0026 <list name="value keywords"> 0027 <include>value keywords##CSS</include> 0028 </list> 0029 0030 <list name="colors"> 0031 <include>colors##CSS</include> 0032 </list> 0033 0034 <list name="functions"> 0035 <include>functions##CSS</include> 0036 0037 <!-- Less functions, @see http://lesscss.org/functions/ --> 0038 0039 <!-- Misc Functions --> 0040 <item>color</item> 0041 <item>convert</item> 0042 <item>data-uri</item> 0043 <item>default</item> 0044 <item>get-unit</item> 0045 <item>image-height</item> 0046 <item>image-size</item> 0047 <item>image-width</item> 0048 <item>svg-gradient</item> 0049 <item>unit</item> 0050 0051 <!-- String Functions --> 0052 <item>%</item> 0053 <item>e</item> 0054 <item>escape</item> 0055 <item>replace</item> 0056 0057 <!-- List Functions --> 0058 <item>extract</item> 0059 <item>length</item> 0060 0061 <!-- Math Functions --> 0062 <item>abs</item> 0063 <item>acos</item> 0064 <item>asin</item> 0065 <item>atan</item> 0066 <item>ceil</item> 0067 <item>cos</item> 0068 <item>floor</item> 0069 <item>max</item> 0070 <item>min</item> 0071 <item>mod</item> 0072 <item>percentage</item> 0073 <item>pi</item> 0074 <item>pow</item> 0075 <item>round</item> 0076 <item>sin</item> 0077 <item>sqrt</item> 0078 <item>tan</item> 0079 0080 <!-- Type Functions --> 0081 <item>iscolor</item> 0082 <item>isem</item> 0083 <item>iskeyword</item> 0084 <item>isnumber</item> 0085 <item>ispercentage</item> 0086 <item>ispixel</item> 0087 <item>isruleset</item> 0088 <item>isstring</item> 0089 <item>isunit</item> 0090 <item>isurl</item> 0091 0092 <!-- Color Definition Functions --> 0093 <item>argb</item> 0094 <item>hsl</item> 0095 <item>hsla</item> 0096 <item>hsv</item> 0097 <item>hsva</item> 0098 <item>rgb</item> 0099 <item>rgba</item> 0100 0101 <!-- Color Channel Functions --> 0102 <item>alpha</item> 0103 <item>blue</item> 0104 <item>green</item> 0105 <item>hsvhue</item> 0106 <item>hsvsaturation</item> 0107 <item>hsvvalue</item> 0108 <item>hue</item> 0109 <item>lightness</item> 0110 <item>luma</item> 0111 <item>luminance</item> 0112 <item>red</item> 0113 <item>saturation</item> 0114 0115 <!-- Color Operation Functions --> 0116 <item>contrast</item> 0117 <item>darken</item> 0118 <item>desaturate</item> 0119 <item>fade</item> 0120 <item>fadein</item> 0121 <item>fadeout</item> 0122 <item>greyscale</item> 0123 <item>lighten</item> 0124 <item>mix</item> 0125 <item>saturate</item> 0126 <item>shade</item> 0127 <item>spin</item> 0128 <item>tint</item> 0129 0130 <!-- Color Blending Functions --> 0131 <item>average</item> 0132 <item>difference</item> 0133 <item>exclusion</item> 0134 <item>hardlight</item> 0135 <item>multiply</item> 0136 <item>negation</item> 0137 <item>overlay</item> 0138 <item>screen</item> 0139 <item>softlight</item> 0140 </list> 0141 0142 <list name="mediatypes"> 0143 <item>all</item> 0144 <item>aural</item> 0145 <item>braille</item> 0146 <item>embossed</item> 0147 <item>handheld</item> 0148 <item>print</item> 0149 <item>projection</item> 0150 <item>screen</item> 0151 <item>speech</item> 0152 <item>tty</item> 0153 <item>tv</item> 0154 </list> 0155 0156 <list name="mediatypes_op"> 0157 <include>media operators##CSS</include> 0158 <item>or</item> 0159 </list> 0160 0161 <list name="media_features"> 0162 <item>width</item> 0163 <item>min-width</item> 0164 <item>max-width</item> 0165 <item>height</item> 0166 <item>min-height</item> 0167 <item>max-height</item> 0168 <item>device-width</item> 0169 <item>min-device-width</item> 0170 <item>max-device-width</item> 0171 <item>device-height</item> 0172 <item>min-device-height</item> 0173 <item>max-device-height</item> 0174 <item>orientation</item> 0175 <item>aspect-ratio</item> 0176 <item>min-aspect-ratio</item> 0177 <item>max-aspect-ratio</item> 0178 <item>device-aspect-ratio</item> 0179 <item>min-device-aspect-ratio</item> 0180 <item>max-device-aspect-ratio</item> 0181 <item>color</item> 0182 <item>min-color</item> 0183 <item>max-color</item> 0184 <item>color-index</item> 0185 <item>min-color-index</item> 0186 <item>max-color-index</item> 0187 <item>monochrome</item> 0188 <item>min-monochrome</item> 0189 <item>max-monochrome</item> 0190 <item>resolution</item> 0191 <item>min-resolution</item> 0192 <item>max-resolution</item> 0193 <item>scan</item> 0194 <item>grid</item> 0195 </list> 0196 0197 <list name="pseudoclasses"> 0198 <include>pseudoclasses##CSS</include> 0199 <!-- Less --> 0200 <item>extend</item> 0201 </list> 0202 0203 <contexts> 0204 <context attribute="Normal Text" lineEndContext="#stay" name="Base"> 0205 <IncludeRules context="FindComments"/> 0206 0207 <DetectChar attribute="Normal Text" beginRegion="ruleset" char="{" context="RuleSet"/> 0208 <RegExpr attribute="Variable" context="VariableDefine" String="\@[a-zA-Z0-9\-_]+\s*:"/> 0209 <RegExpr attribute="At Rule" context="AtRule" String="@[a-zA-Z0-1\-]+\b"/> 0210 0211 <IncludeRules context="FindSelectors"/> 0212 </context> 0213 0214 <!-- find selectors // .class #id :hover :nth-child(2n+1) [type="search"] --> 0215 <context attribute="Normal Text" lineEndContext="#stay" name="FindSelectors"> 0216 <IncludeRules context="FindInterpolation"/> 0217 0218 <DetectChar attribute="Annotation" context="Annotation" char="!"/> 0219 <DetectChar attribute="Selector Attribute" char="[" context="SelectorAttr"/> 0220 <RegExpr attribute="Selector Id" context="#stay" String="#(-)?(&nmstart;)(&nmchar;)*"/> 0221 <RegExpr attribute="Selector Class" context="#stay" 0222 String="\.([a-zA-Z0-9\-_]|[\x80-\xFF]|\\[0-9A-Fa-f]{1,6})*"/> 0223 <RegExpr attribute="Selector Pseudo" context="#stay" String=":lang\([\w_\-]+\)"/> 0224 <DetectChar attribute="Selector Pseudo" char=":" context="SelectorPseudo"/> 0225 <RegExpr attribute="Control Flow" context="Condition" String="when\s*(not)?(?=\s*\()"/> 0226 <DetectChar attribute="Normal Text" char="(" context="Function" lookAhead="true"/> 0227 0228 <IncludeRules context="FindVariables"/> 0229 </context> 0230 0231 <context attribute="Normal Text" lineEndContext="#stay" name="Condition"> 0232 <IncludeRules context="FindFunctions"/> 0233 <IncludeRules context="FindVariables"/> 0234 <IncludeRules context="FindValues"/> 0235 0236 <DetectChar attribute="Normal Text" char=")" context="#pop"/> 0237 </context> 0238 0239 <!-- find variables // @page-width --> 0240 <context attribute="Normal Text" lineEndContext="#stay" name="FindVariables"> 0241 <RegExpr attribute="Variable" context="#stay" String="[\@]{1,2}[a-zA-Z0-9\-_]+"/> 0242 </context> 0243 0244 <context attribute="Normal Text" lineEndContext="#stay" name="FindInterpolation"> 0245 <!-- @{variable} --> 0246 <RegExpr attribute="Variable" context="Interpolation" String="\@\{\s*[a-zA-Z0-9\-_]+"/> 0247 </context> 0248 0249 <!-- find functions // rgba(255,255,255,0.75) --> 0250 <context attribute="Normal Text" lineEndContext="#stay" name="FindFunctions"> 0251 <RegExpr attribute="Function" context="Function" String="[a-z\-]+\(" lookAhead="true"/> 0252 </context> 0253 0254 <!-- find values // 10px 12pt 2.5em 1rem 75% #ffcc99 red solid --> 0255 <context attribute="Normal Text" lineEndContext="#stay" name="FindValues"> 0256 <DetectChar attribute="Annotation" context="Annotation" char="!"/> 0257 0258 <IncludeRules context="FindInterpolation"/> 0259 <IncludeRules context="FindVariables"/> 0260 0261 <keyword attribute="Value Keyword" context="#stay" String="value keywords"/> 0262 <keyword attribute="Value" context="#stay" String="values"/> 0263 <keyword attribute="Color" context="#stay" String="colors"/> 0264 <RegExpr attribute="Color" context="#stay" String="#([0-9A-Fa-f]{3,4}){1,2}\b"/> 0265 <RegExpr attribute="Number" context="FindUnits" String="[-+]?([0-9]+(\.[0-9]+)?|\.[0-9]+)([eE][+-]?[0-9]+)?(?![-+])"/> 0266 <RegExpr attribute="Value" context="#stay" String="[-+]?[0-9.]+[%]?"/> 0267 <RegExpr attribute="Normal Text" context="#stay" String="[\w\-]+"/> 0268 </context> 0269 0270 <context name="Annotation" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop"> 0271 <WordDetect attribute="Annotation" context="#pop" String="important"/> 0272 <WordDetect attribute="Annotation" context="#pop" String="default"/> 0273 </context> 0274 0275 <context name="FindUnits" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop"> 0276 <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)"/> 0277 </context> 0278 0279 <!-- find strings // "some words" 'some words' --> 0280 <context attribute="Normal Text" lineEndContext="#stay" name="FindStrings"> 0281 <DetectChar attribute="String" context="StringDQ" char="""/> 0282 <DetectChar attribute="String" context="StringSQ" char="'"/> 0283 </context> 0284 0285 <!-- find comments // /* comment */ // comment --> 0286 <context attribute="Normal Text" lineEndContext="#stay" name="FindComments"> 0287 <RegExpr attribute="Region Marker" context="#stay" String="/\*BEGIN.*\*/|//\s*BEGIN.*" beginRegion="UserDefined"/> 0288 <RegExpr attribute="Region Marker" context="#stay" String="/\*END.*\*/|//\s*END.*" endRegion="UserDefined"/> 0289 <Detect2Chars attribute="Comment" context="Comment" char="/" char1="*" beginRegion="comment"/> 0290 <Detect2Chars attribute="Comment" context="LessComment" char="/" char1="/" /> 0291 </context> 0292 0293 <context attribute="Normal Text" lineEndContext="#pop" name="AtRule"> 0294 <IncludeRules context="FindComments"/> 0295 <IncludeRules context="FindStrings"/> 0296 0297 <keyword attribute="Value" context="#stay" String="mediatypes"/> 0298 <keyword attribute="Control Flow" context="#stay" String="mediatypes_op"/> 0299 <keyword attribute="Property" context="#stay" String="media_features"/> 0300 <AnyChar attribute="Normal Text" context="#pop" lookAhead="true" String=";{"/> 0301 0302 <IncludeRules context="FindInterpolation"/> 0303 <IncludeRules context="FindVariables"/> 0304 <IncludeRules context="FindValues"/> 0305 </context> 0306 0307 <context attribute="Normal Text" lineEndContext="#stay" name="VariableDefine"> 0308 <IncludeRules context="FindInterpolation"/> 0309 <IncludeRules context="FindVariables"/> 0310 0311 <DetectChar attribute="Normal Text" beginRegion="ruleset" char="{" context="#pop!RuleSet"/> 0312 0313 <IncludeRules context="FindComments"/> 0314 <IncludeRules context="FindStrings"/> 0315 <IncludeRules context="FindFunctions"/> 0316 <IncludeRules context="FindValues"/> 0317 0318 <DetectChar attribute="Normal Text" char=";" context="#pop"/> 0319 </context> 0320 0321 <!-- Interpolation --> 0322 <context attribute="Normal Text" lineEndContext="#stay" name="Interpolation"> 0323 <IncludeRules context="FindInterpolation"/> 0324 <IncludeRules context="FindVariables"/> 0325 0326 <DetectChar attribute="Variable" char="}" context="#pop"/> 0327 </context> 0328 0329 <context attribute="Selector Attribute" lineEndContext="#stay" name="SelectorAttr"> 0330 <DetectChar attribute="Selector Attribute" char="]" context="#pop"/> 0331 0332 <IncludeRules context="FindStrings"/> 0333 </context> 0334 0335 <context attribute="Selector Pseudo" fallthrough="true" fallthroughContext="#pop" lineEndContext="#pop" 0336 name="SelectorPseudo"> 0337 <RegExpr attribute="Selector Pseudo" context="SelectorPseudoParameters" String="extend(?=\s*\()"/> 0338 <keyword attribute="Selector Pseudo" context="#pop" String="pseudoclasses"/> 0339 </context> 0340 0341 <context attribute="Normal Text" lineEndContext="#stay" name="SelectorPseudoParameters"> 0342 <DetectChar attribute="Normal Text" char="(" context="#stay"/> 0343 0344 <IncludeRules context="FindSelectors"/> 0345 0346 <DetectChar attribute="Normal Text" char=")" context="#pop#pop"/> 0347 </context> 0348 0349 <context attribute="Comment" lineEndContext="#pop" name="LessComment"> 0350 <DetectSpaces /> 0351 <IncludeRules context="##Comments"/> 0352 </context> 0353 0354 <context attribute="Comment" lineEndContext="#stay" name="Comment"> 0355 <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="comment"/> 0356 0357 <DetectSpaces /> 0358 <IncludeRules context="##Comments"/> 0359 </context> 0360 0361 <context attribute="Normal Text" lineEndContext="#stay" name="RuleSet"> 0362 <DetectChar attribute="Normal Text" char="{" context="RuleSet" beginRegion="ruleset"/> 0363 <DetectChar attribute="Normal Text" char="}" context="#pop" endRegion="ruleset"/> 0364 <!-- find CSS property, like border-radius with optional + or +- decorators --> 0365 <!-- as above, but include support for interpolation --> 0366 <RegExpr attribute="Property" context="Rule" 0367 String="-?[A-Za-z_\-]+(?=\s*(\+|\+_)?\s*:)|-?[A-Za-z_\-]*@{\s*[a-zA-Z0-9\-_]+}[A-Za-z_\-]*(?=\s*(\+|\+_)?\s*:)" lookAhead="true" 0368 /> 0369 0370 <IncludeRules context="Base"/> 0371 </context> 0372 0373 <context attribute="Normal Text" lineEndContext="#stay" name="Rule"> 0374 <IncludeRules context="FindInterpolation"/> 0375 0376 <RegExpr attribute="Normal Text" context="RuleParameters" String="(\+|\+_)?\s*:"/> 0377 <keyword attribute="Property" context="#stay" String="properties"/> 0378 <RegExpr attribute="Unknown Property" context="#stay" String="\S"/> 0379 </context> 0380 0381 <context attribute="Normal Text" lineEndContext="#stay" name="RuleParameters"> 0382 <IncludeRules context="FindComments"/> 0383 <IncludeRules context="FindStrings"/> 0384 <IncludeRules context="FindFunctions"/> 0385 <IncludeRules context="FindValues"/> 0386 0387 <DetectChar attribute="Normal Text" context="#pop#pop" char=";"/> 0388 <DetectChar attribute="Normal Text" context="#pop#pop#pop" char="}" endRegion="ruleset"/> 0389 </context> 0390 0391 <context attribute="Normal Text" lineEndContext="#stay" name="Function"> 0392 <DetectChar attribute="Normal Text" char="(" context="FunctionParameters"/> 0393 <keyword attribute="Function" context="#stay" String="functions"/> 0394 </context> 0395 0396 <context attribute="Normal Text" lineEndContext="#stay" name="FunctionParameters"> 0397 <IncludeRules context="FindComments"/> 0398 <IncludeRules context="FindStrings"/> 0399 <IncludeRules context="FindInterpolation"/> 0400 <IncludeRules context="FindVariables"/> 0401 <IncludeRules context="FindFunctions"/> 0402 <IncludeRules context="FindValues"/> 0403 0404 <DetectChar attribute="Normal Text" context="#pop#pop" char=")"/> 0405 </context> 0406 0407 <!-- string contexts --> 0408 <context attribute="String" lineEndContext="#stay" name="StringDQ"> 0409 <DetectChar attribute="String" char=""" context="#pop"/> 0410 0411 <IncludeRules context="InsideString"/> 0412 </context> 0413 0414 <context attribute="String" lineEndContext="#stay" name="StringSQ"> 0415 <DetectChar attribute="String" char="'" context="#pop"/> 0416 0417 <IncludeRules context="InsideString"/> 0418 </context> 0419 0420 <context attribute="String" lineEndContext="#stay" name="InsideString"> 0421 <RegExpr attribute="String" context="#stay" String="\\["']"/> 0422 0423 <IncludeRules context="FindInterpolation"/> 0424 0425 <DetectIdentifier/> 0426 </context> 0427 </contexts> 0428 0429 <itemDatas> 0430 <itemData defStyleNum="dsNormal" name="Normal Text" spellChecking="false"/> 0431 <itemData defStyleNum="dsVariable" name="Variable" spellChecking="false"/> 0432 <itemData defStyleNum="dsControlFlow" name="Control Flow" spellChecking="false"/> 0433 <itemData defStyleNum="dsImport" name="At Rule" spellChecking="false"/> 0434 <itemData defStyleNum="dsKeyword" name="Property" spellChecking="false"/> 0435 <itemData defStyleNum="dsNormal" italic="1" name="Unknown Property" spellChecking="false"/> 0436 <itemData defStyleNum="dsString" name="String"/> 0437 <itemData defStyleNum="dsDecVal" name="Value" spellChecking="false"/> 0438 <itemData defStyleNum="dsDecVal" name="Number" spellChecking="false"/> 0439 <itemData defStyleNum="dsBuiltIn" name="Value Keyword" spellChecking="false"/> 0440 <itemData defStyleNum="dsConstant" name="Color" spellChecking="false"/> 0441 <itemData defStyleNum="dsDataType" name="Unit" spellChecking="false"/> 0442 <itemData defStyleNum="dsBuiltIn" name="Function" spellChecking="false"/> 0443 <itemData defStyleNum="dsAttribute" name="Annotation" spellChecking="false"/> 0444 <itemData bold="1" defStyleNum="dsPreprocessor" name="Selector Id" spellChecking="false"/> 0445 <itemData defStyleNum="dsFunction" name="Selector Class" spellChecking="false"/> 0446 <itemData defStyleNum="dsExtension" name="Selector Attribute" spellChecking="false"/> 0447 <itemData defStyleNum="dsInformation" name="Selector Pseudo" spellChecking="false"/> 0448 <itemData defStyleNum="dsComment" name="Comment"/> 0449 <itemData defStyleNum="dsRegionMarker" name="Region Marker" spellChecking="false"/> 0450 </itemDatas> 0451 </highlighting> 0452 0453 <general> 0454 <keywords casesensitive="0" weakDeliminator="-%"/> 0455 <comments> 0456 <comment name="multiLine" start="/*" end="*/" region="comment"/> 0457 <comment name="singleLine" start="//" position="afterwhitespace"/> 0458 </comments> 0459 </general> 0460 </language> 0461 <!-- kate: replace-tabs on; tab-width 4; indent-width 4; -->