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