Closed hendrikvanantwerpen closed 2 months ago
Let me quickly run the binding tests locally to ensure I didn't mess those up. I'll report back within the hour on that.
Thanks for the review @jonatanklosko! I've removed the generated srcs as per your suggestion, and fixed some issues I found with the bindings. This should be good now.
Tree-sitter released version 0.23 recently. This contains a breaking, but ultimately very good change to how parser bindings work (https://github.com/tree-sitter/tree-sitter/pull/3069). The TLDR of that change is that parsers do not depend on tree-sitter anymore, but instead on a shard (and supposedly very stable) tree-sitter-language crate. As a result, clients are free to chose their tree-sitter version as the parser ABI is supported. Library and parser versions are less tighly coupled, and it should no longer be necessary to move all the parsers to the next tree-sitter version in lock-step to be able to upgrade the library.
Most of the changes in this PR are from running tree-sitter generate. I'll add comments on other changes I did to explain why I thought they are necessary, or where I'm not sure I did it correctly.