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][-+]?∫)">
0007 <!ENTITY float "(\b∫(\.((∫&exp;?+|&exp;)[fF]?\b|[fF]\b)?|&exp;[fF]?\b|[fF]\b)|\.∫&exp;?[fF]?\b)">
0008 <!ENTITY hexfloat "\b0[xX](&hex;\.?+&hex;?+|\.&hex;?)[pP][-+]?∫[fF]?\b">
0009 ]>
0010 <!-- kotlin language syntax http://kotlinlang.org -->
0011 <language name="Kotlin" version="11" 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>abstract</item>
0062 <item>infix</item>
0063 <item>operator</item>
0064
0065 <item>annotation</item>
0066 <item>const</item>
0067 <item>lateinit</item>
0068 <item>inner</item>
0069 <item>external</item>
0070 <item>noinline</item>
0071 </list>
0072 <list name="controlFlowKeyword">
0073 <item>if</item>
0074 <item>else</item>
0075 <item>when</item>
0076
0077 <item>for</item>
0078 <item>while</item>
0079 <item>do</item>
0080
0081 <item>try</item>
0082 <item>catch</item>
0083 <item>finally</item>
0084
0085 <item>continue</item>
0086 <item>break</item>
0087 <item>yield</item>
0088 </list>
0089 <list name="predeclared">
0090 <item>this</item>
0091 <item>super</item>
0092 <item>null</item>
0093 <item>true</item>
0094 <item>false</item>
0095 </list>
0096 <list name="types">
0097 <item>Unit</item>
0098 <item>Nothing</item>
0099
0100 <item>String</item>
0101 <item>Char</item>
0102
0103 <item>Int</item>
0104 <item>Long</item>
0105 <item>Byte</item>
0106 <item>Short</item>
0107 <item>Float</item>
0108 <item>Double</item>
0109
0110 <item>Boolean</item>
0111
0112 <item>dynamic</item>
0113 </list>
0114
0115 <contexts>
0116 <context attribute="Normal Text" lineEndContext="#stay" name="Start" fallthroughContext="Normal">
0117 <Detect2Chars attribute="Comment" context="Shebang" char="#" char1="!" />
0118 </context>
0119 <context attribute="Normal Text" lineEndContext="#pop!Normal" name="Shebang">
0120 </context>
0121
0122 <context attribute="Normal Text" lineEndContext="#stay" name="Normal">
0123 <DetectSpaces context="#stay"/>
0124
0125 <DetectChar attribute="Symbol" context="Dot" char="." lookAhead="1"/>
0126 <DetectChar attribute="Symbol" context="#stay" char="{" beginRegion="Brace1"/>
0127 <DetectChar attribute="Symbol" context="#stay" char="}" endRegion="Brace1"/>
0128 <DetectChar attribute="Annotation" context="Annotation" char="@" />
0129
0130 <IncludeRules context="Comment"/>
0131
0132 <AnyChar attribute="Symbol" context="#stay" String="()[]&|+,-/*<=>;!%?:~^"/>
0133
0134 <AnyChar context="Number" String="0123456789" lookAhead="1"/>
0135
0136 <DetectChar context="String" char=""" lookAhead="1"/>
0137 <DetectChar context="Char" char="'" lookAhead="1"/>
0138
0139 <WordDetect attribute="Keyword" context="VariableDeclaration" String="val"/>
0140 <WordDetect attribute="Keyword" context="VariableDeclaration" String="var"/>
0141
0142 <WordDetect attribute="Keyword" context="FunctionDeclaration" String="fun"/>
0143
0144 <WordDetect attribute="Keyword" context="Imports" String="package"/>
0145 <WordDetect attribute="Keyword" context="Imports" String="import"/>
0146
0147 <WordDetect attribute="Keyword" context="TypeDeclaration" String="object"/>
0148 <WordDetect attribute="Keyword" context="TypeDeclaration" String="class"/>
0149 <WordDetect attribute="Keyword" context="TypeDeclaration" String="interface"/>
0150
0151 <keyword attribute="Keyword" context="#stay" String="predeclared"/>
0152 <keyword attribute="Keyword" context="#stay" String="keywords"/>
0153 <keyword attribute="ControlFlowKeyword" context="#stay" String="controlFlowKeyword"/>
0154 <keyword attribute="Keyword" context="#stay" String="types"/>
0155
0156 <DetectIdentifier attribute="Normal Text"/>
0157 </context>
0158
0159 <context attribute="Normal Text" lineEndContext="#stay" name="Comment">
0160 <Detect2Chars attribute="Comment" context="CommentSingleLine" char="/" char1="/"/>
0161 <Detect2Chars attribute="Comment" context="CommentMultiline" char="/" char1="*" beginRegion="Comment"/>
0162 </context>
0163
0164 <context attribute="Normal Text" lineEndContext="#stay" name="Number">
0165 <IncludeRules context="FindFloat"/>
0166 <RegExpr attribute="Hex" context="#pop" String="\b0[xX]&hex;[lL]?\b"/>
0167 <RegExpr attribute="Binary" context="#pop" String="\b0[bB][01]++(_++[01]++)*+[uUlL]?\b"/>
0168 <RegExpr attribute="Decimal" context="#pop" String="\b(0|[1-9][0-9]*+(_++[0-9_]++)*+)[uUlL]?\b"/>
0169 <AnyChar attribute="Error" context="#pop" String="0123456789"/>
0170 </context>
0171 <context attribute="Normal Text" lineEndContext="#stay" name="FindFloat">
0172 <RegExpr attribute="Float" context="#pop" String="&float;|&hexfloat;"/>
0173 </context>
0174
0175 <context attribute="Normal Text" lineEndContext="#stay" name="Dot">
0176 <IncludeRules context="FindFloat"/>
0177 <DetectChar attribute="Symbol" context="#pop" char="." />
0178 </context>
0179
0180 <context attribute="Normal Text" lineEndContext="#pop" name="Annotation" fallthroughContext="#pop">
0181 <DetectIdentifier attribute="Annotation"/>
0182 <DetectChar attribute="Symbol" char=":"/>
0183 <RangeDetect attribute="Annotation" context="#pop" char="[" char1="]"/>
0184 <IncludeRules context="Comment"/>
0185 </context>
0186
0187 <context attribute="Normal Text" lineEndContext="#stay" name="Char">
0188 <HlCChar attribute="Char" context="#pop"/>
0189 <RegExpr attribute="Char" context="#pop" String="'\\u[0-9a-fA-F]{4}'"/>
0190 <RegExpr attribute="Error" context="#pop" String="'(\\(u[0-9a-fA-F]*|.))?'?"/>
0191 </context>
0192
0193 <context attribute="String" lineEndContext="#pop" name="String">
0194 <StringDetect attribute="String" context="#pop!MultiLineString" String=""""" beginRegion="MultiLineString"/>
0195 <DetectChar attribute="String" context="#pop!SingleLineString" char="""/>
0196 </context>
0197 <context attribute="String" lineEndContext="#pop" name="SingleLineString">
0198 <DetectChar context="StringEscapedChar" char="\" lookAhead="1"/>
0199 <DetectChar context="Interpolation" char="$" lookAhead="1"/>
0200 <DetectChar attribute="String" context="#pop" char="""/>
0201 </context>
0202 <context attribute="String" lineEndContext="#stay" name="MultiLineString">
0203 <DetectChar context="StringEscapedChar" char="\" lookAhead="1"/>
0204 <DetectChar context="Interpolation" char="$" lookAhead="1"/>
0205 <DetectChar context="MultiLineStringFinal" char=""" lookAhead="1"/>
0206 </context>
0207 <context attribute="String" lineEndContext="#stay" name="MultiLineStringFinal">
0208 <StringDetect context="MultiLineStringNoFinal" String="""""" lookAhead="1"/>
0209 <StringDetect attribute="String" context="#pop#pop" String=""""" endRegion="MultiLineString"/>
0210 <Detect2Chars attribute="String" context="#pop" char=""" char1="""/>
0211 <DetectChar attribute="String" context="#pop" char="""/>
0212 </context>
0213 <context attribute="String" lineEndContext="#stay" name="MultiLineStringNoFinal">
0214 <DetectChar attribute="String" context="#pop" char="""/>
0215 </context>
0216 <context attribute="String" lineEndContext="#pop" name="StringEscapedChar">
0217 <HlCStringChar attribute="String Char" context="#pop"/>
0218 <Detect2Chars attribute="String Char" context="#pop" char="\" char1="$"/>
0219 <RegExpr attribute="String Char" context="#pop" String="\\u[0-9a-fA-F]{4}"/>
0220 <RegExpr attribute="Error" context="#pop" String="\\(u[0-9a-fA-F]*|.)?"/>
0221 </context>
0222
0223 <context attribute="String" lineEndContext="#stay" name="Interpolation">
0224 <Detect2Chars attribute="String Interpolation" context="#pop!InInterpolation" char="$" char1="{"/>
0225 <DetectChar attribute="String Interpolation" context="#pop!Variable" char="$"/>
0226 </context>
0227 <context attribute="String Interpolation" lineEndContext="#stay" name="InInterpolation">
0228 <DetectChar attribute="String Interpolation" context="#pop" char="}"/>
0229 <IncludeRules context="Normal"/>
0230 </context>
0231 <context attribute="String" lineEndContext="#pop" name="Variable" fallthroughContext="#pop">
0232 <DetectIdentifier attribute="String Interpolation" context="#pop"/>
0233 </context>
0234
0235 <context attribute="Normal Text" lineEndContext="#pop" name="Imports">
0236 <AnyChar attribute="Symbol" context="#stay" String=".*"/>
0237 <WordDetect attribute="Keyword" context="TypeName" String="as" />
0238 <DetectIdentifier attribute="Imports" context="#stay"/>
0239 <DetectChar attribute="Symbol" context="#pop" char=";"/>
0240 <IncludeRules context="Comment"/>
0241 </context>
0242
0243 <context name="VariableDeclaration" lineEndContext="#stay" attribute="Normal Text">
0244 <DetectIdentifier attribute="Variable" context="#pop" />
0245 <IncludeRules context="Comment"/>
0246 </context>
0247
0248 <context name="TypeDeclaration" lineEndContext="#stay" attribute="Normal Text">
0249 <keyword attribute="Keyword" context="#stay" String="keywords"/>
0250
0251 <DetectChar attribute="Symbol" context="TypeParameters" char="<" />
0252 <DetectChar attribute="Symbol" context="Parameters" char="(" />
0253 <DetectChar attribute="Symbol" context="SuperTypes" char=":" />
0254 <DetectChar attribute="Symbol" context="#pop" char="{" lookAhead="true" />
0255
0256 <IncludeRules context="Comment"/>
0257 </context>
0258
0259 <context name="SuperTypes" lineEndContext="#stay" attribute="Normal Text">
0260 <keyword attribute="Keyword" context="#pop#pop" String="keywords" lookAhead="true" />
0261
0262 <DetectChar attribute="Symbol" context="#stay" char="," />
0263 <DetectChar attribute="Symbol" context="#pop" char="{" lookAhead="true" />
0264 <DetectChar attribute="Symbol" context="Parameters" char="(" />
0265 <DetectChar attribute="Symbol" context="TypeParameters" char="<" />
0266
0267 <DetectIdentifier attribute="Data Type" context="#stay"/>
0268
0269 <IncludeRules context="Comment"/>
0270 </context>
0271
0272 <context name="FunctionDeclaration" lineEndContext="#stay" attribute="Normal Text">
0273 <keyword attribute="Keyword" context="#stay" String="keywords"/>
0274 <DetectChar attribute="Annotation" context="Annotation" char="@" />
0275 <DetectChar attribute="Symbol" context="#stay" char="." />
0276 <DetectChar attribute="Symbol" context="Parameters" char="(" />
0277 <DetectChar attribute="Symbol" context="TypeParameters" char="<" />
0278 <DetectChar attribute="Symbol" context="TypeName" char=":" />
0279
0280 <AnyChar attribute="Symbol" context="#pop" String="{=" lookAhead="true" />
0281
0282 <DetectIdentifier attribute="Function" context="#stay"/>
0283
0284 <IncludeRules context="Comment"/>
0285 </context>
0286
0287 <context name="TypeParameters" lineEndContext="#stay" attribute="Normal Text">
0288 <keyword attribute="Keyword" context="#stay" String="keywords"/>
0289
0290 <DetectChar attribute="Symbol" context="TypeName" char=":" />
0291 <DetectChar attribute="Symbol" context="#stay" char="*" />
0292
0293 <DetectChar attribute="Symbol" context="#pop" char=">" />
0294 <DetectChar attribute="Symbol" context="TypeParameters" char="<" />
0295
0296 <DetectIdentifier attribute="Data Type" context="DataTypeSuffix"/>
0297
0298 <IncludeRules context="Comment"/>
0299 </context>
0300 <context name="DataTypeSuffix" lineEndContext="#pop" attribute="Normal Text" fallthroughContext="#pop">
0301 <DetectChar attribute="Symbol" context="#pop" char="?"/>
0302
0303 <IncludeRules context="Comment"/>
0304 </context>
0305
0306 <context name="Parameters" lineEndContext="#stay" attribute="Normal Text">
0307 <keyword attribute="Keyword" context="#stay" String="keywords" />
0308 <DetectChar attribute="Symbol" context="#pop" char=")" />
0309 <DetectChar attribute="Symbol" context="TypeName" char=":" />
0310 <DetectChar attribute="Symbol" context="Expression" char="=" />
0311 <DetectIdentifier attribute="Variable" context="#stay"/>
0312 <DetectChar attribute="Symbol" context="#stay" char=","/>
0313 <IncludeRules context="Comment"/>
0314 </context>
0315
0316 <context name="TypeName" lineEndContext="#stay" attribute="Normal Text">
0317 <AnyChar attribute="Symbol" context="#pop" String=",*" />
0318 <DetectChar attribute="Symbol" context="FunctionType" char="(" />
0319 <Detect2Chars attribute="Symbol" context="#stay" char="-" char1=">" />
0320 <DetectIdentifier attribute="Data Type" context="#pop!DataTypeSuffix"/>
0321 <IncludeRules context="Comment"/>
0322 </context>
0323
0324 <context name="FunctionType" lineEndContext="#stay" attribute="Normal Text">
0325 <DetectChar attribute="Symbol" context="#pop" char=")" />
0326 <DetectIdentifier attribute="Data Type" context="DataTypeSuffix"/>
0327 <Detect2Chars attribute="Symbol" context="#stay" char="-" char1=">" />
0328 <DetectChar attribute="Symbol" context="#stay" char="," />
0329 <IncludeRules context="Comment"/>
0330 </context>
0331
0332 <context name="Expression" lineEndContext="#stay" attribute="Normal Text">
0333 <DetectChar attribute="Symbol" context="#pop" char=")" lookAhead="true" />
0334 <DetectChar attribute="Error" context="#pop" char="}" />
0335 <DetectChar attribute="Symbol" context="#pop" char=","/>
0336 <IncludeRules context="FindSubExpression"/>
0337 </context>
0338 <context name="FindSubExpression" lineEndContext="#stay" attribute="Normal Text">
0339 <DetectSpaces attribute="Normal Text"/>
0340
0341 <AnyChar attribute="Symbol" context="ExpressionInner" String="({" />
0342
0343 <DetectChar context="MaybeTypeParameters" char="<" lookAhead="1" />
0344
0345 <DetectChar attribute="Symbol" context="Dot" char="." lookAhead="1"/>
0346 <AnyChar context="Number" String="0123456789" lookAhead="1"/>
0347 <DetectChar context="String" char=""" lookAhead="1"/>
0348 <DetectChar context="Char" char="'" lookAhead="1"/>
0349
0350 <IncludeRules context="Comment"/>
0351
0352 <DetectIdentifier attribute="Normal Text"/>
0353 </context>
0354 <context name="MaybeTypeParameters" lineEndContext="#pop" attribute="Normal Text">
0355 <RegExpr context="#pop!TypeParameters" String="<\w" lookAhead="1" />
0356 <DetectChar attribute="Symbol" context="#pop" char="<"/>
0357 <IncludeRules context="Comment"/>
0358 </context>
0359
0360 <context name="ExpressionInner" lineEndContext="#stay" attribute="Normal Text">
0361 <AnyChar attribute="Symbol" context="#pop" String=")}" />
0362 <IncludeRules context="FindSubExpression"/>
0363 </context>
0364
0365 <context attribute="Comment" lineEndContext="#pop" name="CommentSingleLine">
0366 <DetectSpaces />
0367 <IncludeRules context="##Comments"/>
0368 </context>
0369 <context attribute="Comment" lineEndContext="#stay" name="CommentMultiline">
0370 <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment"/>
0371 <Detect2Chars attribute="Comment" context="CommentMultiline" char="/" char1="*" beginRegion="Comment"/>
0372 <DetectSpaces />
0373 <IncludeRules context="##Comments"/>
0374 </context>
0375
0376 </contexts>
0377
0378 <itemDatas>
0379 <itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false"/>
0380 <itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="false"/>
0381 <itemData name="ControlFlowKeyword" defStyleNum="dsControlFlow" spellChecking="false"/>
0382 <itemData name="Function" defStyleNum="dsFunction" spellChecking="false"/>
0383 <itemData name="Variable" defStyleNum="dsVariable" spellChecking="false"/>
0384 <itemData name="Imports" defStyleNum="dsImport" spellChecking="false"/>
0385 <itemData name="Annotation" defStyleNum="dsAttribute" spellChecking="false"/>
0386 <itemData name="Data Type" defStyleNum="dsDataType" spellChecking="false"/>
0387 <itemData name="Decimal" defStyleNum="dsDecVal" spellChecking="false"/>
0388 <itemData name="Hex" defStyleNum="dsBaseN" spellChecking="false"/>
0389 <itemData name="Binary" defStyleNum="dsBaseN" spellChecking="false"/>
0390 <itemData name="Float" defStyleNum="dsFloat" spellChecking="false"/>
0391 <itemData name="Char" defStyleNum="dsChar" spellChecking="false"/>
0392 <itemData name="String" defStyleNum="dsString"/>
0393 <itemData name="String Char" defStyleNum="dsSpecialChar" spellChecking="false"/>
0394 <itemData name="String Interpolation" defStyleNum="dsSpecialString"/>
0395 <itemData name="Comment" defStyleNum="dsComment"/>
0396 <itemData name="Symbol" defStyleNum="dsOperator" spellChecking="false"/>
0397 <itemData name="Error" defStyleNum="dsError" spellChecking="false"/>
0398 </itemDatas>
0399 </highlighting>
0400 <general>
0401 <comments>
0402 <comment name="singleLine" start="//"/>
0403 <comment name="multiLine" start="/*" end="*/" region="Comment"/>
0404 </comments>
0405 <keywords casesensitive="1"/>
0406 </general>
0407 </language>
0408 <!-- kate: replace-tabs on; tab-width 4; indent-width 4; -->