Compare commits

..

3 commits

Author SHA1 Message Date
Ching Pei Yang
8154c3e68f
fixup! mappings: impl keymap option 2024-10-05 19:44:39 +02:00
Ching Pei Yang
f4ff635a65
map: remove redundant variable 2024-10-05 19:44:39 +02:00
Ching Pei Yang
40e5e5079e
map: fix misinformation 2024-10-05 19:21:00 +02:00
2 changed files with 19 additions and 26 deletions

View file

@ -1,6 +1,6 @@
{lib, ...}: let
inherit (lib.options) mkOption;
inherit (lib.types) either str listOf attrsOf nullOr submodule bool;
inherit (lib.types) either str listOf attrsOf nullOr submodule;
inherit (lib.nvim.config) mkBool;
mapConfigOptions = {
@ -33,9 +33,7 @@
// {
key = mkOption {
type = str;
description = ''
Key that triggers this keybind.
'';
description = "The key that triggers this keybind.";
};
mode = mkOption {
type = either str (listOf str);
@ -44,20 +42,17 @@
See `:help map-modes` for a list of modes.
'';
example = ''"nvc" for normal, visual and command mode'';
example = ''`["n" "v" "c"]` for normal, visual and command mode'';
};
};
};
# legacy stuff
legacyMapOption = submodule {
options = mapConfigOptions;
};
mapOptions = mode:
legacyMapOption = mode:
mkOption {
description = "Mappings for ${mode} mode";
type = attrsOf legacyMapOption;
type = attrsOf (submodule {
options = mapConfigOptions;
});
default = {};
};
in {
@ -85,18 +80,18 @@ in {
};
maps = {
normal = mapOptions "normal";
insert = mapOptions "insert";
select = mapOptions "select";
visual = mapOptions "visual and select";
terminal = mapOptions "terminal";
normalVisualOp = mapOptions "normal, visual, select and operator-pending (same as plain 'map')";
normal = legacyMapOption "normal";
insert = legacyMapOption "insert";
select = legacyMapOption "select";
visual = legacyMapOption "visual and select";
terminal = legacyMapOption "terminal";
normalVisualOp = legacyMapOption "normal, visual, select and operator-pending (same as plain 'map')";
visualOnly = mapOptions "visual only";
operator = mapOptions "operator-pending";
insertCommand = mapOptions "insert and command-line";
lang = mapOptions "insert, command-line and lang-arg";
command = mapOptions "command-line";
visualOnly = legacyMapOption "visual only";
operator = legacyMapOption "operator-pending";
insertCommand = legacyMapOption "insert and command-line";
lang = legacyMapOption "insert, command-line and lang-arg";
command = legacyMapOption "command-line";
};
};
}

View file

@ -43,9 +43,7 @@ in {
toLuaKeymap = bind: "vim.keymap.set(${toLuaObject bind.mode}, ${toLuaObject bind.key}, ${toLuaObject (getAction bind)}, ${toLuaObject (getOpts bind)})";
maps = concatLines (map toLuaKeymap cfg.keymaps);
keymaps = maps;
keymaps = concatLines (map toLuaKeymap cfg.keymaps);
in {
vim = {
luaConfigRC = {