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