<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<language name="Sather" version="2" kateversion="2.2" section="Sources" extensions="*.sa" mimetype="text/x-sather-src" casesensitive="1">
        <highlighting>
                <list name="keywords">
                        <item>and</item>
                        <item>assert</item>
                        <item>attr</item>
                        <item>break!</item>
                        <item>case</item>
                        <item>class</item>
                        <item>const</item>
                        <item>else</item>
                        <item>elsif</item>
                        <item>end</item>
                        <item>exception</item>
                        <item>external</item>
                        <item>false</item>
                        <item>if</item>
                        <item>include</item>
                        <item>initial</item>
                        <item>is</item>
                        <item>ITER</item>
                        <item>loop</item>
                        <item>new</item>
                        <item>or</item>
                        <item>post</item>
                        <item>pre</item>
                        <item>private</item>
                        <item>protect</item>
                        <item>quit</item>
                        <item>raise</item>
                        <item>readonly</item>
                        <item>result</item>
                        <item>return</item>
                        <item>ROUT</item>
                        <item>SAME</item>
                        <item>self</item>
                        <item>shared</item>
                        <item>then</item>
                        <item>true</item>
                        <item>typecase</item>
                        <item>type</item>
                        <item>until!</item>
                        <item>value</item>
                        <item>void</item>
                        <item>when</item>
                        <item>while!</item>
                        <item>yield</item>
                        <item>abstract</item>
                        <item>any</item>
                        <item>bind</item>
                        <item>fork</item>
                        <item>guard</item>
                        <item>immutable</item>
                        <item>inout</item>
                        <item>in</item>
                        <item>lock</item>
                        <item>once</item>
                        <item>out</item>
                        <item>parloop</item>
                        <item>partial</item>
                        <item>par</item>
                        <item>spread</item>
                        <item>stub</item>
                </list>
                <list name="types">
                        <item>$OB</item>
                        <item>ARRAY</item>
                        <item>AREF</item>
                        <item>AVAL</item>
                        <item>BOOL</item>
                        <item>CHAR</item>
                        <item>EXT_OB</item>
                        <item>FLTDX</item>
                        <item>FLTD</item>
                        <item>FLTX</item>
                        <item>FLTI</item>
                        <item>FLT</item>
                        <item>INTI</item>
                        <item>INT</item>
                        <item>$REHASH</item>
                        <item>STR</item>
                        <item>SYS</item>
                </list>
                <list name="features">
                        <item>create</item>
                        <item>invariant</item>
                        <item>main</item>
                        <item>aget</item>
                        <item>aset</item>
                        <item>div</item>
                        <item>is_eq</item>
                        <item>is_geq</item>
                        <item>is_gt</item>
                        <item>is_leq</item>
                        <item>is_lt</item>
                        <item>is_neq</item>
                        <item>minus</item>
                        <item>mod</item>
                        <item>negate</item>
                        <item>not</item>
                        <item>plus</item>
                        <item>pow</item>
                        <item>times</item>
                </list>
                <contexts>
                        <context attribute="Normal Text" lineEndContext="#stay" name="Normal">
                                <keyword attribute="Keyword" context="#stay" String="keywords"/>
                                <keyword attribute="Data Type" context="#stay" String="types"/>
                                <keyword attribute="Features" context="#stay" String="features"/>
                                <Float attribute="Float" context="#stay"/>
                                <Int attribute="Decimal" context="#stay"/>
                                <RegExpr attribute="Char" context="#stay" String="'.'"/>
                                <DetectChar attribute="String" context="String" char="&quot;"/>
                                <Detect2Chars attribute="Comment" context="Comment" char="-" char1="-"/>
                        </context>
                        <context attribute="String" lineEndContext="#stay" name="String">
                                <DetectChar attribute="String" context="#pop" char="&quot;"/>
                        </context>
                        <context attribute="Comment" lineEndContext="#pop" name="Comment"/>
                </contexts>
                <itemDatas>
                        <itemData name="Normal Text" defStyleNum="dsNormal" />
                        <itemData name="Keyword"     defStyleNum="dsKeyword" />
                        <itemData name="Data Type"   defStyleNum="dsDataType"/>
                        <itemData name="Features"    defStyleNum="dsOthers" />
                        <itemData name="Decimal"     defStyleNum="dsDecVal" />
                        <itemData name="Float"       defStyleNum="dsFloat" />
                        <itemData name="Char"        defStyleNum="dsChar" />
                        <itemData name="String"      defStyleNum="dsString" />
                        <itemData name="Comment"     defStyleNum="dsComment" />
                </itemDatas>
  </highlighting>
  <general>
    <comments>
      <comment name="singleLine" start="--" />
    </comments>
    <keywords casesensitive="1" weakDeliminator="$!"/>
  </general>
</language>
