modules/input: use lib.mod instead

This commit is contained in:
Dmitriy Pleshevskiy 2024-05-08 01:09:18 +03:00
parent 88190d31a9
commit 8fe5adc810
Signed by: pleshevskiy
GPG key ID: 17041163DA10A9A2

View file

@ -1,21 +1,23 @@
{ config, lib, ... }: { config, lib, ... }:
let let
inherit (lib) mod;
cfg = config.input; cfg = config.input;
disableKeymaps = mode: lhss: lib.flip map lhss (lhs: { inherit mode lhs; rhs = "<nop>"; }); disableKeymaps = mode: lhss: lib.flip map lhss (lhs: { inherit mode lhs; rhs = mod.nop; });
in in
{ {
options.input = with lib; { options.input = with lib; {
leader = mkOption { leader = mkOption {
type = types.str; type = types.str;
default = ''\''; default = ''\'';
apply = x: assert (builtins.stringLength x == 1 || abort "<Leader> `${x}` is longer than one character is not allowed"); x; apply = x: assert (builtins.stringLength x == 1 || abort "${mod.leader} `${x}` is longer than one character is not allowed"); x;
}; };
localLeader = mkOption { localLeader = mkOption {
type = types.str; type = types.str;
default = ''\''; default = ''\'';
apply = x: assert (builtins.stringLength x == 1 || abort "<LocalLeader> `${x}` is longer than one character is not allowed"); x; apply = x: assert (builtins.stringLength x == 1 || abort "${mod.localLeader} `${x}` is longer than one character is not allowed"); x;
}; };
exMode.enable = mkEnableOption "Ex mode"; exMode.enable = mkEnableOption "Ex mode";
@ -50,9 +52,9 @@ in
lib.optionals (!cfg.exMode.enable) (disableKeymaps "n" [ "Q" "gQ" ]) lib.optionals (!cfg.exMode.enable) (disableKeymaps "n" [ "Q" "gQ" ])
# Disable arrow keys # Disable arrow keys
++ lib.optionals cfg.arrowKeys.disable ++ lib.optionals cfg.arrowKeys.disable
(disableKeymaps cfg.arrowKeys.mode [ "<Up>" "<Down>" "<Left>" "<Right>" ]) (disableKeymaps cfg.arrowKeys.mode [ mod.up mod.down mod.left mod.right ])
# Disable PageUp / PageDown # Disable PageUp / PageDown
++ lib.optionals cfg.pageButtons.disable ++ lib.optionals cfg.pageButtons.disable
(disableKeymaps cfg.pageButtons.mode [ "<PageUp>" "<PageDown>" ]); (disableKeymaps cfg.pageButtons.mode [ mod.pageUp mod.pageDown ]);
}; };
} }