summary refs log tree commit diff
path: root/pkgs/misc/vim-plugins/overrides.nix
diff options
context:
space:
mode:
authorJosé Luis Lafuente <jl@lafuente.me>2021-03-16 19:39:23 +0100
committerMatthieu Coudron <teto@users.noreply.github.com>2021-04-22 14:11:01 +0200
commitf29292db76356bfbd02dceb2ca795f67b68d2be6 (patch)
tree671a7822bc12689d9a14f899e4f8e3133c5405ed /pkgs/misc/vim-plugins/overrides.nix
parenta48ea1b0b395b06d210b57992631b7e06d343317 (diff)
downloadnixpkgs-f29292db76356bfbd02dceb2ca795f67b68d2be6.tar
nixpkgs-f29292db76356bfbd02dceb2ca795f67b68d2be6.tar.gz
nixpkgs-f29292db76356bfbd02dceb2ca795f67b68d2be6.tar.bz2
nixpkgs-f29292db76356bfbd02dceb2ca795f67b68d2be6.tar.lz
nixpkgs-f29292db76356bfbd02dceb2ca795f67b68d2be6.tar.xz
nixpkgs-f29292db76356bfbd02dceb2ca795f67b68d2be6.tar.zst
nixpkgs-f29292db76356bfbd02dceb2ca795f67b68d2be6.zip
tree-sitter: Add withPlugins
Diffstat (limited to 'pkgs/misc/vim-plugins/overrides.nix')
-rw-r--r--pkgs/misc/vim-plugins/overrides.nix21
1 files changed, 21 insertions, 0 deletions
diff --git a/pkgs/misc/vim-plugins/overrides.nix b/pkgs/misc/vim-plugins/overrides.nix
index 7e12d083c32..3e352977d56 100644
--- a/pkgs/misc/vim-plugins/overrides.nix
+++ b/pkgs/misc/vim-plugins/overrides.nix
@@ -50,6 +50,9 @@
 , CoreFoundation
 , CoreServices
 
+# nvim-treesitter dependencies
+, tree-sitter
+
   # sved dependencies
 , glib
 , gobject-introspection
@@ -364,6 +367,24 @@ self: super: {
     dependencies = with super; [ popfix ];
   });
 
+  # Usage:
+  # pkgs.vimPlugins.nvim-treesitter.withPlugins (p: [ p.tree-sitter-c p.tree-sitter-java ... ])
+  # or for all grammars:
+  # pkgs.vimPlugins.nvim-treesitter.withPlugins (_: tree-sitter.allGrammars)
+  nvim-treesitter = super.nvim-treesitter.overrideAttrs (old: {
+    passthru.withPlugins =
+      grammarFn: self.nvim-treesitter.overrideAttrs (_: {
+        postPatch =
+          let
+            grammars = tree-sitter.withPlugins grammarFn;
+          in
+          ''
+            rm -r parser
+            ln -s ${grammars} parser
+          '';
+      });
+  });
+
   onehalf = super.onehalf.overrideAttrs (old: {
     configurePhase = "cd vim";
   });