mirror of
https://github.com/NotAShelf/nvf.git
synced 2025-11-11 16:05:30 +00:00
plugins/utility/harpoon: added harpoon
Harpoon (branch harpoon2) has been added as a plugin. Set under navigation to allow for more naviation plugins to be added in the future (set telescope under navigation?). Basic options and keybinds are included.
This commit is contained in:
parent
08be38ab06
commit
d126bbdc24
5 changed files with 115 additions and 0 deletions
45
modules/plugins/utility/harpoon/harpoon.nix
Normal file
45
modules/plugins/utility/harpoon/harpoon.nix
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
{lib, ...}: let
|
||||
inherit (lib.options) mkEnableOption mkOption;
|
||||
inherit (lib.types) bool;
|
||||
inherit (lib.nvim.binds) mkMappingOption;
|
||||
inherit (lib.nvim.types) mkPluginSetupOption luaInline;
|
||||
inherit (lib.generators) mkLuaInline;
|
||||
setupOptions = {
|
||||
defaults = {
|
||||
save_on_toggle = mkOption {
|
||||
description = "any time the ui menu is closed then we will save the state back to the backing list, not to the fs";
|
||||
type = bool;
|
||||
default = false;
|
||||
};
|
||||
sync_on_ui_close = mkOption {
|
||||
description = "any time the ui menu is closed then the state of the list will be sync'd back to the fs";
|
||||
type = bool;
|
||||
default = false;
|
||||
};
|
||||
key = mkOption {
|
||||
description = "how the out list key is looked up. This can be useful when using worktrees and using git remote instead of file path";
|
||||
type = luaInline;
|
||||
default = mkLuaInline ''
|
||||
function()
|
||||
return vim.loop.cwd()
|
||||
end
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
in {
|
||||
options.vim.navigation.harpoon = {
|
||||
mappings = {
|
||||
markFile = mkMappingOption "Mark file [Harpoon]" "<leader>a";
|
||||
listMarks = mkMappingOption "List marked files [Harpoon]" "<C-e>";
|
||||
file1 = mkMappingOption "Go to marked file 1 [Harpoon]" "<C-j>";
|
||||
file2 = mkMappingOption "Go to marked file 2 [Harpoon]" "<C-k>";
|
||||
file3 = mkMappingOption "Go to marked file 3 [Harpoon]" "<C-l>";
|
||||
file4 = mkMappingOption "Go to marked file 4 [Harpoon]" "<C-;>";
|
||||
};
|
||||
|
||||
enable = mkEnableOption "Harpoon: quick bookmarks on keybinds";
|
||||
|
||||
setupOpts = mkPluginSetupOption "Harpoon" setupOptions;
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue