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; -->