neovim-flake/modules/plugins/utility/binds/which-key/config.nix

26 lines
625 B
Nix

{
config,
lib,
...
}: let
inherit (lib.modules) mkIf;
inherit (lib.nvim.lua) toLuaObject;
inherit (lib.attrsets) mapAttrsToList;
inherit (lib.generators) mkLuaInline;
inherit (lib.nvim.dag) entryAnywhere;
cfg = config.vim.binds.whichKey;
register = mapAttrsToList (n: v: mkLuaInline "{ '${n}', desc = '${v}' }") cfg.register;
in {
config = mkIf cfg.enable {
vim = {
startPlugins = ["which-key"];
pluginRC.whichkey = entryAnywhere ''
local wk = require("which-key")
wk.setup (${toLuaObject cfg.setupOpts})
wk.add(${toLuaObject register})
'';
};
};
}