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

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

---

(template
  (content)
  (directive (code))
  (content)
  (output_directive (code))
  (content)
  (output_directive (code))
  (content)
  (output_directive (code))
  (content)
  (output_directive (code))
  (content)
  (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)
  (directive)
  (content)
  (output_directive)
  (content)
  (output_directive)
)
