elixir-lang/tree-sitter-elixir

Integrate with neovim-treesitter

jonatanklosko opened this issue ยท 13 comments

The goal is to update the Elixir integration points in nvim-treesitter to use this repository.

cc @connorlay, @nifoc

nifoc commented

Quick update from my end:

I had way less time than I initially thought over the weekend, but I did find some time to start updating the queries.
I did not run into any issues and will try to finish things up during the evenings.

Quick update from my end:

I had way less time than I initially thought over the weekend, but I did find some time to start updating the queries. I did not run into any issues and will try to finish things up during the evenings.

Hi @nifoc , it sounds like we may be working on the same thing. Are you interested in collaborating with me on the integration with Neovim? I'm on a break from work this week and have a good amount of time set aside for open source work.

nifoc commented

Hi @connorlay,
if you have already started working on updating the queries, please feel free to just submit a PR! ๐Ÿ˜„ It sounds like you have way more time for it this week and I'm really eager to see the update land.

Btw. I have to say that the changes you made to the queries a while back really makes updating them easier! :) The ones I wrote initially were way too complex.

Today's update: I opened a draft PR that migrates highlights and injections to the new grammar. Tomorrow I plan on migrating the rest of the queries over and submitting the PR for initial review.

The new grammar is a joy to work with @jonatanklosko ๐Ÿ˜

@connorlay awesome, happy to hear that ๐Ÿฑ I left some initial comments!

My PR is ready for a full review now. Thanks @jonatanklosko for the guidance the past few days ๐Ÿ™๐Ÿป

Amazing!!

nifoc commented

This is awesome! Thank you so much for your work ๐Ÿฅณ

nvim-treesitter/nvim-treesitter#1904 is merged now and is available now for users of neovim nightly. Users of neovim stable will have to wait for the 0.5-compat release, or upgrade manually to nightly.

During review I captured the following tasks we'll want to get after soon:

  • Open a PR against neovim to expose the tree sitter cursor query match limit via user configuration. This is required for locals.scm to function with deep pattern matches. See neovim/neovim#14915
  • Open a PR against nvim-treesitter-textobjects (and any other community plugin that supports Elixir) to update the queries to work with the new parser grammar.

neovim/neovim#16008 is open as a draft PR and appears to be working for me locally. I'm not sure how to write tests for this, but I think the approach is solid.

nifoc commented

I don't know much about neovim internals, but I tried out your PR earlier and it works for me, too.

Great work!

Quick update: I'm working on a draft PR migrating nvim-treesitter-textobjects to the new parser.

Awesome job everyone!