windwp / nvim-ts-autotag

Use treesitter to auto close and auto rename html tag
MIT License
1.65k stars 87 forks source link

Elixir support still a problem #200

Open srcrip opened 3 months ago

srcrip commented 3 months ago

See title. There's been several tickets auto closed by stale bot.

PriceHiller commented 2 months ago

Sorry for the long delay here, I'll take a look at a few of them.

In the meantime though, PRs are very much welcome.

srcrip commented 2 months ago

No problem, check out some of the closed prs I think one of them may fix it

PriceHiller commented 2 months ago

Hey @srcrip can you take a look at the related PR (https://github.com/windwp/nvim-ts-autotag/pull/206) and let me know if that works for Elixir? I have exactly 0 Elixir experience, so I need another person to let me know 🙂

srcrip commented 2 months ago

Thanks @PriceHiller, I think this branch does in fact fix it for normal html tags in heex files.

If possible though, heex in elixir also has this other html-like tag that looks like this:

    <.stepper current_step={@current_step} target={@myself} class="lg:hidden -ml-1">
      <:step name={:personal}>
        <span class="me-2">1.</span>
        Personal <span class="hidden sm:inline-flex sm:ms-2">Info</span>
      </:step>

      <:step name={:work_experience}>
        <span class="me-2">2.</span>
        Work <span class="hidden sm:inline-flex sm:ms-2">Experience</span>
      </:step>

      <:step name={:education}>
        <span class="me-2">3.</span> Education
      </:step>

      <:step name={:other}>
        <span class="me-2">4.</span> Other
      </:step>

      <:step name={:review}>
        <span class="me-2">5.</span> Review
      </:step>
    </.stepper>

The <.stepper> is a phoenix component and the <:step> is a slot. It would be great if this plugin could successfully rename them too.

PriceHiller commented 2 months ago

I've merged in #206, but I'm not sure how viable the alternative heex tags are to add here as we are using binds to set the tags.

It would require some custom logic specifically for heex files.

srcrip commented 3 weeks ago

Does the Treesitter objects cover the entire tag identifier including the . at the beginning? If not does there need to be a treesitter change for that?