From f620722174e7b55ed5aa4ba6bcc000dba5e78d9e Mon Sep 17 00:00:00 2001 From: Guillaume Girol Date: Wed, 14 Jul 2021 12:00:00 +0000 Subject: vimPlugins.nvim-treesitter: document plugins --- doc/languages-frameworks/vim.section.md | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/languages-frameworks/vim.section.md b/doc/languages-frameworks/vim.section.md index e170591605c..26a01a89aa5 100644 --- a/doc/languages-frameworks/vim.section.md +++ b/doc/languages-frameworks/vim.section.md @@ -120,7 +120,7 @@ After that you can install your special grafted `myVim` or `myNeovim` packages. If one of your favourite plugins isn't packaged, you can package it yourself: -``` +```nix { config, pkgs, ... }: let @@ -154,6 +154,33 @@ in } ``` +### Specificities for some plugins +#### Tree sitter + +By default `nvim-treesitter` encourages you to download, compile and install +the required tree-sitter grammars at run time with `:TSInstall`. This works +poorly on NixOS. Instead, to install the `nvim-treesitter` plugins with a set +of precompiled grammars, you can use `nvim-treesitter.withPlugins` function: + +```nix +(pkgs.neovim.override { + configure = { + packages.myPlugins = with pkgs.vimPlugins; { + start = [ + (nvim-treesitter.withPlugins ( + plugins: with plugins; [ + tree-sitter-nix + tree-sitter-python + ] + )) + ]; + }; + }; +}) +``` + +To enable all grammars packaged in nixpkgs, use `(pkgs.vimPlugins.nvim-treesitter.withPlugins (plugins: pkgs.tree-sitter.allGrammars))`. + ## Managing plugins with vim-plug {#managing-plugins-with-vim-plug} To use [vim-plug](https://github.com/junegunn/vim-plug) to manage your Vim -- cgit 1.4.1