<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE language><language author="Rubén Caro (ruben.caro.estevez@gmail.com), Boris Egorov (egorov@linux.com), Jade Pfeiffer (jade@pfeiffer.codes)" extensions="*.ex;*.exs" indenter="elixir" kateversion="5.79" license="LGPLv2+" mimetype="text/x-elixir" name="Elixir" section="Sources" style="elixir" version="16" priority="2"><highlighting><list name="control-flow"><item>catch</item><item>cond</item><item>else</item><item>if</item><item>raise</item><item>reraise</item><item>rescue</item><item>throw</item><item>try</item><item>unless</item></list><list name="keywords"><item>after</item><item>and</item><item>case</item><item>for</item><item>in</item><item>not</item><item>or</item><item>quote</item><item>receive</item><item>super</item><item>unquote</item><item>unquote_splicing</item><item>when</item><item>with</item></list><list name="atoms"><item>false</item><item>nil</item><item>true</item></list><list name="definitions"><item>defexception</item><item>defimpl</item><item>defmodule</item><item>defoverridable</item><item>defprotocol</item><item>defrecord</item><item>defstruct</item></list><list name="def-functions"><item>def</item><item>defdelegate</item><item>defguard</item><item>defguardp</item><item>defmacro</item><item>defmacrop</item><item>defp</item></list><list name="mixin-macros"><item>alias</item><item>import</item><item>require</item><item>use</item></list><list name="special-forms"><item>__CALLER__</item><item>__DIR__</item><item>__ENV__</item><item>__MODULE__</item><item>__STACKTRACE__</item></list><list name="module-attributes"><item>after_compile</item><item>after_verify</item><item>before_compile</item><item>behaviour</item><item>callback</item><item>compile</item><item>deprecated</item><item>dialyzer</item><item>external_resource</item><item>file</item><item>impl</item><item>nifs</item><item>on_definition</item><item>on_load</item><item>vsn</item></list><list name="struct-attributes"><item>derive</item><item>enforce_keys</item></list><list name="typespec-attributes"><item>callback</item><item>macrocallback</item><item>opaque</item><item>optional_callbacks</item><item>spec</item><item>type</item><item>typep</item></list><contexts><context name="Normal" attribute="Normal Text"><DetectChar char="[" attribute="Braces" beginRegion="list"/><DetectChar char="]" attribute="Braces" endRegion="list"/><DetectChar char="%" attribute="Braces" context="Map Or Struct"/><DetectChar char="{" attribute="Braces" beginRegion="map_or_struct_or_tuple"/><DetectChar char="}" attribute="Braces" endRegion="map_or_struct_or_tuple"/><DetectChar char="(" attribute="Braces" beginRegion="parameters"/><DetectChar char=")" attribute="Braces" endRegion="parameters"/><keyword String="keywords" attribute="Keyword"/><keyword String="control-flow" attribute="Control Flow"/><keyword String="definitions" attribute="Definition"/><keyword String="def-functions" attribute="Definition" context="Function Definition"/><keyword String="atoms" attribute="Atom"/><keyword String="mixin-macros" attribute="Mixin macros"/><keyword String="special-forms" attribute="Built In"/><DetectChar char="0" context="Numeric" lookAhead="1"/><AnyChar String="123456789" context="Int" lookAhead="1"/><DetectChar char="," attribute="Normal Text"/><DetectChar char="?" context="CharacterLiteral" lookAhead="1"/><IncludeRules context="Sigils"/><StringDetect String="::" attribute="Operator"/><DetectChar char=":" attribute="Atom" context="AtomValue"/><AnyChar String=".=+-*/\!^:|&amp;&lt;>" context="Operators" lookAhead="1"/><StringDetect String='"""' attribute="String" context="Heredoc"/><DetectChar char='"' attribute="String" context="Bitstring" lookAhead="1"/><DetectChar char="'" attribute="Charlist" context="Charlist"/><DetectChar char="#" attribute="Comment" context="Line Comment"/><DetectChar char="@" context="Module Attribute" lookAhead="1"/><DetectChar char="_" context="Underscore" lookAhead="1"/><RegExpr String="[A-Z][a-zA-Z0-9_]*" attribute="Module"/><RegExpr String="([a-z][a-zA-Z0-9_]*[?!]?)" context="Identifier" lookAhead="1"/><DetectSpaces/></context><context name="Interpolated" attribute="Interpolation"><DetectChar char="\" context="Escape Sequence" lookAhead="1"/><StringDetect String="#{" attribute="Interpolation" context="Interp"/></context><context name="Sigil Delimeter Modifiers" attribute="Normal Text" fallthroughContext="#pop" lineEndContext="#pop"><RegExpr String="[a-zA-Z]*" attribute="String" context="#pop"/></context><context name="Atomable Operators" attribute="Error" fallthroughContext="#pop"><StringDetect String="**" context="#pop"/><StringDetect String="=~" context="#pop"/><StringDetect String="\\" context="#pop"/><StringDetect String="|>" context="#pop"/><StringDetect String="->" context="#pop"/><StringDetect String=">=" context="#pop"/><AnyChar String="*/^" context="#pop"/><RegExpr String="([\+\-\=\|\!\&amp;])(?:\1\1?)?|&lt;(?:&lt;&lt;|~?>|&lt;?~|[-=])?|(?:[~>]>>|[~=]?>)" context="#pop"/></context><context name="Float Point" attribute="Float" fallthroughContext="#pop" lineEndContext="#pop"><AnyChar String="0123456789"/><RegExpr String="_\d+"/><StringDetect String="e-" context="#pop!Scientific Notation"/><DetectChar char="e" context="#pop!Scientific Notation"/></context><context name="Operators" attribute="Operator" fallthroughContext="#pop"><StringDetect String="=>" attribute="Operator" context="#pop"/><StringDetect String="::" attribute="Operator" context="#pop"/><AnyChar String="&lt;>" context="Arrows" lookAhead="1"/><StringDetect String="..." attribute="Operator" context="#pop"/><StringDetect String=".." attribute="Operator" context="#pop"/><DetectChar char="." attribute="Normal Text" context="#pop"/><AnyChar String="=+-*/\!^:|&amp;~" context="Atomable Operators" lookAhead="1"/></context><context name="Int" attribute="Integer" fallthroughContext="#pop" lineEndContext="#pop"><RegExpr String="\d+(_\d+)*\.[^\.]" attribute="Float" context="#pop!Float Point"/><AnyChar String="0123456789"/><RegExpr String="_\d+"/><StringDetect String=".." context="#pop!Operators"/><DetectChar char="." context="#pop!Float Point"/></context><context name="Scientific Notation" attribute="Float" fallthroughContext="#pop" lineEndContext="#pop"><AnyChar String="0123456789"/><RegExpr String="_\d+"/></context><context name="Sigil Angle" attribute="String"><DetectChar char=">" attribute="String" context="#pop!Sigil Delimeter Modifiers" endRegion="sigil"/></context><context name="Sigil Curly" attribute="String"><DetectChar char="}" attribute="String" context="#pop!Sigil Delimeter Modifiers" endRegion="sigil"/></context><context name="Sigil Match" attribute="String"><StringDetect String="%1" attribute="String" context="#pop!Sigil Delimeter Modifiers" endRegion="sigil" dynamic="1"/></context><context name="Sigil Paren" attribute="String"><DetectChar char=")" attribute="String" context="#pop!Sigil Delimeter Modifiers" endRegion="sigil"/></context><context name="Sigil Square" attribute="String"><DetectChar char="]" attribute="String" context="#pop!Sigil Delimeter Modifiers" endRegion="sigil"/></context><context name="Arrows" attribute="Operator" fallthroughContext="#pop!Atomable Operators"><StringDetect String="&lt;&lt;&lt;" attribute="Operator" context="#pop"/><StringDetect String=">>>" attribute="Operator" context="#pop"/><StringDetect String="&lt;&lt;" attribute="Braces" context="#pop" beginRegion="bitstring"/><StringDetect String=">>" attribute="Braces" context="#pop" endRegion="bitstring"/></context><context name="Atom Bitstring Key" attribute="Atom"><DetectChar char='"' attribute="Atom" context="#pop!Atom Bitstring Key Body"/></context><context name="Atom Bitstring Key Body" attribute="Atom"><StringDetect String='":' attribute="Atom" context="#pop"/><IncludeRules context="Interpolated"/></context><context name="AtomNodeName" attribute="Atom" fallthroughContext="#pop" lineEndContext="#pop"><AnyChar String="!?" attribute="Atom" context="#pop"/><RegExpr String="[a-z][a-zA-Z0-9_]*|@[a-zA-Z0-9_]*(\.[a-z][a-zA-Z0-9_]*)*" attribute="Atom"/></context><context name="AtomOperator" attribute="Atom" fallthroughContext="#pop" lineEndContext="#pop"><DetectChar char="@" attribute="Atom" context="#pop"/><StringDetect String="{}" attribute="Atom" context="#pop"/><StringDetect String="%{}" attribute="Atom" context="#pop"/><StringDetect String="&lt;&lt;>>" attribute="Atom" context="#pop"/><StringDetect String="..." attribute="Atom" context="#pop"/><StringDetect String=".." attribute="Atom" context="#pop"/><DetectChar char="." attribute="Atom" context="#pop"/><AnyChar String=".=+-*/\!^~:|&amp;&lt;>" context="AtomValue Operator" lookAhead="1"/></context><context name="AtomValue" attribute="Atom" fallthroughContext="#pop!AtomOperator"><RegExpr String="(&#34;|')" attribute="Atom" context="#pop!Quoted Atom"/><RegExpr String="(?:_|[a-z][a-zA-Z0-9_]*)" attribute="Atom" context="#pop!AtomNodeName"/></context><context name="AtomValue Operator" attribute="Error" fallthroughContext="#pop"><IncludeRules context="Atomable Operators"/></context><context name="Base Bin" attribute="Bin" fallthroughContext="#pop" lineEndContext="#pop"><AnyChar String="01"/><StringDetect String="_1"/><StringDetect String="_0"/></context><context name="Base Hex" attribute="Hex" fallthroughContext="#pop" lineEndContext="#pop"><AnyChar String="0123456789ABCDEFabcdef"/><RegExpr String="_[\dA-F]+" insensitive="1"/></context><context name="Base Oct" attribute="Octal" fallthroughContext="#pop" lineEndContext="#pop"><AnyChar String="01234567"/><RegExpr String="_[0-7]+"/></context><context name="Bitstring" attribute="String"><RegExpr String='"(?:\\.|#\{.+\}|[^"])*":\s' attribute="Atom" context="#pop!Atom Bitstring Key" minimal="1" lookAhead="1"/><DetectChar char='"' attribute="String" context="#pop!Bitstring Body"/></context><context name="Bitstring Body" attribute="String"><DetectChar char='"' attribute="String" context="#pop"/><IncludeRules context="Interpolated"/></context><context name="CharacterLiteral" attribute="Char Literal" fallthroughContext="#pop"><RegExpr String="\?(\\\S|[^\s\\])" attribute="Char Literal" context="#pop"/><StringDetect String="?\" attribute="Error" context="#pop"/></context><context name="Charlist" attribute="Charlist"><DetectChar char="'" attribute="Charlist" context="#pop"/><IncludeRules context="Interpolated"/></context><context name="Doc" attribute="Attribute" fallthroughContext="#pop" lineEndContext="#pop"><RegExpr String='%1 (?:~[Ss])?("(?:"")?)' context="#pop!Doc Interp" beginRegion="doc_comment" dynamic="1"/><StringDetect String="%1" context="#pop" dynamic="1"/></context><context name="Doc Interp" attribute="DocComment"><StringDetect String="%1" attribute="DocComment" context="#pop" endRegion="doc_comment" dynamic="1"/><IncludeRules context="Interpolated"/><IncludeRules context="Markdown"/></context><context name="Escape Sequence" attribute="Special Char"><RegExpr String="\\(?:.|x[\dA-F]{2}|u(?:[\dA-F]{4}|\{[\dA-F]+\}))" attribute="Special Char" context="#pop" insensitive="1"/></context><context name="Function" attribute="Function" fallthroughContext="#pop"><StringDetect String="%1" attribute="Function" context="#pop" dynamic="1"/><DetectChar char="(" attribute="Braces" context="#pop" beginRegion="parameters"/></context><context name="Function Definition" attribute="Function" fallthroughContext="#pop"><RegExpr String="_*[a-z][a-zA-Z0-9_]*[?!]?" attribute="Function" context="#pop"/><DetectSpaces attribute="Normal Text"/></context><context name="Heredoc" attribute="String"><StringDetect String='"""' attribute="String" context="#pop"/></context><context name="Identifier" attribute="Variable" fallthroughContext="#pop"><RegExpr String="(%1)\(" context="#pop!Function" dynamic="1" lookAhead="1"/><RegExpr String="%1:(?!:)" attribute="Atom" context="#pop" dynamic="1"/><WordDetect String="do" attribute="Keyword" beginRegion="doend_block"/><WordDetect String="fn" attribute="Keyword" beginRegion="doend_block"/><WordDetect String="end" attribute="Keyword" endRegion="doend_block"/><StringDetect String="%1" attribute="Variable" context="#pop" dynamic="1"/><DetectSpaces context="#pop" lookAhead="1"/></context><context name="Interp" attribute="Normal Text"><DetectChar char="}" attribute="Interpolation" context="#pop"/><IncludeRules context="Normal"/></context><context name="Line Comment" attribute="Comment" lineEndContext="#pop"><DetectSpaces/><IncludeRules context="##Comments"/></context><context name="Map Or Struct" attribute="Normal Text" fallthroughContext="#pop"><DetectChar char="{" context="#pop" lookAhead="1"/><keyword String="special-forms" attribute="Built In"/><RegExpr String="_*[A-Z][a-zA-Z0-9_]*" attribute="Module"/></context><context name="Markdown" attribute="DocComment"><RegExpr String="^(\s*)#{1,7}\s" context="Markdown Header" column="0" lookAhead="1"/><RegExpr String="^\s*([\+\-\*]|\d+\.)\s" attribute="MarkdownMark" column="0"/><RegExpr String="`.+`" context="Markdown Code" minimal="1" lookAhead="1"/><DetectSpaces/></context><context name="Markdown Code" attribute="Normal Text"><DetectChar char="`" attribute="DocComment" context="#pop!Markdown Code Body"/></context><context name="Markdown Code Body" attribute="Normal Text" lineEndContext="#pop"><DetectChar char="`" context="#pop"/><IncludeRules context="Normal"/></context><context name="Markdown Header" attribute="MarkdownHead" lineEndContext="#pop"><StringDetect String="%1" attribute="Normal Text" dynamic="1"/><DetectSpaces/></context><context name="Module Attribute" attribute="Attribute" lineEndContext="#pop"><RegExpr String="(@(?:module|type)?doc)" context="#pop!Doc" lookAhead="1"/><DetectChar char="@" attribute="Normal Text"/><keyword String="module-attributes" attribute="Built In"/><keyword String="struct-attributes" attribute="Built In"/><keyword String="typespec-attributes" attribute="Built In"/><RegExpr String="([a-z][a-zA-Z0-9_]*[?!]?)" attribute="Normal Text" context="#pop"/><DetectSpaces context="#pop"/></context><context name="Numeric" attribute="Integer" fallthroughContext="#pop" lineEndContext="#pop"><StringDetect String="0b" attribute="Bin" context="#pop!Base Bin"/><StringDetect String="0x" attribute="Hex" context="#pop!Base Hex"/><StringDetect String="0o" attribute="Octal" context="#pop!Base Oct"/><StringDetect String="0." attribute="Float" context="#pop!Float Point"/><DetectChar char="0" attribute="Integer" context="#pop!Int" lookAhead="1"/></context><context name="Quoted Atom" attribute="Atom"><StringDetect String="%1" attribute="Atom" context="#pop" dynamic="1"/><IncludeRules context="Interpolated"/></context><context name="Sigil" attribute="String"><DetectChar char="~" attribute="String"/><RegExpr String="[a-z]" attribute="String" context="#pop!Sigil Delimeter Interp"/><RegExpr String="[A-Z]" attribute="String" context="#pop!Sigil Delimeter Raw"/></context><context name="Sigil Delimeter Interp" attribute="String"><DetectChar char="[" attribute="String" context="#pop!Sigil Interp Square" beginRegion="sigil"/><DetectChar char="(" attribute="String" context="#pop!Sigil Interp Paren" beginRegion="sigil"/><DetectChar char="{" attribute="String" context="#pop!Sigil Interp Curly" beginRegion="sigil"/><DetectChar char="&lt;" attribute="String" context="#pop!Sigil Interp Angle" beginRegion="sigil"/><RegExpr String="(&#34;&#34;&#34;|[/|&#34;'])" attribute="String" context="#pop!Sigil Interp Match" beginRegion="sigil"/></context><context name="Sigil Delimeter Raw" attribute="String"><DetectChar char="[" attribute="String" context="#pop!Sigil Square" beginRegion="sigil"/><DetectChar char="(" attribute="String" context="#pop!Sigil Paren" beginRegion="sigil"/><DetectChar char="{" attribute="String" context="#pop!Sigil Curly" beginRegion="sigil"/><DetectChar char="&lt;" attribute="String" context="#pop!Sigil Angle" beginRegion="sigil"/><RegExpr String="(&#34;&#34;&#34;|[/|&#34;'])" attribute="String" context="#pop!Sigil Match" beginRegion="sigil"/></context><context name="Sigil HEEx" attribute="String"><DetectChar char="~" attribute="String" beginRegion="sigil_heex"/><DetectChar char="H" attribute="String"/><RegExpr String="(&#34;&#34;&#34;|[/|&#34;'])" attribute="String" context="#pop!Sigil Interp HEEx" beginRegion="sigil"/></context><context name="Sigil Interp Angle" attribute="String"><IncludeRules context="Sigil Angle"/><IncludeRules context="Interpolated"/></context><context name="Sigil Interp Curly" attribute="String"><IncludeRules context="Sigil Curly"/><IncludeRules context="Interpolated"/></context><context name="Sigil Interp HEEx" attribute="Normal Text"><StringDetect String="%1" attribute="String" context="#pop" dynamic="1"/><IncludeRules context="Text##Elixir/HEEx"/></context><context name="Sigil Interp Match" attribute="String"><IncludeRules context="Sigil Match"/><IncludeRules context="Interpolated"/></context><context name="Sigil Interp Paren" attribute="String"><IncludeRules context="Sigil Paren"/><IncludeRules context="Interpolated"/></context><context name="Sigil Interp Square" attribute="String"><IncludeRules context="Sigil Square"/><IncludeRules context="Interpolated"/></context><context name="Sigils" attribute="String"><StringDetect String='~H"' context="Sigil HEEx" lookAhead="1"/><RegExpr String="~(?:[a-z]|[A-Z][A-Z\d]*)[/|&#34;'\(\{\[\&lt;]" attribute="String" context="Sigil" lookAhead="1"/><DetectChar char="~" attribute="Operator" context="Operators" lookAhead="1"/></context><context name="Underscore" attribute="Variable Underscore"><RegExpr String="_*[a-z][a-zA-Z0-9_]*[?!]?" attribute="Variable Underscore" context="#pop"/><DetectChar char="_" attribute="Variable Underscore" context="#pop"/></context></contexts><itemDatas><itemData defStyleNum="dsNormal" name="Normal Text"/><itemData defStyleNum="dsNormal" name="Braces"/><itemData defStyleNum="dsOperator" name="Operator"/><itemData defStyleNum="dsKeyword" name="Keyword"/><itemData defStyleNum="dsControlFlow" name="Control Flow"/><itemData defStyleNum="dsKeyword" name="Definition"/><itemData defStyleNum="dsImport" name="Mixin macros"/><itemData defStyleNum="dsNormal" name="Variable"/><itemData defStyleNum="dsComment" name="Variable Underscore"/><itemData defStyleNum="dsNormal" name="Module"/><itemData defStyleNum="dsNormal" name="Attribute"/><itemData defStyleNum="dsBuiltIn" name="Built In"/><itemData defStyleNum="dsFunction" name="Function"/><itemData defStyleNum="dsVariable" name="Atom"/><itemData defStyleNum="dsDecVal" name="Integer"/><itemData defStyleNum="dsFloat" name="Float"/><itemData defStyleNum="dsBaseN" name="Octal"/><itemData defStyleNum="dsBaseN" name="Hex"/><itemData defStyleNum="dsBaseN" name="Bin"/><itemData defStyleNum="dsChar" name="Char Literal"/><itemData defStyleNum="dsString" name="String"/><itemData defStyleNum="dsVerbatimString" name="Charlist"/><itemData defStyleNum="dsSpecialChar" name="Special Char"/><itemData defStyleNum="dsFunction" name="Interpolation"/><itemData defStyleNum="dsComment" name="Comment"/><itemData defStyleNum="dsDocumentation" name="DocComment"/><itemData defStyleNum="dsDocumentation" name="MarkdownHead" bold="1" underline="1"/><itemData defStyleNum="dsDocumentation" name="MarkdownMark" bold="1"/><itemData defStyleNum="dsError" name="Error"/></itemDatas></highlighting><general><comments><comment name="singleLine" start="#"/></comments><keywords casesensitive="1" weakDeliminator="!?:"/></general></language>