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=":!%&amp;+,-/.*&lt;=&gt;?|~^"/>
0226                 <AnyChar context="Number" String="0123456789" lookAhead="1"/>
0227                 <DetectChar attribute="String" context="DoubleQuoteString" char="&quot;"/>
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="&quot;"/>
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'&quot;\\]|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; -->