====================
Directives
====================

<div>
  <% names.each do |name| _%>
    <div>
      <%= name -%>
    </div>
    <span>
      <% something() -%>
    </span>
  <%_ end %>
</div>

---

(template
  (content)
  (directive (code))
  (content)
  (output_directive (code))
  (content)
  (directive (code))
  (content)
  (directive (code))
  (content))

===============================
Escaped directive start strings
===============================

This "<%%" is not a directive

---

(template (content))

===============================
Comment directives
===============================

<span><%# a comment %></span>

---

(template
  (content)
  (comment_directive (comment))
  (content))

===============================
Underscores in code
===============================

<div>
<% page_info :selected_link %>
</div>

---

(template
  (content)
  (directive (code))
  (content))

===============================
Empty directive
===============================

<% %>
  <%= "hello" %>

---

(template 
  (content)
  (directive (code))
  (content)
  (output_directive (code))
  (content)
) 

===============================
Empty comment
===============================

<%#%>

---

(template
  (content)
  (comment_directive)
  (content))

===============================
Empty directives
===============================

<%%>
<% %>
<%-%>
<% -%>
<%_ %>
<%_%>
<%_-%>
<%__%>
<%=%>
<%=-%>
<%==%>
<%-%>
<%--%>
<%-=%>
<%#%>
<%graphql%>

---

(template
  (content)
  (directive (code))
  (content)
  (output_directive)
  (content)
  (directive (code))
  (content)
  (directive (code))
  (content)
  (directive)
  (content)
  (directive)
  (content)
  (directive)
  (content)
  (output_directive)
  (content)
  (output_directive)
  (content)
  (output_directive)
  (content)
  (output_directive)
  (content)
  (output_directive)
  (content)
  (output_directive)
  (content)
  (comment_directive)
  (content)
  (graphql_directive)
  (content)
)
