Skip to content

Commit

Permalink
plugins/which-key: remove which-key logic from keymap module
Browse files Browse the repository at this point in the history
  • Loading branch information
GaetanLepage committed Oct 2, 2023
1 parent dd6a114 commit 05b7773
Show file tree
Hide file tree
Showing 3 changed files with 31 additions and 31 deletions.
35 changes: 9 additions & 26 deletions modules/keymaps.nix
Original file line number Diff line number Diff line change
Expand Up @@ -280,32 +280,15 @@ in {
(config.keymaps ++ modeMapsAsList);
in
optionalString (mappings != [])
(
if config.plugins.which-key.enable
then ''
-- Set up keybinds {{{
do
local __nixvim_binds = ${helpers.toLuaObject mappings}
for i, map in ipairs(__nixvim_binds) do
if not map.action then
require("which-key").register({[map.key] = {name = map.options.desc }})
else
vim.keymap.set(map.mode, map.key, map.action, map.options)
end
end
end
-- }}}
''
else ''
-- Set up keybinds {{{
do
local __nixvim_binds = ${helpers.toLuaObject mappings}
for i, map in ipairs(__nixvim_binds) do
vim.keymap.set(map.mode, map.key, map.action, map.options)
end
''
-- Set up keybinds {{{
do
local __nixvim_binds = ${helpers.toLuaObject mappings}
for i, map in ipairs(__nixvim_binds) do
vim.keymap.set(map.mode, map.key, map.action, map.options)
end
-- }}}
''
);
end
-- }}}
'';
};
}
21 changes: 18 additions & 3 deletions plugins/utils/which-key.nix
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,15 @@ in {

package = helpers.mkPackageOption "whick-key-nvim" pkgs.vimPlugins.which-key-nvim;

registrations = mkOption {
type = with types; attrsOf str;
default = {};
description = "Manually register the description of mappings.";
example = {
"<leader>p" = "Find git files with telescope";
};
};

plugins = {
marks = helpers.defaultNullOpts.mkBool true "shows a list of your marks on ' and `";

Expand Down Expand Up @@ -194,8 +203,14 @@ in {
mkIf cfg.enable {
extraPlugins = [cfg.package];

extraConfigLua = ''
require("which-key").setup(${helpers.toLuaObject setupOptions})
'';
extraConfigLua =
''
require("which-key").setup(${helpers.toLuaObject setupOptions})
''
+ (
optionalString (cfg.registrations != {}) ''
require("which-key").register(${helpers.toLuaObject cfg.registrations})
''
);
};
}
6 changes: 4 additions & 2 deletions tests/test-sources/plugins/utils/which-key.nix
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@
defaults = {
plugins.which-key = {
enable = true;

# Simple mapping with only Description
registrations."ff" = "Test";

plugins = {
marks = true;
registers = true;
Expand Down Expand Up @@ -86,7 +90,5 @@
filetypes = [];
};
};
# Simple mapping with only Description
maps.byMode.normal."ff".options.desc = "Test";
};
}

0 comments on commit 05b7773

Please sign in to comment.