Warning, /frameworks/syntax-highlighting/data/syntax/zig.xml is written in an unsupported language. File is not indexed.
0001 <?xml version="1.0" encoding="UTF-8"?>
0002 <!DOCTYPE language [
0003 <!ENTITY bin_int "(?:[01]+(?:_[01]+)*)">
0004 <!ENTITY oct_int "(?:[0-7]+(?:_[0-7]+)*)">
0005 <!ENTITY dec_int "(?:[0-9]+(?:_[0-9]+)*)">
0006 <!ENTITY hex_int "(?:[0-9A-Fa-f]+(?:_[0-9A-Fa-f]+)*)">
0007 <!ENTITY exp_float "(?:[eE][+-]?&dec_int;)">
0008 <!ENTITY exp_hexfloat "(?:[pP][-+]?&dec_int;)">
0009 ]>
0010 <language name="Zig" section="Sources" version="2" kateversion="5.62" indenter="cstyle" extensions="*.zig" mimetype="text/x-zig" priority="1" author="Waqar Ahmed (waqar.17a@gmail.com)" license="MIT">
0011 <highlighting>
0012 <list name="keywords">
0013 <item>addrspace</item>
0014 <item>align</item>
0015 <item>and</item>
0016 <item>anyframe</item>
0017 <item>anytype</item>
0018 <item>asm</item>
0019 <item>callconv</item>
0020 <item>enum</item>
0021 <item>error</item>
0022 <item>export</item>
0023 <item>fn</item>
0024 <item>inline</item>
0025 <item>noalias</item>
0026 <item>nosuspend</item>
0027 <item>noinline</item>
0028 <item>opaque</item>
0029 <item>or</item>
0030 <item>orelse</item>
0031 <item>packed</item>
0032 <item>pub</item>
0033 <item>resume</item>
0034 <item>linksection</item>
0035 <item>struct</item>
0036 <item>suspend</item>
0037 <item>test</item>
0038 <item>union</item>
0039 <item>unreachable</item>
0040 <item>usingnamespace</item>
0041 </list>
0042 <list name="controlflow">
0043 <item>while</item>
0044 <item>try</item>
0045 <item>switch</item>
0046 <item>return</item>
0047 <item>for</item>
0048 <item>if</item>
0049 <item>continue</item>
0050 <item>else</item>
0051 <item>break</item>
0052 <item>catch</item>
0053 <item>defer</item>
0054 <item>errdefer</item>
0055 </list>
0056 <list name="types">
0057 <item>i8</item>
0058 <item>u8</item>
0059 <item>i16</item>
0060 <item>u16</item>
0061 <item>i32</item>
0062 <item>u32</item>
0063 <item>i64</item>
0064 <item>u64</item>
0065 <item>i128</item>
0066 <item>u128</item>
0067 <item>isize</item>
0068 <item>usize</item>
0069 <item>c_short</item>
0070 <item>c_ushort</item>
0071 <item>c_int</item>
0072 <item>c_uint</item>
0073 <item>c_long</item>
0074 <item>c_ulong</item>
0075 <item>c_longlong</item>
0076 <item>c_ulonglong</item>
0077 <item>c_longdouble</item>
0078 <item>f16</item>
0079 <item>f32</item>
0080 <item>f64</item>
0081 <item>f80</item>
0082 <item>f128</item>
0083 <item>bool</item>
0084 <item>anyopaque</item>
0085 <item>void</item>
0086 <item>noreturn</item>
0087 <item>type</item>
0088 <item>anyerror</item>
0089 <item>comptime_int</item>
0090 <item>comptime_float</item>
0091 </list>
0092 <list name="modifiers">
0093 <item>async</item>
0094 <item>await</item>
0095 <item>const</item>
0096 <item>threadlocal</item>
0097 <item>extern</item>
0098 <item>allowzero</item>
0099 <item>comptime</item>
0100 <item>var</item>
0101 <item>volatile</item>
0102 </list>
0103 <list name="literals">
0104 <item>false</item>
0105 <item>null</item>
0106 <item>true</item>
0107 <item>undefined</item>
0108 </list>
0109 <list name="builtin_functions">
0110 <item>@addrSpaceCast</item>
0111 <item>@addWithOverflow</item>
0112 <item>@alignCast</item>
0113 <item>@alignOf</item>
0114 <item>@as</item>
0115 <item>@atomicLoad</item>
0116 <item>@atomicRmw</item>
0117 <item>@atomicStore</item>
0118 <item>@bitCast</item>
0119 <item>@bitOffsetOf</item>
0120 <item>@boolToInt</item>
0121 <item>@bitSizeOf</item>
0122 <item>@breakpoint</item>
0123 <item>@mulAdd</item>
0124 <item>@byteSwap</item>
0125 <item>@bitReverse</item>
0126 <item>@offsetOf</item>
0127 <item>@call</item>
0128 <item>@cDefine</item>
0129 <item>@cImport</item>
0130 <item>@cInclude</item>
0131 <item>@clz</item>
0132 <item>@cmpxchgStrong</item>
0133 <item>@cmpxchgWeak</item>
0134 <item>@compileError</item>
0135 <item>@compileLog</item>
0136 <item>@ctz</item>
0137 <item>@cUndef</item>
0138 <item>@cVaArg</item>
0139 <item>@cVaCopy</item>
0140 <item>@cVaEnd</item>
0141 <item>@cVaStart</item>
0142 <item>@divExact</item>
0143 <item>@divFloor</item>
0144 <item>@divTrunc</item>
0145 <item>@embedFile</item>
0146 <item>@enumToInt</item>
0147 <item>@errorName</item>
0148 <item>@errorReturnTrace</item>
0149 <item>@errorToInt</item>
0150 <item>@errSetCast</item>
0151 <item>@export</item>
0152 <item>@extern</item>
0153 <item>@fence</item>
0154 <item>@field</item>
0155 <item>@fieldParentPtr</item>
0156 <item>@floatCast</item>
0157 <item>@floatToInt</item>
0158 <item>@frameAddress</item>
0159 <item>@hasDecl</item>
0160 <item>@hasField</item>
0161 <item>@import</item>
0162 <item>@intCast</item>
0163 <item>@intToEnum</item>
0164 <item>@intToError</item>
0165 <item>@intToFloat</item>
0166 <item>@intToPtr</item>
0167 <item>@max</item>
0168 <item>@memcpy</item>
0169 <item>@memset</item>
0170 <item>@min</item>
0171 <item>@wasmMemorySize</item>
0172 <item>@wasmMemoryGrow</item>
0173 <item>@mod</item>
0174 <item>@mulWithOverflow</item>
0175 <item>@panic</item>
0176 <item>@popCount</item>
0177 <item>@prefetch</item>
0178 <item>@ptrCast</item>
0179 <item>@ptrToInt</item>
0180 <item>@rem</item>
0181 <item>@returnAddress</item>
0182 <item>@select</item>
0183 <item>@setAlignStack</item>
0184 <item>@setCold</item>
0185 <item>@setEvalBranchQuota</item>
0186 <item>@setFloatMode</item>
0187 <item>@setRuntimeSafety</item>
0188 <item>@shlExact</item>
0189 <item>@shlWithOverflow</item>
0190 <item>@shrExact</item>
0191 <item>@shuffle</item>
0192 <item>@sizeOf</item>
0193 <item>@splat</item>
0194 <item>@reduce</item>
0195 <item>@src</item>
0196 <item>@sqrt</item>
0197 <item>@sin</item>
0198 <item>@cos</item>
0199 <item>@tan</item>
0200 <item>@exp</item>
0201 <item>@exp2</item>
0202 <item>@log</item>
0203 <item>@log2</item>
0204 <item>@log10</item>
0205 <item>@fabs</item>
0206 <item>@floor</item>
0207 <item>@ceil</item>
0208 <item>@trunc</item>
0209 <item>@round</item>
0210 <item>@subWithOverflow</item>
0211 <item>@tagName</item>
0212 <item>@This</item>
0213 <item>@truncate</item>
0214 <item>@Type</item>
0215 <item>@typeInfo</item>
0216 <item>@typeName</item>
0217 <item>@TypeOf</item>
0218 <item>@unionInit</item>
0219 <item>@Vector</item>
0220 </list>
0221 <contexts>
0222 <context attribute="Normal Text" lineEndContext="#stay" name="Normal">
0223 <DetectSpaces/>
0224 <Detect2Chars char="/" char1="/" attribute="Comment" context="Comment"/>
0225 <AnyChar attribute="Symbol" context="#stay" String=":!%&+,-/.*<=>?|~^"/>
0226 <AnyChar context="Number" String="0123456789" lookAhead="1"/>
0227 <DetectChar attribute="String" context="DoubleQuoteString" char="""/>
0228 <DetectChar attribute="Character" context="SingleQuoteString" char="'"/>
0229 <Detect2Chars char="\" char1="\" attribute="String" context="Multiline String"/>
0230 <keyword String="keywords" attribute="Keyword" context="#stay"/>
0231 <keyword String="types" attribute="Type" context="#stay"/>
0232 <keyword attribute="Constant" context="#stay" String="literals"/>
0233 <keyword attribute="Builtin Functions" context="#stay" String="builtin_functions"/>
0234 <keyword attribute="Control Flow" context="#stay" String="controlflow"/>
0235 <keyword attribute="Modifiers" context="#stay" String="modifiers"/>
0236 <WordDetect attribute="Self Variable" String="self"/>
0237 <!-- <AnyChar context="SpecialType" String="iu" lookAhead="1"/> -->
0238 <DetectIdentifier/>
0239 </context>
0240 <!-- Strings -->
0241 <context attribute="String" lineEndContext="#pop" name="DoubleQuoteString">
0242 <DetectChar context="EscapeChar" char="\" lookAhead="1"/>
0243 <DetectChar attribute="String" context="#pop" char="""/>
0244 </context>
0245 <context attribute="Character" lineEndContext="#pop" name="SingleQuoteString">
0246 <DetectChar context="EscapeChar" char="\" lookAhead="1"/>
0247 <DetectChar attribute="Character" context="#pop" char="'"/>
0248 </context>
0249 <context attribute="String" lineEndContext="#pop" name="Multiline String"/>
0250 <context attribute="String Char" lineEndContext="#pop" name="EscapeChar">
0251 <RegExpr attribute="String Char" context="#pop" String="\\([nrt'"\\]|x[0-9a-fA-F]{2}|u\{[0-9a-fA-F]+\})"/>
0252 <RegExpr attribute="Error" context="#pop" String="\\(x[0-9a-fA-F]?|u\{[0-9a-fA-F]{0,8}\}?)?"/>
0253 </context>
0254 <!-- Comment -->
0255 <context attribute="Comment" lineEndContext="#pop" name="Comment">
0256 <DetectSpaces attribute="Comment"/>
0257 <IncludeRules context="##Comments"/>
0258 <DetectIdentifier attribute="Comment"/>
0259 </context>
0260 <!-- Integer / Float -->
0261 <context name="Number" attribute="Normal Text" lineEndContext="#pop">
0262 <RegExpr attribute="Float" context="#pop!SuffixNumber" String="&dec_int;(\.&dec_int;&exp_float;?|&exp_float;)"/>
0263 <RegExpr attribute="Decimal" context="#pop!SuffixNumber" String="0(?=[^xob]|$)|(?=0[xob])|&dec_int;"/>
0264 <RegExpr attribute="Hex Float" context="#pop!SuffixNumber" String="0x&hex_int;(\.&hex_int;&exp_hexfloat;?|&exp_hexfloat;)"/>
0265 <RegExpr attribute="Hex" context="#pop!SuffixNumber" String="0x&hex_int;"/>
0266 <RegExpr attribute="Octal" context="#pop!SuffixNumber" String="0o&oct_int;"/>
0267 <RegExpr attribute="Binary" context="#pop!SuffixNumber" String="0b&bin_int;"/>
0268 <DetectChar attribute="Decimal" context="#pop!SuffixNumber" char="0"/>
0269 </context>
0270 <context name="SuffixNumber" attribute="Normal Text" lineEndContext="#pop" fallthroughContext="#pop">
0271 <AnyChar attribute="Error" String=".0123456789" context="#pop"/>
0272 <DetectIdentifier attribute="Error" context="#pop"/>
0273 </context>
0274 <!-- Integer type -->
0275 <!-- i or u followed by digits. The maximum allowed bit-width of an integer type is 65535 -->
0276 <!--<context name="SpecialType" attribute="Normal Text" lineEndContext="#pop">
0277 <RegExpr attribute="Type" context="#pop" String="\b[ui]([0-9]{1,4}|[1-5][0-9]{4}|6([0-4][0-9]{3}|5([0-4][0-9]{2}|5([0-2][0-9]|3[0-5]))))\b"/>
0278 <DetectIdentifier attribute="Normal Text" context="#pop"/>
0279 </context>-->
0280 </contexts>
0281 <itemDatas>
0282 <itemData name="Normal Text" defStyleNum="dsNormal"/>
0283 <itemData name="Self Variable" defStyleNum="dsVariable" spellChecking="false"/>
0284 <itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="false"/>
0285 <itemData name="Type" defStyleNum="dsDataType" spellChecking="false"/>
0286 <itemData name="Builtin Functions" defStyleNum="dsBuiltIn" spellChecking="false"/>
0287 <itemData name="Constant" defStyleNum="dsConstant" spellChecking="false"/>
0288 <itemData name="Control Flow" defStyleNum="dsControlFlow" spellChecking="false"/>
0289 <itemData name="Modifiers" defStyleNum="dsAttribute" spellChecking="false"/>
0290 <itemData name="Comment" defStyleNum="dsComment" spellChecking="true"/>
0291 <itemData name="Binary" defStyleNum="dsBaseN" spellChecking="false"/>
0292 <itemData name="Octal" defStyleNum="dsBaseN" spellChecking="false"/>
0293 <itemData name="Hex" defStyleNum="dsBaseN" spellChecking="false"/>
0294 <itemData name="Decimal" defStyleNum="dsDecVal" spellChecking="false"/>
0295 <itemData name="Float" defStyleNum="dsFloat" spellChecking="false"/>
0296 <itemData name="Hex Float" defStyleNum="dsFloat" spellChecking="false"/>
0297 <itemData name="String" defStyleNum="dsString"/>
0298 <itemData name="String Char" defStyleNum="dsSpecialChar"/>
0299 <itemData name="Character" defStyleNum="dsChar" spellChecking="false"/>
0300 <itemData name="Symbol" defStyleNum="dsOperator" spellChecking="false"/>
0301 <itemData name="Error" defStyleNum="dsError" spellChecking="false"/>
0302 </itemDatas>
0303 </highlighting>
0304 <general>
0305 <comments>
0306 <comment name="singleLine" start="//"/>
0307 </comments>
0308 <keywords casesensitive="true"/>
0309 </general>
0310 </language>
0311 <!-- kate: replace-tabs on; tab-width 4; indent-width 4; -->