Warning, /frameworks/syntax-highlighting/data/syntax/kotlin.xml is written in an unsupported language. File is not indexed.

0001 <?xml version="1.0" encoding="UTF-8"?>
0002 <!DOCTYPE language
0003 [
0004     <!ENTITY int "(?:[0-9]++(_++[0-9]++)*+)">
0005     <!ENTITY hex "(?:[0-9a-fA-F]++(_++[0-9a-fA-F]++)*+)">
0006     <!ENTITY exp "(?:[eE][-+]?&int;)">
0007     <!ENTITY float "(\b&int;(\.((&int;&exp;?+|&exp;)[fF]?\b|[fF]\b)?|&exp;[fF]?\b|[fF]\b)|\.&int;&exp;?[fF]?\b)">
0008     <!ENTITY hexfloat "\b0[xX](&hex;\.?+&hex;?+|\.&hex;?)[pP][-+]?&int;[fF]?\b">
0009 ]>
0010 <!-- kotlin language syntax http://kotlinlang.org -->
0011 <language name="Kotlin" version="10" kateversion="5.62" section="Sources" extensions="*.kt;*.kts" license="LGPLv2+" author="Sergey Mashkov (sergey.mashkov@jetbrains.com)" style="cstyle" indenter="cstyle">
0012     <highlighting>
0013         <list name="keywords">
0014             <item>package</item>
0015             <item>import</item>
0016 
0017             <item>sealed</item>
0018             <item>data</item>
0019             <item>class</item>
0020             <item>enum</item>
0021             <item>interface</item>
0022             <item>companion</item>
0023             <item>object</item>
0024 
0025             <item>private</item>
0026             <item>public</item>
0027             <item>protected</item>
0028             <item>internal</item>
0029             <item>open</item>
0030             <item>final</item>
0031 
0032             <item>get</item>
0033             <item>set</item>
0034             <item>fun</item>
0035             <item>var</item>
0036             <item>val</item>
0037             <item>constructor</item>
0038 
0039             <item>inline</item>
0040             <item>reified</item>
0041             <item>crossinline</item>
0042             <item>tailrec</item>
0043 
0044             <item>in</item>
0045             <item>out</item>
0046             <item>is</item>
0047             <item>as</item>
0048             <item>by</item>
0049             <item>where</item>
0050 
0051             <item>vararg</item>
0052             <item>get</item>
0053             <item>set</item>
0054 
0055             <item>return</item>
0056             <item>throw</item>
0057 
0058             <item>typealias</item>
0059             <item>typeof</item>
0060             <item>override</item>
0061             <item>infix</item>
0062             <item>operator</item>
0063         </list>
0064         <list name="controlFlowKeyword">
0065             <item>if</item>
0066             <item>else</item>
0067             <item>when</item>
0068 
0069             <item>for</item>
0070             <item>while</item>
0071             <item>do</item>
0072 
0073             <item>try</item>
0074             <item>catch</item>
0075             <item>finally</item>
0076 
0077             <item>continue</item>
0078             <item>break</item>
0079             <item>yield</item>
0080         </list>
0081         <list name="predeclared">
0082             <item>this</item>
0083             <item>super</item>
0084             <item>null</item>
0085             <item>true</item>
0086             <item>false</item>
0087         </list>
0088         <list name="types">
0089             <item>Unit</item>
0090             <item>Nothing</item>
0091 
0092             <item>String</item>
0093             <item>Char</item>
0094 
0095             <item>Int</item>
0096             <item>Long</item>
0097             <item>Byte</item>
0098             <item>Short</item>
0099             <item>Float</item>
0100             <item>Double</item>
0101 
0102             <item>Boolean</item>
0103         </list>
0104 
0105         <contexts>
0106             <context attribute="Normal Text" lineEndContext="#stay" name="Start" fallthroughContext="Normal">
0107                 <Detect2Chars attribute="Comment" context="Shebang" char="#" char1="!" />
0108             </context>
0109             <context attribute="Normal Text" lineEndContext="#pop!Normal" name="Shebang">
0110             </context>
0111 
0112             <context attribute="Normal Text" lineEndContext="#stay" name="Normal">
0113                 <DetectSpaces context="#stay"/>
0114 
0115                 <DetectChar attribute="Symbol" context="Dot" char="." lookAhead="1"/>
0116                 <DetectChar attribute="Symbol" context="#stay" char="{" beginRegion="Brace1"/>
0117                 <DetectChar attribute="Symbol" context="#stay" char="}" endRegion="Brace1"/>
0118                 <DetectChar attribute="Annotation" context="Annotation" char="@" />
0119 
0120                 <Detect2Chars attribute="Comment" context="CommentSingleLine" char="/" char1="/"/>
0121                 <Detect2Chars attribute="Comment" context="CommentMultiline" char="/" char1="*" beginRegion="Comment"/>
0122 
0123                 <AnyChar attribute="Symbol" context="#stay" String="()[]&amp;|+,-/*&lt;=&gt;;!%?:~^"/>
0124 
0125                 <AnyChar context="Number" String="0123456789" lookAhead="1"/>
0126 
0127                 <DetectChar context="String" char="&quot;" lookAhead="1"/>
0128                 <DetectChar context="Char" char="'" lookAhead="1"/>
0129 
0130                 <WordDetect attribute="Keyword" context="VariableDeclaration" String="val"/>
0131                 <WordDetect attribute="Keyword" context="VariableDeclaration" String="var"/>
0132 
0133                 <WordDetect attribute="Keyword" context="FunctionDeclaration" String="fun"/>
0134 
0135                 <WordDetect attribute="Keyword" context="Imports" String="package"/>
0136                 <WordDetect attribute="Keyword" context="Imports" String="import"/>
0137 
0138                 <WordDetect attribute="Keyword" context="TypeDeclaration" String="object"/>
0139                 <WordDetect attribute="Keyword" context="TypeDeclaration" String="class"/>
0140                 <WordDetect attribute="Keyword" context="TypeDeclaration" String="interface"/>
0141 
0142                 <keyword attribute="Keyword" context="#stay" String="predeclared"/>
0143                 <keyword attribute="Keyword" context="#stay" String="keywords"/>
0144                 <keyword attribute="ControlFlowKeyword" context="#stay" String="controlFlowKeyword"/>
0145                 <keyword attribute="Keyword" context="#stay" String="types"/>
0146 
0147                 <DetectIdentifier attribute="Normal Text"/>
0148             </context>
0149 
0150             <context attribute="Normal Text" lineEndContext="#stay" name="Number">
0151                 <IncludeRules context="FindFloat"/>
0152                 <RegExpr attribute="Hex" context="#pop" String="\b0[xX]&hex;[lL]?\b"/>
0153                 <RegExpr attribute="Binary" context="#pop" String="\b0[bB][01]++(_++[01]++)*+[uUlL]?\b"/>
0154                 <RegExpr attribute="Decimal" context="#pop" String="\b(0|[1-9][0-9]*+(_++[0-9_]++)*+)[uUlL]?\b"/>
0155                 <AnyChar attribute="Error" context="#pop" String="0123456789"/>
0156             </context>
0157             <context attribute="Normal Text" lineEndContext="#stay" name="FindFloat">
0158                 <RegExpr attribute="Float" context="#pop" String="&float;|&hexfloat;"/>
0159             </context>
0160 
0161             <context attribute="Normal Text" lineEndContext="#stay" name="Dot">
0162                 <IncludeRules context="FindFloat"/>
0163                 <DetectChar attribute="Symbol" context="#pop" char="." />
0164             </context>
0165 
0166             <context attribute="Normal Text" lineEndContext="#pop" name="Annotation" fallthroughContext="#pop">
0167                 <DetectIdentifier attribute="Annotation" context="#pop"/>
0168             </context>
0169 
0170             <context attribute="Normal Text" lineEndContext="#stay" name="Char">
0171                 <HlCChar attribute="Char" context="#pop"/>
0172                 <RegExpr attribute="Char" context="#pop" String="'\\u[0-9a-fA-F]{4}'"/>
0173                 <RegExpr attribute="Error" context="#pop" String="'(\\(u[0-9a-fA-F]*|.))?'?"/>
0174             </context>
0175 
0176             <context attribute="String" lineEndContext="#pop" name="String">
0177                 <StringDetect attribute="String" context="#pop!MultiLineString" String="&quot;&quot;&quot;" beginRegion="MultiLineString"/>
0178                 <DetectChar attribute="String" context="#pop!SingleLineString" char="&quot;"/>
0179             </context>
0180             <context attribute="String" lineEndContext="#pop" name="SingleLineString">
0181                 <DetectChar context="StringEscapedChar" char="\" lookAhead="1"/>
0182                 <DetectChar context="Interpolation" char="$" lookAhead="1"/>
0183                 <DetectChar attribute="String" context="#pop" char="&quot;"/>
0184             </context>
0185             <context attribute="String" lineEndContext="#stay" name="MultiLineString">
0186                 <DetectChar context="StringEscapedChar" char="\" lookAhead="1"/>
0187                 <DetectChar context="Interpolation" char="$" lookAhead="1"/>
0188                 <DetectChar context="MultiLineStringFinal" char="&quot;" lookAhead="1"/>
0189             </context>
0190             <context attribute="String" lineEndContext="#stay" name="MultiLineStringFinal">
0191                 <StringDetect context="MultiLineStringNoFinal" String="&quot;&quot;&quot;&quot;" lookAhead="1"/>
0192                 <StringDetect attribute="String" context="#pop#pop" String="&quot;&quot;&quot;" endRegion="MultiLineString"/>
0193                 <Detect2Chars attribute="String" context="#pop" char="&quot;" char1="&quot;"/>
0194                 <DetectChar attribute="String" context="#pop" char="&quot;"/>
0195             </context>
0196             <context attribute="String" lineEndContext="#stay" name="MultiLineStringNoFinal">
0197                 <DetectChar attribute="String" context="#pop" char="&quot;"/>
0198             </context>
0199             <context attribute="String" lineEndContext="#pop" name="StringEscapedChar">
0200                 <HlCStringChar attribute="String Char" context="#pop"/>
0201                 <Detect2Chars attribute="String Char" context="#pop" char="\" char1="$"/>
0202                 <RegExpr attribute="String Char" context="#pop" String="\\u[0-9a-fA-F]{4}"/>
0203                 <RegExpr attribute="Error" context="#pop" String="\\(u[0-9a-fA-F]*|.)?"/>
0204             </context>
0205 
0206             <context attribute="String" lineEndContext="#stay" name="Interpolation">
0207                 <Detect2Chars attribute="String Interpolation" context="#pop!InInterpolation" char="$" char1="{"/>
0208                 <DetectChar attribute="String Interpolation" context="#pop!Variable" char="$"/>
0209             </context>
0210             <context attribute="String Interpolation" lineEndContext="#stay" name="InInterpolation">
0211                 <DetectChar attribute="String Interpolation" context="#pop" char="}"/>
0212                 <IncludeRules context="Normal"/>
0213             </context>
0214             <context attribute="String" lineEndContext="#pop" name="Variable" fallthroughContext="#pop">
0215                 <DetectIdentifier attribute="String Interpolation" context="#pop"/>
0216             </context>
0217 
0218             <context attribute="Normal Text" lineEndContext="#pop" name="Imports">
0219                 <AnyChar attribute="Symbol" context="#stay" String=".*"/>
0220                 <WordDetect attribute="Keyword" context="TypeName" String="as" />
0221                 <DetectIdentifier attribute="Imports" context="#stay"/>
0222                 <DetectChar attribute="Symbol" context="#pop" char=";"/>
0223             </context>
0224 
0225             <context name="VariableDeclaration" lineEndContext="#stay" attribute="Normal Text">
0226                 <DetectIdentifier attribute="Variable" context="#pop" />
0227             </context>
0228 
0229             <context name="TypeDeclaration" lineEndContext="#stay" attribute="Normal Text">
0230                 <keyword attribute="Keyword" context="#stay" String="keywords"/>
0231 
0232                 <DetectChar attribute="Symbol" context="TypeParameters" char="&lt;" />
0233                 <DetectChar attribute="Symbol" context="Parameters" char="(" />
0234                 <DetectChar attribute="Symbol" context="SuperTypes" char=":" />
0235                 <DetectChar attribute="Symbol" context="#pop" char="{" lookAhead="true" />
0236             </context>
0237 
0238             <context name="SuperTypes" lineEndContext="#stay" attribute="Normal Text">
0239                 <keyword attribute="Keyword" context="#pop#pop" String="keywords" lookAhead="true" />
0240 
0241                 <DetectChar attribute="Symbol" context="#stay" char="," />
0242                 <DetectChar attribute="Symbol" context="#pop" char="{" lookAhead="true" />
0243                 <DetectChar attribute="Symbol" context="Parameters" char="(" />
0244                 <DetectChar attribute="Symbol" context="TypeParameters" char="&lt;" />
0245 
0246                 <DetectIdentifier attribute="Data Type" context="#stay"/>
0247             </context>
0248 
0249             <context name="FunctionDeclaration" lineEndContext="#stay" attribute="Normal Text">
0250                 <keyword attribute="Keyword" context="#stay" String="keywords"/>
0251                 <DetectChar attribute="Symbol" context="#stay" char="." />
0252                 <DetectChar attribute="Symbol" context="Parameters" char="(" />
0253                 <DetectChar attribute="Symbol" context="TypeParameters" char="&lt;" />
0254                 <DetectChar attribute="Symbol" context="TypeName" char=":" />
0255 
0256                 <AnyChar attribute="Symbol" context="#pop" String="{=" lookAhead="true" />
0257 
0258                 <DetectIdentifier attribute="Function" context="#stay"/>
0259             </context>
0260 
0261             <context name="TypeParameters" lineEndContext="#stay" attribute="Normal Text">
0262                 <keyword attribute="Keyword" context="#stay" String="keywords"/>
0263 
0264                 <DetectChar attribute="Symbol" context="TypeName" char=":" />
0265                 <DetectChar attribute="Symbol" context="#stay" char="*" />
0266 
0267                 <DetectChar attribute="Symbol" context="#pop" char="&gt;" />
0268                 <DetectChar attribute="Symbol" context="TypeParameters" char="&lt;" />
0269 
0270                 <DetectIdentifier attribute="Data Type" context="DataTypeSuffix"/>
0271             </context>
0272             <context name="DataTypeSuffix" lineEndContext="#pop" attribute="Normal Text" fallthroughContext="#pop">
0273                 <DetectChar attribute="Symbol" context="#pop" char="?"/>
0274             </context>
0275 
0276             <context name="Parameters" lineEndContext="#stay" attribute="Normal Text">
0277                 <keyword attribute="Keyword" context="#stay" String="keywords" />
0278                 <DetectChar attribute="Symbol" context="#pop" char=")" />
0279                 <DetectChar attribute="Symbol" context="TypeName" char=":" />
0280                 <DetectChar attribute="Symbol" context="Expression" char="=" />
0281                 <DetectIdentifier attribute="Variable" context="#stay"/>
0282                 <DetectChar attribute="Symbol" context="#stay" char=","/>
0283             </context>
0284 
0285             <context name="TypeName" lineEndContext="#stay" attribute="Normal Text">
0286                 <AnyChar attribute="Symbol" context="#pop" String=",*" />
0287                 <DetectChar attribute="Symbol" context="FunctionType" char="(" />
0288                 <Detect2Chars attribute="Symbol" context="#stay" char="-" char1="&gt;" />
0289                 <DetectIdentifier attribute="Data Type" context="#pop!DataTypeSuffix"/>
0290             </context>
0291 
0292             <context name="FunctionType" lineEndContext="#stay" attribute="Normal Text">
0293                 <DetectChar attribute="Symbol" context="#pop" char=")" />
0294                 <DetectIdentifier attribute="Data Type" context="DataTypeSuffix"/>
0295                 <Detect2Chars attribute="Symbol" context="#stay" char="-" char1="&gt;" />
0296                 <DetectChar attribute="Symbol" context="#stay" char="," />
0297             </context>
0298 
0299             <context name="Expression" lineEndContext="#stay" attribute="Normal Text">
0300                 <DetectChar attribute="Symbol" context="#pop" char=")" lookAhead="true" />
0301                 <DetectChar attribute="Error" context="#pop" char="}" />
0302                 <DetectChar attribute="Symbol" context="#pop" char=","/>
0303                 <IncludeRules context="FindSubExpression"/>
0304             </context>
0305             <context name="FindSubExpression" lineEndContext="#stay" attribute="Normal Text">
0306                 <DetectSpaces attribute="Normal Text"/>
0307 
0308                 <AnyChar attribute="Symbol" context="ExpressionInner" String="({" />
0309 
0310                 <DetectChar context="MaybeTypeParameters" char="&lt;" lookAhead="1" />
0311 
0312                 <DetectChar attribute="Symbol" context="Dot" char="." lookAhead="1"/>
0313                 <AnyChar context="Number" String="0123456789" lookAhead="1"/>
0314                 <DetectChar context="String" char="&quot;" lookAhead="1"/>
0315                 <DetectChar context="Char" char="'" lookAhead="1"/>
0316 
0317                 <Detect2Chars attribute="Comment" context="CommentSingleLine" char="/" char1="/"/>
0318                 <Detect2Chars attribute="Comment" context="CommentMultiline" char="/" char1="*" beginRegion="Comment"/>
0319 
0320                 <DetectIdentifier attribute="Normal Text"/>
0321             </context>
0322             <context name="MaybeTypeParameters" lineEndContext="#pop" attribute="Normal Text">
0323                 <RegExpr context="#pop!TypeParameters" String="&lt;\w" lookAhead="1" />
0324                 <DetectChar attribute="Symbol" context="#pop" char="&lt;"/>
0325             </context>
0326 
0327             <context name="ExpressionInner" lineEndContext="#stay" attribute="Normal Text">
0328                 <AnyChar attribute="Symbol" context="#pop" String=")}" />
0329                 <IncludeRules context="FindSubExpression"/>
0330             </context>
0331 
0332             <context attribute="Comment" lineEndContext="#pop" name="CommentSingleLine">
0333                 <DetectSpaces />
0334                 <IncludeRules context="##Comments"/>
0335             </context>
0336             <context attribute="Comment" lineEndContext="#stay" name="CommentMultiline">
0337                 <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment"/>
0338                 <Detect2Chars attribute="Comment" context="CommentMultiline" char="/" char1="*" beginRegion="Comment"/>
0339                 <DetectSpaces />
0340                 <IncludeRules context="##Comments"/>
0341             </context>
0342 
0343         </contexts>
0344 
0345         <itemDatas>
0346             <itemData name="Normal Text"  defStyleNum="dsNormal" spellChecking="false"/>
0347             <itemData name="Keyword"      defStyleNum="dsKeyword" spellChecking="false"/>
0348             <itemData name="ControlFlowKeyword" defStyleNum="dsControlFlow" spellChecking="false"/>
0349             <itemData name="Function"     defStyleNum="dsFunction" spellChecking="false"/>
0350             <itemData name="Variable"     defStyleNum="dsVariable" spellChecking="false"/>
0351             <itemData name="Imports"      defStyleNum="dsImport" spellChecking="false"/>
0352             <itemData name="Annotation"   defStyleNum="dsAttribute" spellChecking="false"/>
0353             <itemData name="Data Type"    defStyleNum="dsDataType" spellChecking="false"/>
0354             <itemData name="Decimal"      defStyleNum="dsDecVal" spellChecking="false"/>
0355             <itemData name="Hex"          defStyleNum="dsBaseN" spellChecking="false"/>
0356             <itemData name="Binary"       defStyleNum="dsBaseN" spellChecking="false"/>
0357             <itemData name="Float"        defStyleNum="dsFloat" spellChecking="false"/>
0358             <itemData name="Char"         defStyleNum="dsChar" spellChecking="false"/>
0359             <itemData name="String"       defStyleNum="dsString"/>
0360             <itemData name="String Char"  defStyleNum="dsSpecialChar" spellChecking="false"/>
0361             <itemData name="String Interpolation" defStyleNum="dsSpecialString"/>
0362             <itemData name="Comment"      defStyleNum="dsComment"/>
0363             <itemData name="Symbol"       defStyleNum="dsOperator" spellChecking="false"/>
0364             <itemData name="Error"        defStyleNum="dsError" spellChecking="false"/>
0365     </itemDatas>
0366     </highlighting>
0367     <general>
0368         <comments>
0369             <comment name="singleLine" start="//"/>
0370             <comment name="multiLine" start="/*" end="*/" region="Comment"/>
0371         </comments>
0372         <keywords casesensitive="1"/>
0373     </general>
0374 </language>
0375 <!-- kate: replace-tabs on; tab-width 4; indent-width 4; -->