{lib, ...}: let inherit (lib.options) mkOption; inherit (lib.types) either str listOf attrsOf nullOr submodule; inherit (lib.nvim.config) mkBool; mapType = submodule { mode = mkOption { type = either str (listOf str); description = '' The short-name of the mode to set the keymapping for. Passing an empty string is the equivalent of `:map`. See `:help map-modes` for a list of modes. ''; }; desc = mkOption { type = nullOr str; default = null; description = "A description of this keybind, to be shown in which-key, if you have it enabled."; }; action = mkOption { type = str; description = "The command to execute."; }; lua = mkBool false '' If true, `action` is considered to be lua code. Thus, it will not be wrapped in `""`. ''; silent = mkBool true "Whether this mapping should be silent. Equivalent to adding to a map."; nowait = mkBool false "Whether to wait for extra input on ambiguous mappings. Equivalent to adding to a map."; script = mkBool false "Equivalent to adding