From 7fc75e024224b8ad1c9238f9100f880b825344c8 Mon Sep 17 00:00:00 2001 From: PerchunPak <git@perchun.it> Date: Tue, 10 Sep 2024 06:34:47 +0200 Subject: [PATCH 1/2] Revert "vimPlugins.nvim-treesitter: collate grammars" This reverts PR #319233. It caused a lot of weird regressions and a lot of headaches for me. Even a 20% improvement isn't worth it. Also see https://github.com/NixOS/nixpkgs/pull/319233#issuecomment-2339271761 --- .../vim/plugins/nvim-treesitter/overrides.nix | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-) diff --git a/pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix b/pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix index c7cd3266d9c7..8e3b39e6c177 100644 --- a/pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix +++ b/pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix @@ -36,22 +36,8 @@ let # pkgs.vimPlugins.nvim-treesitter.withAllGrammars withPlugins = f: self.nvim-treesitter.overrideAttrs { - passthru.dependencies = - let - grammars = map grammarToPlugin - (f (tree-sitter.builtGrammars // builtGrammars)); - copyGrammar = grammar: - let name = lib.last (lib.splitString "-" grammar.name); in - "ln -sf ${grammar}/parser/${name}.so $out/parser/${name}.so"; - in - [ - (runCommand "vimplugin-treesitter-grammars" - { meta.platforms = lib.platforms.all; } - '' - mkdir -p $out/parser - ${lib.concatMapStringsSep "\n" copyGrammar grammars} - '') - ]; + passthru.dependencies = map grammarToPlugin + (f (tree-sitter.builtGrammars // builtGrammars)); }; withAllGrammars = withPlugins (_: allGrammars); From 98ca865c9dce24c4eba0c163448a9b171453da1c Mon Sep 17 00:00:00 2001 From: PerchunPak <git@perchun.it> Date: Tue, 10 Sep 2024 06:43:26 +0200 Subject: [PATCH 2/2] vimPlugins.nvim-treesitter: add workaround for #332580 A #319233 accidentally reverted #321550. Last one caused a very annoying regression to any Nix user (see #332580). I suppose this is a bug in upstream grammar, so I workaround it this way until it is properly resolved. --- .../editors/vim/plugins/nvim-treesitter/overrides.nix | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix b/pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix index 8e3b39e6c177..137d364e5472 100644 --- a/pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix +++ b/pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix @@ -4,9 +4,17 @@ self: super: let inherit (neovimUtils) grammarToPlugin; - generatedGrammars = callPackage ./generated.nix { + + initialGeneratedGrammars = callPackage ./generated.nix { inherit (tree-sitter) buildGrammar; }; + grammarOverrides = final: prev: { + nix = prev.nix.overrideAttrs { + # workaround for https://github.com/NixOS/nixpkgs/issues/332580 + prePatch = "rm queries/highlights.scm"; + }; + }; + generatedGrammars = lib.fix (lib.extends grammarOverrides (_: initialGeneratedGrammars)); generatedDerivations = lib.filterAttrs (_: lib.isDerivation) generatedGrammars;