48 lines
839 B
Nix
48 lines
839 B
Nix
|
{ config, lib, ... }:
|
||
|
|
||
|
let
|
||
|
leaderBinding = key: command: {
|
||
|
key = "<leader>${key}";
|
||
|
action = "<cmd>${command}<CR>";
|
||
|
options.silent = true;
|
||
|
};
|
||
|
in
|
||
|
{
|
||
|
plugins.harpoon = {
|
||
|
enable = true;
|
||
|
enableTelescope = true;
|
||
|
};
|
||
|
|
||
|
keymaps = lib.mkIf config.plugins.harpoon.enable (
|
||
|
[
|
||
|
{
|
||
|
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
|
||
|
]
|
||
|
)
|
||
|
);
|
||
|
}
|