From 185a04dc3e5d97b1278383e610194d3a993b4b67 Mon Sep 17 00:00:00 2001 From: figsoda Date: Wed, 16 Nov 2022 14:49:47 -0500 Subject: [PATCH] vimPlugins.nvim-treesitter: add plugins to dependencies to avoid extending vimPlugins --- .../vim/plugins/nvim-treesitter/overrides.nix | 32 +++++++++++++------ 1 file changed, 22 insertions(+), 10 deletions(-) diff --git a/pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix b/pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix index 97218844730f..0272c73b1730 100644 --- a/pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix +++ b/pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix @@ -34,15 +34,28 @@ let # or for all grammars: # pkgs.vimPlugins.nvim-treesitter.withAllGrammars withPlugins = - grammarFn: self.nvim-treesitter.overrideAttrs (_: { - postPatch = - let - grammars = tree-sitter.withPlugins (ps: grammarFn (ps // builtGrammars)); - in - '' - rm -r parser - ln -s ${grammars} parser - ''; + f: self.nvim-treesitter.overrideAttrs (_: { + passthru.dependencies = map + (grammar: + let + name = lib.pipe grammar [ + lib.getName + + # added in buildGrammar + (lib.removeSuffix "-grammar") + + # grammars from tree-sitter.builtGrammars + (lib.removePrefix "tree-sitter-") + (lib.replaceStrings [ "-" ] [ "_" ]) + ]; + in + + runCommand "nvim-treesitter-${name}-grammar" { } '' + mkdir -p $out/parser + ln -s ${grammar}/parser $out/parser/${name}.so + '' + ) + (f (tree-sitter.builtGrammars // builtGrammars)); }); withAllGrammars = withPlugins (_: allGrammars); @@ -79,4 +92,3 @@ in meta.maintainers = with lib.maintainers; [ figsoda ]; } -