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="&quot;"/>
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="&quot;" 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="\\[&quot;']"/>
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; -->