<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE language><language name="Odin" section="Sources" version="7" kateversion="5.79" indenter="cstyle" extensions="*.odin" priority="1" author="Akseli Lahtinen (akselmo@akselmo.dev)" license="MIT"><highlighting><list name="controlflow"><item>break</item><item>continue</item><item>do</item><item>else</item><item>fallthrough</item><item>for</item><item>if</item><item>in</item><item>not_in</item><item>or_break</item><item>or_continue</item><item>or_else</item><item>or_return</item><item>return</item><item>switch</item><item>when</item><item>where</item></list><list name="keywords"><item>---</item><item>align_of</item><item>asm</item><item>auto_cast</item><item>bit_set</item><item>case</item><item>cast</item><item>const</item><item>defer</item><item>distinct</item><item>dynamic</item><item>enum</item><item>false</item><item>force_inline</item><item>force_no_inline</item><item>map</item><item>nil</item><item>offset_of</item><item>size_of</item><item>struct</item><item>transmute</item><item>true</item><item>type_info_of</item><item>type_of</item><item>typeid_of</item><item>union</item></list><list name="context"><item>context</item></list><list name="types"><item>any</item><item>b16</item><item>b32</item><item>b64</item><item>b8</item><item>bool</item><item>byte</item><item>complex128</item><item>complex32</item><item>complex64</item><item>complex_double</item><item>complex_float</item><item>cstring</item><item>f16</item><item>f16be</item><item>f16le</item><item>f32</item><item>f32be</item><item>f32le</item><item>f64</item><item>f64be</item><item>f64le</item><item>i128</item><item>i128be</item><item>i128le</item><item>i16</item><item>i16be</item><item>i16le</item><item>i32</item><item>i32be</item><item>i32le</item><item>i64</item><item>i64be</item><item>i64le</item><item>i8</item><item>int</item><item>quaternion128</item><item>quaternion256</item><item>quaternion64</item><item>rawptr</item><item>rune</item><item>string</item><item>typeid</item><item>u128</item><item>u128be</item><item>u128le</item><item>u16</item><item>u16be</item><item>u16le</item><item>u32</item><item>u32be</item><item>u32le</item><item>u64</item><item>u64be</item><item>u64le</item><item>u8</item><item>uint</item><item>uintptr</item></list><list name="procedure"><item>proc</item></list><list name="import"><item>foreign</item><item>import</item><item>package</item></list><list name="attributes"><item>builtin</item><item>cold</item><item>default_calling_convention</item><item>deferred_in</item><item>deferred_in_out</item><item>deferred_none</item><item>deferred_out</item><item>deprecated</item><item>disabled</item><item>enable_target_feature</item><item>extra_linker_flags</item><item>init</item><item>link_name</item><item>link_prefix</item><item>link_section</item><item>linkage</item><item>objc_is_class_method</item><item>objc_type</item><item>optimization_mode</item><item>private</item><item>require</item><item>require_results</item><item>require_target_feature</item><item>static</item><item>test</item><item>thread_local</item></list><contexts><context name="Normal Text" attribute="Normal Text"><StringDetect String="//" attribute="Comment" context="SingleLineComment"/><StringDetect String="/*" attribute="Comment" context="MultiLineComment" beginRegion="Comment1" lookAhead="1"/><StringDetect String="::" attribute="Operator"/><DetectChar char='"' attribute="String" context="DoubleQuoteString"/><DetectChar char="'" attribute="Character" context="Character"/><keyword String="controlflow" attribute="Control Flow"/><keyword String="keywords" attribute="Keyword"/><keyword String="types" attribute="Data Type"/><keyword String="context" attribute="Context Variable"/><DetectChar char="@" attribute="Attribute" context="AttributeContext" column="0"/><AnyChar String="0123456789" context="Number" lookAhead="1"/><RegExpr String="\#\w+" attribute="Directive"/><RegExpr String="\w{1,}\s{0,}::\s{0,}(?=proc)" attribute="Procedure" context="Procedure" firstNonSpace="1" lookAhead="1"/><RegExpr String="[A-Za-z_0-9]*\s*(?=\()" attribute="Procedure"/><RegExpr String="\w{1,},{0,1}\s{0,}\w{0,}\s{0,}(?=:\=|:\s{0,}\w{1,}\s{0,}\=)(?!::)" attribute="Variable" firstNonSpace="1"/><AnyChar String=":!%&amp;()+,-/.*&lt;=>?[]|~^;" attribute="Operator"/><DetectChar char="{" attribute="Operator" beginRegion="Brace1"/><DetectChar char="}" attribute="Operator" endRegion="Brace1"/><DetectChar char="`" attribute="RawString" context="RawString"/><keyword String="import" attribute="Use"/><DetectIdentifier/></context><context name="SuffixNumber" attribute="Normal Text" fallthroughContext="#pop" lineEndContext="#pop"><DetectChar char=":" attribute="Symbol" context="#pop"/><StringDetect String=".." attribute="Symbol" context="#pop"/><AnyChar String=".0123456789" attribute="Error" context="#pop"/><DetectIdentifier attribute="Error" context="#pop"/></context><context name="EscapeChar" attribute="String Char" lineEndContext="#pop"><RegExpr String="\\([nrt'&#34;\\]|x[0-9a-fA-F]{2}|[0-7]{3}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})" attribute="String Char" context="#pop"/></context><context name="AttributeContext" attribute="Normal Text" lineEndContext="#pop"><DetectChar char="(" attribute="Symbol"/><DetectSpaces/><keyword String="attributes" attribute="Attribute" context="#pop"/></context><context name="Character" attribute="Character" lineEndContext="#pop"><DetectChar char="\" context="EscapeChar" lookAhead="1"/><DetectChar char="'" attribute="Character" context="#pop"/></context><context name="DoubleQuoteString" attribute="String" lineEndContext="#pop"><DetectChar char="\" context="EscapeChar" lookAhead="1"/><DetectChar char='"' attribute="String" context="#pop"/></context><context name="MultiLineComment" attribute="Comment"><IncludeRules context="##Comments"/><StringDetect String="*/" attribute="Comment" context="#pop" endRegion="Comment1"/></context><context name="Number" attribute="Normal Text" lineEndContext="#pop"><RegExpr String="(?:[0-9]+(?:_[0-9]+)*)(\.(?:[0-9]+(?:_[0-9]+)*)(?:[eE][+-]?(?:[0-9]+(?:_[0-9]+)*))?|(?:[eE][+-]?(?:[0-9]+(?:_[0-9]+)*)))" attribute="Float" context="#pop!SuffixNumber"/><RegExpr String="0(?=[^xob]|$)|(?=0[xob])|(?:[0-9]+(?:_[0-9]+)*)" attribute="Decimal" context="#pop!SuffixNumber"/><RegExpr String="0x(?:[0-9A-Fa-f]+(?:_[0-9A-Fa-f]+)*)" attribute="Hex" context="#pop!SuffixNumber"/><RegExpr String="0o(?:[0-7]+(?:_[0-7]+)*)" attribute="Octal" context="#pop!SuffixNumber"/><RegExpr String="0b(?:[01]+(?:_[01]+)*)" attribute="Binary" context="#pop!SuffixNumber"/><DetectChar char="0" attribute="Decimal" context="#pop!SuffixNumber"/></context><context name="Procedure" attribute="Procedure" lineEndContext="#pop"><StringDetect String="::" attribute="Operator"/><WordDetect String="proc" attribute="Keyword"/><DetectChar char='"' attribute="String" context="SimpleDoubleQuoteString"/><AnyChar String="\(" attribute="Symbol" context="#pop" lookAhead="1"/></context><context name="RawString" attribute="RawString"><DetectChar char="`" attribute="RawString" context="#pop"/></context><context name="SimpleDoubleQuoteString" attribute="String" lineEndContext="#pop"><DetectChar char='"' attribute="String" context="#pop"/></context><context name="SingleLineComment" attribute="Comment" lineEndContext="#pop"><IncludeRules context="##Comments"/></context></contexts><itemDatas><itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="0"/><itemData name="Variable" defStyleNum="dsVariable"/><itemData name="Control Flow" defStyleNum="dsControlFlow" spellChecking="0"/><itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="0"/><itemData name="Data Type" defStyleNum="dsDataType" spellChecking="0"/><itemData name="Attribute" defStyleNum="dsAttribute"/><itemData name="Directive" defStyleNum="dsPreprocessor"/><itemData name="Procedure" defStyleNum="dsFunction"/><itemData name="Operator" defStyleNum="dsOperator"/><itemData name="String" defStyleNum="dsString"/><itemData name="RawString" defStyleNum="dsSpecialString"/><itemData name="Comment" defStyleNum="dsComment"/><itemData name="Binary" defStyleNum="dsBaseN" spellChecking="0"/><itemData name="Octal" defStyleNum="dsBaseN" spellChecking="0"/><itemData name="Hex" defStyleNum="dsBaseN" spellChecking="0"/><itemData name="Decimal" defStyleNum="dsDecVal" spellChecking="0"/><itemData name="Float" defStyleNum="dsFloat" spellChecking="0"/><itemData name="Use" defStyleNum="dsImport"/><itemData name="Error" defStyleNum="dsError" spellChecking="0"/><itemData name="Context Variable" defStyleNum="dsKeyword" spellChecking="0"/><itemData name="Symbol" defStyleNum="dsOperator" spellChecking="0"/><itemData name="String Char" defStyleNum="dsSpecialChar"/><itemData name="Character" defStyleNum="dsChar" spellChecking="0"/></itemDatas></highlighting><general><comments><comment name="singleLine" start="//" position="afterwhitespace"/><comment name="multiLine" start="/*" end="*/" region="Comment"/></comments></general></language>