mirror of
https://github.com/nix-community/nixvim.git
synced 2025-06-21 08:35:43 +02:00
plugins/gitignore: init
This commit is contained in:
parent
6ebd538ede
commit
84d7453e44
3 changed files with 82 additions and 0 deletions
|
@ -42,6 +42,7 @@
|
||||||
./git/git-worktree.nix
|
./git/git-worktree.nix
|
||||||
./git/gitblame.nix
|
./git/gitblame.nix
|
||||||
./git/gitgutter.nix
|
./git/gitgutter.nix
|
||||||
|
./git/gitignore.nix
|
||||||
./git/gitlinker.nix
|
./git/gitlinker.nix
|
||||||
./git/gitmessenger.nix
|
./git/gitmessenger.nix
|
||||||
./git/gitsigns
|
./git/gitsigns
|
||||||
|
|
68
plugins/git/gitignore.nix
Normal file
68
plugins/git/gitignore.nix
Normal file
|
@ -0,0 +1,68 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
helpers,
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib;
|
||||||
|
# We use `mkVimPlugin` to avoid having a `settings` option.
|
||||||
|
# Indeed, this plugin is not configurable in the common sense (no `setup` function).
|
||||||
|
helpers.vim-plugin.mkVimPlugin config {
|
||||||
|
name = "gitignore";
|
||||||
|
originalName = "gitignore.nvim";
|
||||||
|
defaultPackage = pkgs.vimPlugins.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";
|
||||||
|
}
|
||||||
|
);
|
||||||
|
};
|
||||||
|
}
|
13
tests/test-sources/plugins/git/gitignore.nix
Normal file
13
tests/test-sources/plugins/git/gitignore.nix
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
{
|
||||||
|
empty = {
|
||||||
|
plugins.gitignore.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
example = {
|
||||||
|
plugins.gitignore = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
keymap = "<leader>gi";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue