BirdeeHub / nixCats-nvim

A framework for configuring neovim like neovim via nix, and having multiple config profiles. (with example config(s) and in-editor help)
https://nixcats.org/nixCats_installation.html
MIT License
224 stars 12 forks source link

Treesitter grammars #44

Closed BirdeeHub closed 3 days ago

BirdeeHub commented 1 week ago

If your build is failing when trying to update due to grammar collision with c_sharp and a few others, mine did too.

If you had

startupPlugins = with pkgs.vimPlugins; {
  general = [ nvim-treesitter.withAllGrammars ];
};

You MAY need to change it to the following, depending on what other plugins you have installed.

startupPlugins = with pkgs.vimPlugins; {
  general = [ nvim-treesitter ] ++ (builtins.attrValues nvim-treesitter.grammarPlugins);
};

If you were lazily loading nvim-treesitter, you may continue to do so, but the grammars MUST be in startupPlugins, which is also where they were being put before.

The cause is unclear. Before, when nixCats was recieving the grammars from withAllGrammars, it would recieve them as individual items.

Now, suddenly, it recieves some of them as a big bundle already, BEFORE I bundle them myself. I cannot find the commit in nixpkgs that did this.

Unfortunately, said bundle seems to sometimes contain duplicates, and throws, before I get a chance to process them for duplicates. However, it does not throw in all situations, which is also confusing to me. So you might be fine, but this issue is possible.

For now, please accept the above workaround if you experience this issue, its effectively the same thing :)

When I can better reproduce the issue, an issue (or maybe even a PR) will be submitted to nixpkgs to fix it.

PerchunPak commented 1 week ago

Looks like https://github.com/NotAShelf/nvf/issues/368 is the same issue and this started to happen after https://github.com/NixOS/nixpkgs/pull/319233.

Also, updating nixCats (from 82e2d1826910d24f9c47870a19d7cf4b99d8ed88 to 56a03d0dfe0f6262e6386f62c401e61536458f61) fixed my problem, where treesitter couldn't find any grammars

BirdeeHub commented 1 week ago

Thank you for the tip!

Side note, I just improved the nixCats table gen too :) Just finishing that up and its much more robust now, heres what it looks like as its own microlibrary I also added a utils.makeLuaInline people can use to still allow escaping in the new, impossible to escape translator XD

Im pretty sure there was a commit in the middle of those 2 where I fixed it really quickly when I saw the treesitter change and made this issue, and then a couple more where I fixed it more properly after that. Edit: yup the one after the first one you linked is the one where I did the quick fix, then there are 3 more with me fixing it better and refactoring the area

But yeah I still am getting weird collisions unless I use the workaround, even with the improved processing of them XD

I will look into this further. It looks like you found the right commit to me

PerchunPak commented 1 week ago

I will look into this further. It looks like you found the right commit to me

Don't bother, I already did a fix for https://github.com/NotAShelf/nvf/issues/368 and testing before opening a PR

BirdeeHub commented 1 week ago

Oh!

BirdeeHub commented 1 week ago

oh. yeah, figures, someone forgot to add a force on something that could have duplicates.

BirdeeHub commented 1 week ago

well, the changes I made to nixCats in response to this issue were all positive ones. For one I stopped relying on the generated name to match for grammars XD and then I also did some refactoring

I also happened to learn about [====[long lua strings]====] today hence the tablegen improvements.

BirdeeHub commented 1 week ago

https://github.com/NixOS/nixpkgs/pull/339076#discussion_r1741214363

A solution is in the works :)

BirdeeHub commented 1 week ago

https://nixpk.gs/pr-tracker.html?pr=339589

BirdeeHub commented 3 days ago

The fix for this particular issue is in nixpkgs now so Im going to close this issue