From 54f33c58c45e4677699162dbd864adfd363377e1 Mon Sep 17 00:00:00 2001 From: Stephen Huan Date: Wed, 12 Jun 2024 01:43:57 -0400 Subject: [PATCH] vimPlugins.nvim-treesitter: collate grammars --- .../vim/plugins/nvim-treesitter/overrides.nix | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix b/pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix index 8e3b39e6c177..710528c3561c 100644 --- a/pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix +++ b/pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix @@ -36,8 +36,22 @@ let # pkgs.vimPlugins.nvim-treesitter.withAllGrammars withPlugins = f: self.nvim-treesitter.overrideAttrs { - passthru.dependencies = map grammarToPlugin - (f (tree-sitter.builtGrammars // builtGrammars)); + passthru.dependencies = + let + grammars = map grammarToPlugin + (f (tree-sitter.builtGrammars // builtGrammars)); + copyGrammar = grammar: + let name = lib.last (lib.splitString "-" grammar.name); in + "ln -s ${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} + '') + ]; }; withAllGrammars = withPlugins (_: allGrammars);