{lib, ...}: let inherit (lib.options) mkOption mkEnableOption; inherit (lib.types) enum listOf submodule nullOr str bool int attrsOf anything either oneOf; inherit (lib.nvim.types) pluginType; inherit (lib.nvim.config) mkBool; lznKeysSpec = submodule { options = { key = mkOption { type = nullOr str; description = "Key to bind to. If key is null this entry is ignored."; }; action = mkOption { type = nullOr str; default = null; description = "Action to trigger."; }; lua = mkBool false '' If true, `action` is considered to be lua code. Thus, it will not be wrapped in `""`. ''; desc = mkOption { description = "Description of the key map"; type = nullOr str; default = null; }; ft = mkOption { description = "TBD"; type = nullOr (listOf str); default = null; }; mode = mkOption { description = "Modes to bind in"; type = listOf str; default = ["n" "x" "s" "o"]; }; 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