<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<language name="REXX" version="1.01" kateversion="2.2" section="Scripts" extensions="*.rex" mimetype="">
  <highlighting>
    <list name="instructions">
      <item> arg </item>
      <item> drop </item>
      <item> else </item>
      <item> end </item>
      <item> exit </item>
      <item> forever </item>
      <item> if </item>
      <item> interpret </item>
      <item> iterate </item>
      <item> leave </item>
      <item> nop </item>
      <item> options </item>
      <item> otherwise </item>
      <item> pull </item>
      <item> push </item>
      <item> queue </item>
      <item> return </item>
      <item> say </item>
      <item> select </item>
      <item> syntax </item>
      <item> then </item>
    </list>
    <list name="builtin">
      <item> abbrev </item>
      <item> abs </item>
      <item> address </item>
      <item> bitand </item>
      <item> bitor </item>
      <item> bitxor </item>
      <item> b2x </item>
      <item> center </item>
      <item> charin </item>
      <item> charout </item>
      <item> chars </item>
      <item> c2d </item>
      <item> c2x </item>
      <item> compare </item>
      <item> condition </item>
      <item> copies </item>
      <item> datatype </item>
      <item> date </item>
      <item> delstr </item>
      <item> delword </item>
      <item> digits </item>
      <item> d2c </item>
      <item> d2x </item>
      <item> errortext </item>
      <item> form </item>
      <item> format </item>
      <item> fuzz </item>
      <item> insert </item>
      <item> lastpos </item>
      <item> left </item>
      <item> linein </item>
      <item> lineout </item>
      <item> lines </item>
      <item> max </item>
      <item> min </item>
      <item> overlay </item>
      <item> pos </item>
      <item> queued </item>
      <item> random </item>
      <item> reverse </item>
      <item> right </item>
      <item> sign </item>
      <item> sourceline </item>
      <item> space </item>
      <item> stream </item>
      <item> strip </item>
      <item> substr </item>
      <item> subword </item>
      <item> symbol </item>
      <item> time </item>
      <item> trace </item>
      <item> translate </item>
      <item> trunc </item>
      <item> value </item>
      <item> verify </item>
      <item> word </item>
      <item> wordindex </item>
      <item> wordlength </item>
      <item> wordpos </item>
      <item> words </item>
      <item> xrange </item>
      <item> x2b </item>
      <item> x2c </item>
      <item> x2d </item>
    </list>
    <contexts>
      <context attribute="Normal Text" lineEndContext="#stay" name="Normal">
        <keyword attribute="Instructions" context="#stay" String="instructions" />
        <keyword attribute="Built In" context="#stay" String="builtin" />
        <RegExpr attribute="Instructions" context="#stay" insensitive="true" String="\bsignal([\s]*(on|off)[\s]*(error|failure|halt|notready|novalue|syntax|lostdigits))*"/>
        <RegExpr attribute="Instructions" context="#stay" insensitive="true" String="\bcall([\s]*(on|off)[\s]*(error|failure|halt|notready))*"/>
        <RegExpr attribute="Instructions" context="#stay" insensitive="true" String="\b(trace|address)\s*[_\w\d]"/>
        <RegExpr attribute="Instructions" context="#stay" insensitive="true" String="\bprocedure([\s]*expose)?"/>
        <RegExpr attribute="Instructions" context="#stay" insensitive="true" String="\bdo([\s]*forever)?"/>
        <DetectChar attribute="String" context="String" char="&apos;"/>
        <Detect2Chars attribute="Comment" context="Commentar 1" char="/" char1="*" beginRegion="Comment"/>
        <AnyChar attribute="Symbol" context="#stay" String=":!%&amp;()+,-/.*&lt;=&gt;?[]{|}~^&#59;"/>
        <RegExpr attribute="Function" context="#stay" String="\b[_\w][_\w\d]*(?=[\s]*[(:])" />
      </context>
      <context attribute="String" lineEndContext="#pop" name="String">
        <LineContinue attribute="String" context="#stay"/>
        <DetectChar attribute="String" context="#pop" char="&apos;"/>
      </context>
      <context attribute="Comment" lineEndContext="#stay" name="Commentar 1">
        <RegExpr attribute="Alert" context="#stay" String="(FIXME|TODO)" />
        <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment"/>
      </context>
    </contexts>
    <itemDatas>
      <itemData name="Normal Text"  defStyleNum="dsNormal"/>
      <itemData name="Instructions" defStyleNum="dsKeyword"/>
      <itemData name="Built In"     defStyleNum="dsNormal" color="#000090"/>
      <itemData name="Function"     defStyleNum="dsFunction" />
      <itemData name="String"       defStyleNum="dsString"/>
      <itemData name="Comment"      defStyleNum="dsComment"/>
      <itemData name="Symbol"       defStyleNum="dsNormal"/>
      <itemData name="Alert"        defStyleNum="dsAlert" />
    </itemDatas>
  </highlighting>
  <general>
    <comments>
      <comment name="multiLine" start="/*" end="*/" />
    </comments>
    <keywords casesensitive="0" />
  </general>
</language>
