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

<metadata>
  <property name="mimetypes">text/x-html-erb</property>
  <property name="globs">*.html.erb;*.rhtml</property>
  <property name="block-comment-start">&lt;!--</property>
  <property name="block-comment-end">--&gt;</property>
</metadata>

<!-- also see erb.lang -->

<styles><!-- you should not edit these but the original ones -->
  <style id="tag"          _name="ERB tag"          map-to="erb:tag"/>
  <style id="output"       _name="ERB output tag"   map-to="erb:output"/>
  <style id="ruby-method"  _name="Ruby method"      map-to="ruby:method"/>
  <style id="ruby-keyword" _name="Ruby keyword"     map-to="ruby:keyword"/>
</styles>

<definitions>
   <!-- JS code inside javascript_tag -->
  <context id="javascript-block">
     <start>(&lt;%=)\s*(javascript_tag)\s*(do|\{)\s*(%&gt;)</start>
     <end>(&lt;%)\s*(end|})\s*(%&gt;)</end>
     <include>
        <context where="start" sub-pattern="1" style-ref="output"/>
        <context where="start" sub-pattern="2" style-ref="ruby-method"/>
        <context where="start" sub-pattern="3" style-ref="ruby-keyword"/>
        <context where="start" sub-pattern="4" style-ref="output"/>
        <context where="end"   sub-pattern="1" style-ref="tag"/>
        <context where="end"   sub-pattern="2" style-ref="ruby-keyword"/>
        <context where="end"   sub-pattern="3" style-ref="tag"/>
        <context ref="js:js"/>
    </include>
  </context>

  <replace id="html:embedded-lang-hook" ref="erb:erb"/><!-- allow erb tags in strings -->

  <context id="html-erb">
    <include>
      <context ref="javascript-block"/>
      <context ref="erb:erb"/>
      <context ref="html:html"/>
    </include>
  </context>

</definitions>

</language>