tree-sitter-embedded-template icon indicating copy to clipboard operation
tree-sitter-embedded-template copied to clipboard

Parser never leaves comment mode when it encounters an embedded comment

Open davidgumberg opened this issue 1 year ago • 1 comments

As far as I am aware, ERB Syntax permits an embedded ruby comment in a non-comment erb tag

<%   # This line is not an ERB comment, but it does nothing %>

But, once the treesitter encounters a mid-embedding comment, it evaluates and highlights the rest of the embedded ruby as comments. For example

<%= tag.div class: 'outer-div' do %>
    <%= tag.div class: 'inner-div' do %>
        <p>Text</p>
    <% end # .inner-div %>
<% end # .outer-div %>

<% value = 12 %>
<p> <%= value %> </p>

Even though this works just fine all the rest of the embedded ruby will be evaluated, from the fourth line:

<% end # .inner-div %>

until the end, all embedded ruby is highlighted as a comment.

As you may notice, the github syntax highlighter also exhibits this bug at present.

davidgumberg avatar Sep 22 '23 18:09 davidgumberg

i tried indeed but this case looks mind blowing

tymoyato avatar Sep 24 '23 15:09 tymoyato