mirror of
https://github.com/nix-community/nixvim.git
synced 2025-06-20 16:15:43 +02:00
63 lines
1.4 KiB
Nix
63 lines
1.4 KiB
Nix
{
|
|
lib,
|
|
helpers,
|
|
...
|
|
}:
|
|
with lib;
|
|
# We use `mkVimPlugin` to avoid having a `settings` option.
|
|
# Indeed, this plugin is not configurable in the common sense (no `setup` function).
|
|
lib.nixvim.plugins.mkVimPlugin {
|
|
name = "gitignore";
|
|
packPathName = "gitignore.nvim";
|
|
package = "gitignore-nvim";
|
|
|
|
maintainers = [ maintainers.GaetanLepage ];
|
|
|
|
extraOptions = {
|
|
keymap = mkOption {
|
|
type =
|
|
with types;
|
|
nullOr (
|
|
either str (submodule {
|
|
options = {
|
|
key = mkOption {
|
|
type = str;
|
|
description = "The key to map.";
|
|
example = "<leader>gi";
|
|
};
|
|
|
|
mode = helpers.keymaps.mkModeOption "n";
|
|
|
|
options = helpers.keymaps.mapConfigOptions;
|
|
};
|
|
})
|
|
);
|
|
default = null;
|
|
description = ''
|
|
Keyboard shortcut for the `gitignore.generate` command.
|
|
Can be:
|
|
- A string: which key to bind
|
|
- An attrs: if you want to customize the mode and/or the options of the keymap
|
|
(`desc`, `silent`, ...)
|
|
'';
|
|
example = "<leader>gi";
|
|
};
|
|
};
|
|
|
|
extraConfig = cfg: {
|
|
keymaps = optional (cfg.keymap != null) (
|
|
(
|
|
if isString cfg.keymap then
|
|
{
|
|
mode = "n";
|
|
key = cfg.keymap;
|
|
}
|
|
else
|
|
cfg.keymap
|
|
)
|
|
// {
|
|
action.__raw = "require('gitignore').generate";
|
|
}
|
|
);
|
|
};
|
|
}
|