{lib, ...}: let inherit (lib.options) mkOption mkEnableOption; inherit (lib.types) enum listOf submodule nullOr str bool int attrsOf anything either oneOf lines; 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 { type = nullOr str; default = null; description = "Description of the key map"; }; ft = mkOption { type = nullOr (listOf str); default = null; description = "TBD"; }; mode = mkOption { type = either str (listOf str); example = ["n" "x" "o"]; description = "Modes to bind 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