Unverified Commit eaadc9e2 authored by Austin Horstman's avatar Austin Horstman Committed by GitHub
Browse files

docs/vim.section.md: Add note about nvimRequireCheck (#349864)

We are trying to use this more often but, at the moment, it's a manual
addition to overrides.nix. Add notes about the benefits of adding it and
how it can help identify missing dependencies.
parent 683c32b8
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -232,6 +232,19 @@ To add a new plugin, run `nix-shell -p vimPluginsUpdater --run 'vim-plugins-upda

Finally, there are some plugins that are also packaged in nodePackages because they have Javascript-related build steps, such as running webpack. Those plugins are not listed in `vim-plugin-names` or managed by `vimPluginsUpdater` at all, and are included separately in `overrides.nix`. Currently, all these plugins are related to the `coc.nvim` ecosystem of the Language Server Protocol integration with Vim/Neovim.

### Testing Neovim plugins {#testing-neovim-plugins}

`nvimRequireCheck=MODULE` is a simple test which checks if Neovim can requires the lua module `MODULE` without errors. This is often enough to catch missing dependencies.

This can be manually added through plugin definition overrides in the [overrides.nix](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/vim/plugins/overrides.nix).

```nix
  gitsigns-nvim = super.gitsigns-nvim.overrideAttrs {
    dependencies = [ self.plenary-nvim ];
    nvimRequireCheck = "gitsigns";
  };
```

### Plugin optional configuration {#vim-plugin-required-snippet}

Some plugins require specific configuration to work. We choose not to