mirror of
https://github.com/nix-community/nixvim.git
synced 2025-06-21 16:39:00 +02:00
53 lines
1 KiB
Nix
53 lines
1 KiB
Nix
|
{
|
||
|
lib,
|
||
|
helpers,
|
||
|
config,
|
||
|
pkgs,
|
||
|
...
|
||
|
}:
|
||
|
with lib;
|
||
|
helpers.neovim-plugin.mkNeovimPlugin config {
|
||
|
name = "hydra";
|
||
|
originalName = "hydra.nvim";
|
||
|
defaultPackage = pkgs.vimPlugins.hydra-nvim;
|
||
|
|
||
|
maintainers = [ maintainers.GaetanLepage ];
|
||
|
|
||
|
extraOptions = {
|
||
|
# A list of `Hydra` definitions
|
||
|
hydras = import ./hydras-option.nix { inherit lib helpers; };
|
||
|
};
|
||
|
|
||
|
settingsOptions = import ./hydra-config-opts.nix { inherit lib helpers; };
|
||
|
|
||
|
settingsExample = {
|
||
|
exit = false;
|
||
|
foreign_keys = "run";
|
||
|
color = "red";
|
||
|
buffer = true;
|
||
|
invoke_on_body = false;
|
||
|
desc = null;
|
||
|
on_enter = ''
|
||
|
function()
|
||
|
print('hello')
|
||
|
end
|
||
|
'';
|
||
|
timeout = 5000;
|
||
|
hint = false;
|
||
|
};
|
||
|
|
||
|
callSetup = false;
|
||
|
extraConfig = cfg: {
|
||
|
extraConfigLua = ''
|
||
|
hydra = require('hydra')
|
||
|
|
||
|
hydra.setup(${helpers.toLuaObject cfg.settings})
|
||
|
|
||
|
__hydra_defs = ${helpers.toLuaObject cfg.hydras}
|
||
|
for _, hydra_config in ipairs(__hydra_defs) do
|
||
|
hydra(hydra_config)
|
||
|
end
|
||
|
'';
|
||
|
};
|
||
|
}
|