nvf/modules/plugins/utility/yanky-nvim/yanky-nvim.nix

30 lines
1,022 B
Nix
Raw Normal View History

2025-01-26 13:45:58 +03:00
{lib, ...}: let
inherit (lib.options) mkOption mkEnableOption;
2025-01-26 13:45:58 +03:00
inherit (lib.types) enum;
inherit (lib.nvim.types) mkPluginSetupOption;
2025-01-26 13:45:58 +03:00
in {
options.vim.utility.yanky-nvim = {
enable = mkEnableOption ''
improved Yank and Put functionalities for Neovim [yanky-nvim]
'';
setupOpts = mkPluginSetupOption "yanky-nvim" {
2025-01-26 13:45:58 +03:00
ring.storage = mkOption {
type = enum ["shada" "sqlite" "memory"];
default = "shada";
example = "sqlite";
description = ''
storage mode for ring values.
- **shada**: this will save pesistantly using Neovim ShaDa feature.
2025-01-26 13:45:58 +03:00
This means that history will be persisted between each session of Neovim.
- **memory**: each Neovim instance will have his own history and it will be
2025-01-26 13:45:58 +03:00
lost between sessions.
- **sqlite**: more reliable than `shada`, requires `sqlite.lua` as a dependency.
2025-01-26 13:45:58 +03:00
nvf will add this dependency to `PATH` automatically.
'';
};
};
};
}