nix-config/modules/nixvim/harpoon.nix

46 lines
816 B
Nix
Raw Normal View History

2025-06-02 02:09:06 +01:00
let
leaderBinding = key: command: {
key = "<leader>${key}";
action = "<cmd>${command}<CR>";
options.silent = true;
};
in
{
2025-07-26 02:35:57 +01:00
flake.modules.nixvim.custom = {
plugins.harpoon = {
enable = true;
enableTelescope = true;
};
2025-06-02 02:09:06 +01:00
2025-07-26 02:35:57 +01:00
keymaps = [
2025-06-02 02:09:06 +01:00
{
key = "<leader>a";
action.__raw = "function() require'harpoon':list():add() end";
}
{
key = "<C-e>";
action.__raw = ''
function()
require 'harpoon'.ui:toggle_quick_menu(require'harpoon':list())
end
'';
}
]
++ (map
(num: leaderBinding "${toString num}" "lua require(\"harpoon\"):list():select(${toString num})")
[
1
2
3
4
5
6
7
8
9
]
2025-07-26 02:35:57 +01:00
);
};
2025-06-02 02:09:06 +01:00
}