mirror of
https://github.com/NotAShelf/nvf.git
synced 2025-01-30 22:02:23 +00:00
utility/yanky-nvim: init
This commit is contained in:
parent
4242640c98
commit
0fbcf1ca6f
8 changed files with 102 additions and 9 deletions
|
@ -175,6 +175,7 @@ isMaximal: {
|
||||||
icon-picker.enable = isMaximal;
|
icon-picker.enable = isMaximal;
|
||||||
surround.enable = isMaximal;
|
surround.enable = isMaximal;
|
||||||
diffview-nvim.enable = true;
|
diffview-nvim.enable = true;
|
||||||
|
yanky-nvim.enable = false;
|
||||||
motion = {
|
motion = {
|
||||||
hop.enable = true;
|
hop.enable = true;
|
||||||
leap.enable = true;
|
leap.enable = true;
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
|
|
||||||
[typst-preview.nvim]: https://github.com/chomosuke/typst-preview.nvim
|
[typst-preview.nvim]: https://github.com/chomosuke/typst-preview.nvim
|
||||||
[render-markdown.nvim]: https://github.com/MeanderingProgrammer/render-markdown.nvim
|
[render-markdown.nvim]: https://github.com/MeanderingProgrammer/render-markdown.nvim
|
||||||
|
[yanky.nvim]: https://github.com/gbprod/yanky.nvim
|
||||||
|
|
||||||
- Add [typst-preview.nvim] under
|
- Add [typst-preview.nvim] under
|
||||||
`languages.typst.extensions.typst-preview-nvim`.
|
`languages.typst.extensions.typst-preview-nvim`.
|
||||||
|
@ -33,10 +34,13 @@
|
||||||
|
|
||||||
- Add [](#opt-vim.lsp.lightbulb.autocmd.enable) for manually managing the
|
- Add [](#opt-vim.lsp.lightbulb.autocmd.enable) for manually managing the
|
||||||
previously managed lightbulb autocommand.
|
previously managed lightbulb autocommand.
|
||||||
|
|
||||||
- A warning will occur if [](#opt-vim.lsp.lightbulb.autocmd.enable) and
|
- A warning will occur if [](#opt-vim.lsp.lightbulb.autocmd.enable) and
|
||||||
`vim.lsp.lightbulb.setupOpts.autocmd.enabled` are both set at the same time.
|
`vim.lsp.lightbulb.setupOpts.autocmd.enabled` are both set at the same time.
|
||||||
Pick only one.
|
Pick only one.
|
||||||
|
|
||||||
|
- Add [yanky.nvim] to available plugins, under `vim.utility.yanky-nvim`.
|
||||||
|
|
||||||
[amadaluzia](https://github.com/amadaluzia):
|
[amadaluzia](https://github.com/amadaluzia):
|
||||||
|
|
||||||
[haskell-tools.nvim]: https://github.com/MrcJkb/haskell-tools.nvim
|
[haskell-tools.nvim]: https://github.com/MrcJkb/haskell-tools.nvim
|
||||||
|
|
17
flake.lock
17
flake.lock
|
@ -2761,6 +2761,22 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"plugin-yanky-nvim": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1737126873,
|
||||||
|
"narHash": "sha256-Gt8kb6sZoNIM2SDWUPyAF5Tw99qMZl+ltUCfyMXgJsU=",
|
||||||
|
"owner": "gbprod",
|
||||||
|
"repo": "yanky.nvim",
|
||||||
|
"rev": "d2696b30e389dced94d5acab728f524a25f308d2",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "gbprod",
|
||||||
|
"repo": "yanky.nvim",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-parts": "flake-parts",
|
"flake-parts": "flake-parts",
|
||||||
|
@ -2934,6 +2950,7 @@
|
||||||
"plugin-vim-repeat": "plugin-vim-repeat",
|
"plugin-vim-repeat": "plugin-vim-repeat",
|
||||||
"plugin-vim-startify": "plugin-vim-startify",
|
"plugin-vim-startify": "plugin-vim-startify",
|
||||||
"plugin-which-key": "plugin-which-key",
|
"plugin-which-key": "plugin-which-key",
|
||||||
|
"plugin-yanky-nvim": "plugin-yanky-nvim",
|
||||||
"systems": "systems_2"
|
"systems": "systems_2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -590,6 +590,11 @@
|
||||||
flake = false;
|
flake = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
plugin-yanky-nvim = {
|
||||||
|
url = "github:gbprod/yanky.nvim";
|
||||||
|
flake = false;
|
||||||
|
};
|
||||||
|
|
||||||
# Note-taking
|
# Note-taking
|
||||||
plugin-obsidian-nvim = {
|
plugin-obsidian-nvim = {
|
||||||
url = "github:epwalsh/obsidian.nvim";
|
url = "github:epwalsh/obsidian.nvim";
|
||||||
|
|
|
@ -1,19 +1,19 @@
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./outline
|
|
||||||
./binds
|
./binds
|
||||||
./ccc
|
./ccc
|
||||||
|
./diffview
|
||||||
|
./fzf-lua
|
||||||
./gestures
|
./gestures
|
||||||
./motion
|
|
||||||
./new-file-template
|
|
||||||
./telescope
|
|
||||||
./icon-picker
|
./icon-picker
|
||||||
./images
|
./images
|
||||||
./telescope
|
./motion
|
||||||
./diffview
|
./new-file-template
|
||||||
./wakatime
|
./outline
|
||||||
./surround
|
|
||||||
./preview
|
./preview
|
||||||
./fzf-lua
|
./surround
|
||||||
|
./telescope
|
||||||
|
./wakatime
|
||||||
|
./yanky-nvim
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
32
modules/plugins/utility/yanky-nvim/config.nix
Normal file
32
modules/plugins/utility/yanky-nvim/config.nix
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
inherit (lib.modules) mkIf;
|
||||||
|
inherit (lib.lists) optionals concatLists;
|
||||||
|
inherit (lib.nvim.lua) toLuaObject;
|
||||||
|
inherit (lib.nvim.dag) entryAnywhere;
|
||||||
|
|
||||||
|
cfg = config.vim.utility.yanky-nvim;
|
||||||
|
usingSqlite = cfg.setupOpts.ring.storage == "sqlite";
|
||||||
|
in {
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
vim = {
|
||||||
|
# TODO: this could probably be lazyloaded. I'm not yet sure which event is
|
||||||
|
# ideal, so it's loaded normally for now.
|
||||||
|
startPlugins = concatLists [
|
||||||
|
["yanky-nvim"]
|
||||||
|
|
||||||
|
# If using the sqlite backend, sqlite-lua must be loaded
|
||||||
|
# alongside yanky.
|
||||||
|
(optionals usingSqlite [pkgs.vimPlugins.sqlite-lua])
|
||||||
|
];
|
||||||
|
|
||||||
|
pluginRC.yanky-nvim = entryAnywhere ''
|
||||||
|
require("yanky").setup(${toLuaObject cfg.setupOpts});
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
6
modules/plugins/utility/yanky-nvim/default.nix
Normal file
6
modules/plugins/utility/yanky-nvim/default.nix
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./config.nix
|
||||||
|
./yanky-nvim.nix
|
||||||
|
];
|
||||||
|
}
|
28
modules/plugins/utility/yanky-nvim/yanky-nvim.nix
Normal file
28
modules/plugins/utility/yanky-nvim/yanky-nvim.nix
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
{lib, ...}: let
|
||||||
|
inherit (lib.options) mkEnableOption mkOption;
|
||||||
|
inherit (lib.types) enum;
|
||||||
|
in {
|
||||||
|
options.vim.utility.yanky-nvim = {
|
||||||
|
enable = mkEnableOption ''
|
||||||
|
improved Yank and Put functionalities for Neovim [yanky-nvim]
|
||||||
|
'';
|
||||||
|
|
||||||
|
setupOpts = {
|
||||||
|
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.
|
||||||
|
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
|
||||||
|
lost between sessions.
|
||||||
|
- sqlite: more reliable than `shada`, requires `sqlite.lua` as a dependency.
|
||||||
|
nvf will add this dependency to `PATH` automatically.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
Loading…
Reference in a new issue