<?xml version=“1.0” encoding=“UTF-8”?> <language id=“erb” _name=“Embedded Ruby (erb)” version=“2.0” _section=“Markup”>

<metadata>
  <property name="mimetypes">text/erb</property>
  <property name="globs">*(?&lt;!text).erb</property>
</metadata>

<styles>
  <style id="tag"         _name="ERB tag: &lt;%"         map-to="xml:cdata-delim"/>
  <style id="output"      _name="ERB output tag_ &lt;%=" map-to="erb:tag"/>
  <style id="comment"     _name="ERB comment: &lt;%#"    map-to="xml:comment"/>
</styles>

<definitions>
  <context id="block-comment" style-ref="comment">
    <start>&lt;%#</start>
    <end>-?%&gt;</end>
    <include>
      <context ref="def:in-comment"/>
    </include>
  </context>

  <context id="block-output" class="no-spell-check">
    <start>&lt;%=</start>
    <end>-?%&gt;</end>
    <include>
      <context where="start" sub-pattern="0" style-ref="output"/>
      <context where="end"   sub-pattern="0" style-ref="output"/>
      <context ref="ruby-code"/>
    </include>
  </context>

  <context id="block" class="no-spell-check">
    <start>&lt;%</start>
    <end>-?%&gt;</end>
    <include>
      <context where="start" sub-pattern="0" style-ref="tag"/>
      <context where="end"   sub-pattern="0" style-ref="tag"/>
      <context ref="ruby-code"/>
    </include>
  </context>

  <context id="ruby-code" extend-parent="false"><!-- extend false -->
    <start></start><end>$^</end><!-- everything -->
    <include>
      <context ref="ruby:ruby"/>
    </include>
  </context>

  <context id="erb">
    <include>
      <context ref="block-comment"/>
      <context ref="block-output"/>
      <context ref="block"/>
    </include>
  </context>

</definitions>

</language>