Warning, /frameworks/syntax-highlighting/data/syntax/odin.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 symbols ":!%&()+,-/.*<=>?[]|~^;"> 0005 ]> 0006 <language name="Odin" section="Sources" 0007 version="1" kateversion="5.79" 0008 indenter="cstyle" 0009 extensions="*.odin" 0010 priority="1" 0011 author="Akseli Lahtinen (akselmo@akselmo.dev)" 0012 license="MIT"> 0013 0014 <highlighting> 0015 <list name="controlflow"> 0016 <item>if</item> 0017 <item>else</item> 0018 <item>when</item> 0019 <item>for</item> 0020 <item>in</item> 0021 <item>not_in</item> 0022 <item>switch</item> 0023 <item>return</item> 0024 <item>return</item> 0025 <item>do</item> 0026 <item>where</item> 0027 <item>fallthrough</item> 0028 <item>break</item> 0029 <item>continue</item> 0030 <item>or_else</item> 0031 <item>or_return</item> 0032 <item>or_break</item> 0033 <item>or_continue</item> 0034 </list> 0035 0036 <list name="keywords"> 0037 <item>const</item> 0038 <item>case</item> 0039 <item>defer</item> 0040 <item>asm</item> 0041 <item>distinct</item> 0042 <item>context</item> 0043 <item>nil</item> 0044 <item>true</item> 0045 <item>false</item> 0046 <item>---</item> 0047 <item>struct</item> 0048 <item>enum</item> 0049 <item>union</item> 0050 <item>map</item> 0051 <item>bit_set</item> 0052 <item>dynamic</item> 0053 <item>cast</item> 0054 <item>transmute</item> 0055 <item>auto_cast</item> 0056 <item>force_inline</item> 0057 <item>force_no_inline</item> 0058 <item>size_of</item> 0059 <item>align_of</item> 0060 <item>offset_of</item> 0061 <item>type_of</item> 0062 <item>type_info_of</item> 0063 <item>typeid_of</item> 0064 </list> 0065 0066 <list name="types"> 0067 <item>i8</item> 0068 <item>i16</item> 0069 <item>i32</item> 0070 <item>i64</item> 0071 <item>i128</item> 0072 <item>int</item> 0073 <item>u8</item> 0074 <item>u16</item> 0075 <item>u32</item> 0076 <item>u64</item> 0077 <item>u128</item> 0078 <item>uint</item> 0079 <item>uintptr</item> 0080 <item>f16</item> 0081 <item>f32</item> 0082 <item>f64</item> 0083 <item>f16le</item> 0084 <item>f32le</item> 0085 <item>f64le</item> 0086 <item>f16be</item> 0087 <item>f32be</item> 0088 <item>f64be</item> 0089 <item>complex32</item> 0090 <item>complex64</item> 0091 <item>complex128</item> 0092 <item>quaternion64</item> 0093 <item>quaternion128</item> 0094 <item>quaternion256</item> 0095 <item>bool</item> 0096 <item>b8</item> 0097 <item>b16</item> 0098 <item>b32</item> 0099 <item>b64</item> 0100 <item>string</item> 0101 <item>cstring</item> 0102 <item>rune</item> 0103 <item>rawptr</item> 0104 <item>any</item> 0105 <item>typeid</item> 0106 <item>byte</item> 0107 <item>u16le</item> 0108 <item>u32le</item> 0109 <item>u64le</item> 0110 <item>u128le</item> 0111 <item>i16le</item> 0112 <item>i32le</item> 0113 <item>i64le</item> 0114 <item>i128le</item> 0115 <item>i16be</item> 0116 <item>i32be</item> 0117 <item>i64be</item> 0118 <item>i128be</item> 0119 <item>u16be</item> 0120 <item>u32be</item> 0121 <item>u64be</item> 0122 <item>u128be</item> 0123 </list> 0124 0125 <list name="function"> 0126 <item>proc</item> 0127 </list> 0128 0129 <list name="import"> 0130 <item>import</item> 0131 <item>package</item> 0132 <item>foreign</item> 0133 </list> 0134 0135 <contexts> 0136 <context attribute="Normal Text" lineEndContext="#stay" name="Normal Text" > 0137 <Detect2Chars attribute="Comment" char="/" char1="/" context="SingleLineComment"/> 0138 <Detect2Chars attribute="Comment" context="MultiLineComment" char="/" char1="*" lookAhead="true" beginRegion="Comment1" /> 0139 <Detect2Chars attribute="Operator" char=":" char1=":" context="#stay"/> 0140 <AnyChar attribute="String" context="String" String=""'"/> 0141 <keyword attribute="Control Flow" context="#stay" String="controlflow" /> 0142 <keyword attribute="Keyword" context="#stay" String="keywords" /> 0143 <keyword attribute="Data Type" context="#stay" String="types" /> 0144 <RegExpr attribute="Attribute" context="#stay" String="@\w+"/> 0145 <RegExpr attribute="Function" firstNonSpace="true" context="Function" String="\w{1,}\s{0,}::\s{0,}(?=proc)" lookAhead="true"/> 0146 <RegExpr attribute="Variable" context="#stay" firstNonSpace="true" String="\s{0,}\w{1,},{0,1}\s{0,}\w{0,}\s{0,}(?=:\=|:)(?!::)"/> 0147 <RegExpr attribute="Float" context="#stay" String="\b(\d(\d|_)*(.\d(\d|_)*)?)((e|E)(\+|-)?\d+)?[ijk]?\b" /> 0148 <RegExpr attribute="Decimal" context="#stay" String="\b((0b(0|1|_)+)|(0o(\d|_)+)|(0d(\d|_)+)|(0[xXh](\h|_)+))[ijk]?\b" /> 0149 <AnyChar attribute="Operator" context="#stay" String="&symbols;" /> 0150 <DetectChar attribute="Operator" context="#stay" char="{" beginRegion="Brace1" /> 0151 <DetectChar attribute="Operator" context="#stay" char="}" endRegion="Brace1" /> 0152 <keyword attribute="Use" context="#stay" String="import"/> 0153 0154 </context> 0155 0156 <context name="SingleLineComment" attribute="Comment" lineEndContext="#pop"> 0157 <IncludeRules context="##Comments" /> 0158 </context> 0159 0160 <context name="MultiLineComment" attribute="Comment" lineEndContext="#stay"> 0161 <IncludeRules context="##Comments" /> 0162 <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment1"/> 0163 </context> 0164 0165 0166 <context name="String" attribute="String" lineEndContext="#stay"> 0167 <AnyChar attribute="String" context="#pop" String=""'"/> 0168 </context> 0169 0170 <context name="Function" attribute="Function" lineEndContext="#pop"> 0171 <Detect2Chars attribute="Operator" char=":" char1=":" context="#stay"/> 0172 <StringDetect attribute="Keyword" context="#stay" String="proc" /> 0173 <AnyChar attribute="Function" context="#pop" lookAhead="true" String="\("/> 0174 </context> 0175 0176 </contexts> 0177 <itemDatas> 0178 <itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false"/> 0179 <itemData name="Variable" defStyleNum="dsVariable"/> 0180 <itemData name="Control Flow" defStyleNum="dsControlFlow" spellChecking="false"/> 0181 <itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="false"/> 0182 <itemData name="Data Type" defStyleNum="dsDataType" spellChecking="false"/> 0183 <itemData name="Attribute" defStyleNum="dsAttribute"/> 0184 <itemData name="Function" defStyleNum="dsFunction"/> 0185 <itemData name="Operator" defStyleNum="dsOperator"/> 0186 <itemData name="String" defStyleNum="dsString"/> 0187 <itemData name="Comment" defStyleNum="dsComment"/> 0188 <itemData name="Decimal" defStyleNum="dsDecVal"/> 0189 <itemData name="Float" defStyleNum="dsFloat"/> 0190 <itemData name="Use" defStyleNum="dsImport"/> 0191 </itemDatas> 0192 </highlighting> 0193 <general> 0194 <comments> 0195 <comment name="singleLine" start="//" position="afterwhitespace" /> 0196 <comment name="multiLine" start="/*" end="*/" region="Comment"/> 0197 </comments> 0198 </general> 0199 </language>