@opentui/keymap 0.0.0-20260508-31faecd0 → 0.0.0-20260508-e93681e4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "main": "src/index.js",
5
5
  "types": "src/index.d.ts",
6
6
  "type": "module",
7
- "version": "0.0.0-20260508-31faecd0",
7
+ "version": "0.0.0-20260508-e93681e4",
8
8
  "description": "Standalone keymap package for OpenTUI",
9
9
  "license": "MIT",
10
10
  "repository": {
@@ -70,7 +70,7 @@
70
70
  }
71
71
  },
72
72
  "dependencies": {
73
- "@opentui/core": "0.0.0-20260508-31faecd0"
73
+ "@opentui/core": "0.0.0-20260508-e93681e4"
74
74
  },
75
75
  "devDependencies": {
76
76
  "@opentui/react": "workspace:*",
@@ -83,8 +83,8 @@
83
83
  "typescript": "^5"
84
84
  },
85
85
  "peerDependencies": {
86
- "@opentui/react": "0.0.0-20260508-31faecd0",
87
- "@opentui/solid": "0.0.0-20260508-31faecd0",
86
+ "@opentui/react": "0.0.0-20260508-e93681e4",
87
+ "@opentui/solid": "0.0.0-20260508-e93681e4",
88
88
  "react": ">=19.2.0",
89
89
  "solid-js": "1.9.12"
90
90
  },
@@ -926,10 +926,22 @@ function registerExCommands(keymap) {
926
926
  });
927
927
  }
928
928
  // src/addons/universal/leader.ts
929
+ function resolveLeaderTrigger(trigger) {
930
+ if (Array.isArray(trigger)) {
931
+ if (trigger.length !== 1) {
932
+ throw new Error("Invalid leader trigger: expected exactly one binding");
933
+ }
934
+ return trigger[0].key;
935
+ }
936
+ if (typeof trigger === "object" && "key" in trigger) {
937
+ return trigger.key;
938
+ }
939
+ return trigger;
940
+ }
929
941
  function registerLeader(keymap, options) {
930
942
  return keymap.registerToken({
931
943
  name: options.name ?? "leader",
932
- key: options.trigger
944
+ key: resolveLeaderTrigger(options.trigger)
933
945
  });
934
946
  }
935
947
  // src/addons/universal/metadata.ts
@@ -1024,7 +1036,8 @@ function registerNeovimDisambiguation(keymap, options) {
1024
1036
  }
1025
1037
  // src/addons/universal/timed-leader.ts
1026
1038
  function registerTimedLeader(keymap, options) {
1027
- const matchesTrigger = keymap.createKeyMatcher(options.trigger);
1039
+ const trigger = resolveLeaderTrigger(options.trigger);
1040
+ const matchesTrigger = keymap.createKeyMatcher(trigger);
1028
1041
  const timeoutMs = options.timeoutMs ?? 1500;
1029
1042
  let armed = false;
1030
1043
  let timeout;
@@ -1058,7 +1071,7 @@ function registerTimedLeader(keymap, options) {
1058
1071
  }
1059
1072
  options.onDisarm?.();
1060
1073
  };
1061
- const offLeader = registerLeader(keymap, options);
1074
+ const offLeader = registerLeader(keymap, { name: options.name, trigger });
1062
1075
  const offPendingSequenceChange = keymap.on("pendingSequence", (sequence) => {
1063
1076
  syncArmedState(sequence);
1064
1077
  });
@@ -1126,5 +1139,5 @@ export {
1126
1139
  defaultBindingParser
1127
1140
  };
1128
1141
 
1129
- //# debugId=BC9676433CEF75A964756E2164756E21
1142
+ //# debugId=56EFBD0923702C9064756E2164756E21
1130
1143
  //# sourceMappingURL=index.js.map
@@ -12,14 +12,14 @@
12
12
  "import type { Keymap, KeymapEvent, ReactiveMatcher } from \"../../index.js\"\n\nconst ENABLED_FIELDS_RESOURCE = Symbol(\"keymap:enabled-fields\")\n\n/**\n * Accepted `enabled` values: boolean, raw `() => boolean`, or an\n * `ReactiveMatcher` for subscription-driven invalidation.\n */\nexport type Enabled = boolean | (() => boolean) | ReactiveMatcher\n\nfunction isReactiveMatcher(value: unknown): value is ReactiveMatcher {\n if (!value || typeof value !== \"object\") {\n return false\n }\n\n const candidate = value as { get?: unknown; subscribe?: unknown }\n return typeof candidate.get === \"function\" && typeof candidate.subscribe === \"function\"\n}\n\nfunction normalizeEnabledValue(fieldName: string, value: unknown): Enabled {\n if (typeof value === \"boolean\") {\n return value\n }\n\n if (typeof value === \"function\") {\n return value as () => boolean\n }\n\n if (isReactiveMatcher(value)) {\n return value\n }\n\n throw new Error(`Keymap enabled field \"${fieldName}\" must be a boolean, a function, or a reactive matcher`)\n}\n\n/**\n * Adds `enabled` layer and command fields for boolean, callback, or reactive\n * matcher gating.\n */\nexport function registerEnabledFields<TTarget extends object, TEvent extends KeymapEvent>(\n keymap: Keymap<TTarget, TEvent>,\n): () => void {\n return keymap.acquireResource(ENABLED_FIELDS_RESOURCE, () => {\n const offLayerFields = keymap.registerLayerFields({\n enabled(value, ctx) {\n const normalized = normalizeEnabledValue(\"enabled\", value)\n if (normalized === true) {\n return\n }\n\n if (normalized === false) {\n ctx.activeWhen(() => false)\n return\n }\n\n ctx.activeWhen(normalized)\n },\n })\n\n const offCommandFields = keymap.registerCommandFields({\n enabled(value, ctx) {\n const normalized = normalizeEnabledValue(\"enabled\", value)\n if (normalized === true) {\n return\n }\n\n if (normalized === false) {\n ctx.activeWhen(() => false)\n return\n }\n\n ctx.activeWhen(normalized)\n },\n })\n\n return () => {\n offCommandFields()\n offLayerFields()\n }\n })\n}\n",
13
13
  "import type { BindingParser, BindingParserContext, Keymap, KeymapEvent, KeySequencePart } from \"../../index.js\"\n\nconst EMACS_BINDINGS_RESOURCE = Symbol(\"keymap:emacs-bindings\")\n\n/**\n * Example Emacs-style chord parsing.\n *\n * This is included as a sample addon and may not be a complete or accurate\n * representation of Emacs binding syntax.\n */\n\nfunction parseEmacsStroke(\n input: string,\n sequence: string,\n parseObjectKey: BindingParserContext[\"parseObjectKey\"],\n): KeySequencePart {\n const parts = input.split(\"+\")\n let name = \"\"\n let ctrl = false\n let shift = false\n let meta = false\n let superKey = false\n let hyper = false\n\n for (const rawPart of parts) {\n const part = rawPart.trim()\n if (!part) {\n continue\n }\n\n const lowered = part.toLowerCase()\n if (lowered === \"ctrl\" || lowered === \"control\") {\n ctrl = true\n continue\n }\n\n if (lowered === \"shift\") {\n shift = true\n continue\n }\n\n if (lowered === \"meta\" || lowered === \"alt\" || lowered === \"option\") {\n meta = true\n continue\n }\n\n if (lowered === \"super\") {\n superKey = true\n continue\n }\n\n if (lowered === \"hyper\") {\n hyper = true\n continue\n }\n\n if (name) {\n throw new Error(`Invalid emacs key sequence \"${sequence}\": stroke \"${input}\" contains multiple key names`)\n }\n\n name = part\n }\n\n if (!name) {\n throw new Error(`Invalid emacs key sequence \"${sequence}\": stroke \"${input}\" is missing a key name`)\n }\n\n return parseObjectKey({\n name,\n ctrl,\n shift,\n meta,\n super: superKey,\n hyper: hyper || undefined,\n })\n}\n\nfunction parseEmacsSequence(\n input: string,\n parseObjectKey: BindingParserContext[\"parseObjectKey\"],\n): KeySequencePart[] | undefined {\n const strokes = input.trim().split(/\\s+/).filter(Boolean)\n\n if (strokes.length <= 1) {\n return undefined\n }\n\n if (!strokes.some((stroke) => stroke.includes(\"+\"))) {\n return undefined\n }\n\n return strokes.map((stroke) => parseEmacsStroke(stroke, input, parseObjectKey))\n}\n\n/**\n * Parses Emacs-style space-separated chords such as `ctrl+x ctrl+s`.\n */\nexport function registerEmacsBindings<TTarget extends object, TEvent extends KeymapEvent>(\n keymap: Keymap<TTarget, TEvent>,\n): () => void {\n return keymap.acquireResource(EMACS_BINDINGS_RESOURCE, () => {\n const parseEmacsBinding: BindingParser = ({ input, index, parseObjectKey }) => {\n const parsed = parseEmacsSequence(input, parseObjectKey)\n if (!parsed || index !== 0) {\n return undefined\n }\n\n return {\n parts: parsed,\n nextIndex: input.length,\n }\n }\n\n return keymap.prependBindingParser(parseEmacsBinding)\n })\n}\n",
14
14
  "import type { CommandContext, Command, CommandResult, Keymap, KeymapEvent, ParsedCommand } from \"../../index.js\"\n\nconst EX_COMMANDS_RESOURCE = Symbol(\"keymap:ex-commands\")\n\nexport interface ExCommandPayload {\n raw: string\n args: readonly string[]\n payload?: unknown\n}\n\nexport interface ExCommand<TTarget extends object = object, TEvent extends KeymapEvent = KeymapEvent> {\n name: string\n aliases?: string[]\n nargs?: \"0\" | \"1\" | \"?\" | \"*\" | \"+\"\n run: (ctx: CommandContext<TTarget, TEvent, ExCommandPayload>) => CommandResult<TTarget, TEvent>\n [key: string]: unknown\n}\n\nfunction isExCommandPayload(value: unknown): value is ExCommandPayload {\n if (!value || typeof value !== \"object\") {\n return false\n }\n\n const candidate = value as { raw?: unknown; args?: unknown }\n return typeof candidate.raw === \"string\" && Array.isArray(candidate.args)\n}\n\nfunction getExCommandPayload(input: string, payload: unknown): ExCommandPayload {\n if (isExCommandPayload(payload)) {\n return payload\n }\n\n return { raw: input, args: [], payload }\n}\n\nfunction normalizeExCommandName(name: string): string {\n const normalized = name.trim()\n if (!normalized) {\n throw new Error(\"Invalid keymap command name: name cannot be empty\")\n }\n\n if (/\\s/.test(normalized)) {\n throw new Error(`Invalid keymap command name \"${name}\": command names cannot contain whitespace`)\n }\n\n if (normalized.startsWith(\":\")) {\n return normalized\n }\n\n return `:${normalized}`\n}\n\nfunction normalizeExCommandAliases(value: unknown): string[] {\n if (!Array.isArray(value)) {\n throw new Error('Keymap ex-command field \"aliases\" must be an array of command names')\n }\n\n const aliases: string[] = []\n for (const alias of value) {\n if (typeof alias !== \"string\") {\n throw new Error('Keymap ex-command field \"aliases\" must only contain command names')\n }\n\n aliases.push(alias)\n }\n\n return aliases\n}\n\nfunction normalizeExCommandNargs(value: unknown): ExCommand[\"nargs\"] {\n if (value === \"0\" || value === \"1\" || value === \"?\" || value === \"*\" || value === \"+\") {\n return value\n }\n\n throw new Error('Keymap ex-command field \"nargs\" must be \"0\", \"1\", \"?\", \"*\", or \"+\"')\n}\n\nfunction getExCommandAliases<TTarget extends object, TEvent extends KeymapEvent>(\n command: Command<TTarget, TEvent>,\n): readonly string[] {\n const aliases = command.aliases\n if (aliases === undefined) {\n return []\n }\n\n return normalizeExCommandAliases(aliases)\n}\n\nfunction isExCommand<TTarget extends object, TEvent extends KeymapEvent>(command: Command<TTarget, TEvent>): boolean {\n return command.name.trim().startsWith(\":\") || command.namespace === \"excommands\"\n}\n\nfunction parseCommandInput(input: string): ParsedCommand {\n const trimmed = input.trim()\n if (!trimmed) {\n throw new Error(\"Invalid keymap command: command cannot be empty\")\n }\n\n const parts = trimmed.split(/\\s+/)\n const [name, ...args] = parts\n if (!name) {\n throw new Error(`Invalid keymap command \"${input}\"`)\n }\n\n return {\n input: trimmed,\n name,\n args,\n }\n}\n\nfunction validateCommandArgs<TTarget extends object, TEvent extends KeymapEvent>(\n command: Command<TTarget, TEvent>,\n args: readonly unknown[],\n): boolean {\n if (command.nargs === undefined) {\n return true\n }\n\n const nargs = normalizeExCommandNargs(command.nargs)\n const count = args.length\n if (nargs === \"0\") {\n return count === 0\n }\n\n if (nargs === \"1\") {\n return count === 1\n }\n\n if (nargs === \"?\") {\n return count <= 1\n }\n\n if (nargs === \"*\") {\n return true\n }\n\n if (nargs === \"+\") {\n return count >= 1\n }\n\n return true\n}\n\nfunction createExCommandRegistration<TTarget extends object, TEvent extends KeymapEvent>(\n command: Command<TTarget, TEvent>,\n name: string,\n): Command<TTarget, TEvent, ExCommandPayload> {\n const run = command.run\n\n return {\n ...command,\n name,\n namespace: \"excommands\",\n run(ctx) {\n const payload = getExCommandPayload(ctx.input, ctx.payload)\n\n if (!validateCommandArgs(command, payload.args)) {\n return { ok: false, reason: \"invalid-args\" }\n }\n\n return run({\n ...ctx,\n command: ctx.command!,\n payload,\n })\n },\n }\n}\n\n/**\n * Installs Ex command support. Ex commands are registered through normal\n * keymap layers by using a colon-prefixed command name or\n * `namespace: \"excommands\"`.\n */\nexport function registerExCommands<TTarget extends object, TEvent extends KeymapEvent>(\n keymap: Keymap<TTarget, TEvent>,\n): () => void {\n return keymap.acquireResource(EX_COMMANDS_RESOURCE, () => {\n const offFields = keymap.registerCommandFields({\n aliases(value) {\n normalizeExCommandAliases(value)\n },\n nargs(value) {\n normalizeExCommandNargs(value)\n },\n })\n\n const offTransformer = keymap.appendCommandTransformer((command, ctx) => {\n if (!isExCommand(command)) {\n return\n }\n\n ctx.skipOriginal()\n\n if (command.nargs !== undefined) {\n normalizeExCommandNargs(command.nargs)\n }\n\n const names = [command.name, ...getExCommandAliases(command)].map((name) => normalizeExCommandName(name))\n for (const name of names) {\n ctx.add(createExCommandRegistration(command, name))\n }\n })\n\n const offResolver = keymap.appendCommandResolver((input, ctx) => {\n if (!input.startsWith(\":\")) {\n return undefined\n }\n\n const parsed = parseCommandInput(input)\n const normalizedName = normalizeExCommandName(parsed.name)\n const command = ctx.getCommand(normalizedName)\n\n if (!command) {\n return undefined\n }\n\n ctx.setInput(parsed.input)\n ctx.setPayload({ raw: parsed.input, args: parsed.args, payload: ctx.payload } satisfies ExCommandPayload)\n return command\n })\n\n return () => {\n offResolver()\n offTransformer()\n offFields()\n }\n })\n}\n",
15
- "import type { KeyLike, Keymap, KeymapEvent } from \"../../index.js\"\n\nexport interface LeaderOptions {\n trigger: KeyLike\n name?: string\n}\n\n/**\n * Defines a token such as `leader` that the default parser can reference as `<leader>`.\n */\nexport function registerLeader<TTarget extends object, TEvent extends KeymapEvent>(\n keymap: Keymap<TTarget, TEvent>,\n options: LeaderOptions,\n): () => void {\n return keymap.registerToken({\n name: options.name ?? \"leader\",\n key: options.trigger,\n })\n}\n",
15
+ "import type { KeyLike, Keymap, KeymapEvent } from \"../../index.js\"\n\nexport type LeaderTrigger = KeyLike | Readonly<{ key: KeyLike }> | readonly Readonly<{ key: KeyLike }>[]\n\nexport interface LeaderOptions {\n trigger: LeaderTrigger\n name?: string\n}\n\nexport function resolveLeaderTrigger(trigger: LeaderTrigger): KeyLike {\n if (Array.isArray(trigger)) {\n if (trigger.length !== 1) {\n throw new Error(\"Invalid leader trigger: expected exactly one binding\")\n }\n\n return trigger[0]!.key\n }\n\n if (typeof trigger === \"object\" && \"key\" in trigger) {\n return trigger.key\n }\n\n return trigger\n}\n\n/**\n * Defines a token such as `leader` that the default parser can reference as `<leader>`.\n */\nexport function registerLeader<TTarget extends object, TEvent extends KeymapEvent>(\n keymap: Keymap<TTarget, TEvent>,\n options: LeaderOptions,\n): () => void {\n return keymap.registerToken({\n name: options.name ?? \"leader\",\n key: resolveLeaderTrigger(options.trigger),\n })\n}\n",
16
16
  "import type { Keymap, KeymapEvent } from \"../../index.js\"\n\nconst METADATA_FIELDS_RESOURCE = Symbol(\"keymap:metadata-fields\")\n\nfunction normalizeMetadataText(fieldName: string, value: unknown): string {\n if (typeof value !== \"string\") {\n throw new Error(`Keymap metadata field \"${fieldName}\" must be a string`)\n }\n\n const trimmed = value.trim()\n if (!trimmed) {\n throw new Error(`Keymap metadata field \"${fieldName}\" cannot be empty`)\n }\n\n return trimmed\n}\n\n/**\n * Maps `desc`, `group`, `title`, and `category` fields into binding and\n * command attrs.\n *\n * This addon only registers binding and command field compilers. Apps can\n * register layer metadata fields directly with `registerLayerFields`.\n */\nexport function registerMetadataFields<TTarget extends object, TEvent extends KeymapEvent>(\n keymap: Keymap<TTarget, TEvent>,\n): () => void {\n return keymap.acquireResource(METADATA_FIELDS_RESOURCE, () => {\n const offBindingFields = keymap.registerBindingFields({\n desc(value, ctx) {\n ctx.attr(\"desc\", normalizeMetadataText(\"desc\", value))\n },\n group(value, ctx) {\n ctx.attr(\"group\", normalizeMetadataText(\"group\", value))\n },\n })\n\n const offCommandFields = keymap.registerCommandFields({\n desc(value, ctx) {\n ctx.attr(\"desc\", normalizeMetadataText(\"desc\", value))\n },\n title(value, ctx) {\n ctx.attr(\"title\", normalizeMetadataText(\"title\", value))\n },\n category(value, ctx) {\n ctx.attr(\"category\", normalizeMetadataText(\"category\", value))\n },\n })\n\n return () => {\n offCommandFields()\n offBindingFields()\n }\n })\n}\n",
17
17
  "import type { BindingExpander, HostMetadata, Keymap, KeymapEvent } from \"../../index.js\"\n\nconst MOD_BINDINGS_RESOURCE = Symbol(\"keymap:mod-bindings\")\n\nconst MOD_MODIFIER_PATTERN = /(^|[+,\\s])mod(?=\\s*\\+)/i\nconst MOD_MODIFIER_REPLACE_PATTERN = /(^|[+,\\s])mod(?=\\s*\\+)/gi\n\nfunction resolveModModifier(metadata: Readonly<HostMetadata>): \"ctrl\" | \"super\" {\n const primary = metadata.primaryModifier\n if ((primary === \"ctrl\" || primary === \"super\") && metadata.modifiers[primary] !== \"unsupported\") {\n return primary\n }\n\n if (metadata.modifiers.ctrl !== \"unsupported\") {\n return \"ctrl\"\n }\n\n return \"super\"\n}\n\nfunction createDisplays(input: string): readonly string[] {\n if (input.includes(\",\")) {\n return [input]\n }\n\n const trimmed = input.trim()\n return trimmed.includes(\" \") ? trimmed.split(/\\s+/) : [input]\n}\n\n/**\n * Adds a platform-aware `mod+...` modifier alias. `mod` resolves to the host's\n * primary modifier, with `ctrl` as the fallback when the host is unknown.\n */\nexport function registerModBindings<TTarget extends object, TEvent extends KeymapEvent>(\n keymap: Keymap<TTarget, TEvent>,\n): () => void {\n return keymap.acquireResource(MOD_BINDINGS_RESOURCE, () => {\n const expandModBinding: BindingExpander = ({ input, displays }) => {\n if (!MOD_MODIFIER_PATTERN.test(input)) {\n return undefined\n }\n\n const modifier = resolveModModifier(keymap.getHostMetadata())\n return [\n {\n key: input.replace(MOD_MODIFIER_REPLACE_PATTERN, (_match, prefix: string) => `${prefix}${modifier}`),\n displays: displays ?? createDisplays(input),\n },\n ]\n }\n\n return keymap.appendBindingExpander(expandModBinding)\n })\n}\n",
18
18
  "import type { Keymap, KeymapEvent } from \"../../index.js\"\n\nexport interface NeovimDisambiguationOptions {\n timeoutMs?: number\n}\n\n/**\n * Defers ambiguous exact-vs-prefix bindings and runs the exact binding if no\n * continuation arrives before the timeout, matching Neovim-style timeout-based\n * disambiguation.\n */\nexport function registerNeovimDisambiguation<TTarget extends object, TEvent extends KeymapEvent>(\n keymap: Keymap<TTarget, TEvent>,\n options?: NeovimDisambiguationOptions,\n): () => void {\n const timeoutMs = options?.timeoutMs ?? 300\n\n return keymap.appendDisambiguationResolver((ctx) => {\n return ctx.defer(async (deferred) => {\n const elapsed = await deferred.sleep(timeoutMs)\n if (!elapsed) {\n return\n }\n\n return deferred.runExact()\n })\n })\n}\n",
19
- "import type { Keymap, KeymapEvent, KeySequencePart } from \"../../index.js\"\nimport { registerLeader, type LeaderOptions } from \"./leader.js\"\n\nexport interface TimedLeaderOptions extends LeaderOptions {\n timeoutMs?: number\n onArm?: () => void\n onDisarm?: () => void\n}\n\n/**\n * Defines a leader token and clears it if no follow-up key arrives before the\n * timeout.\n */\nexport function registerTimedLeader<TTarget extends object, TEvent extends KeymapEvent>(\n keymap: Keymap<TTarget, TEvent>,\n options: TimedLeaderOptions,\n): () => void {\n const matchesTrigger = keymap.createKeyMatcher(options.trigger)\n const timeoutMs = options.timeoutMs ?? 1500\n\n let armed = false\n let timeout: ReturnType<typeof setTimeout> | undefined\n\n const clearTimer = (): void => {\n if (!timeout) {\n return\n }\n\n clearTimeout(timeout)\n timeout = undefined\n }\n\n const scheduleTimeout = (): void => {\n clearTimer()\n timeout = setTimeout(() => {\n keymap.clearPendingSequence()\n }, timeoutMs)\n }\n\n const syncArmedState = (sequence: readonly KeySequencePart[]): void => {\n const nextArmed = matchesTrigger(sequence[0])\n if (nextArmed) {\n scheduleTimeout()\n } else {\n clearTimer()\n }\n\n if (nextArmed === armed) {\n return\n }\n\n armed = nextArmed\n if (armed) {\n options.onArm?.()\n return\n }\n\n options.onDisarm?.()\n }\n\n const offLeader = registerLeader(keymap, options)\n const offPendingSequenceChange = keymap.on(\"pendingSequence\", (sequence) => {\n syncArmedState(sequence)\n })\n syncArmedState(keymap.getPendingSequence())\n\n const dispose = (): void => {\n clearTimer()\n offPendingSequenceChange()\n offLeader()\n\n if (!armed) {\n return\n }\n\n armed = false\n options.onDisarm?.()\n }\n\n return dispose\n}\n",
19
+ "import type { Keymap, KeymapEvent, KeySequencePart } from \"../../index.js\"\nimport { registerLeader, resolveLeaderTrigger, type LeaderOptions } from \"./leader.js\"\n\nexport interface TimedLeaderOptions extends LeaderOptions {\n timeoutMs?: number\n onArm?: () => void\n onDisarm?: () => void\n}\n\n/**\n * Defines a leader token and clears it if no follow-up key arrives before the\n * timeout.\n */\nexport function registerTimedLeader<TTarget extends object, TEvent extends KeymapEvent>(\n keymap: Keymap<TTarget, TEvent>,\n options: TimedLeaderOptions,\n): () => void {\n const trigger = resolveLeaderTrigger(options.trigger)\n const matchesTrigger = keymap.createKeyMatcher(trigger)\n const timeoutMs = options.timeoutMs ?? 1500\n\n let armed = false\n let timeout: ReturnType<typeof setTimeout> | undefined\n\n const clearTimer = (): void => {\n if (!timeout) {\n return\n }\n\n clearTimeout(timeout)\n timeout = undefined\n }\n\n const scheduleTimeout = (): void => {\n clearTimer()\n timeout = setTimeout(() => {\n keymap.clearPendingSequence()\n }, timeoutMs)\n }\n\n const syncArmedState = (sequence: readonly KeySequencePart[]): void => {\n const nextArmed = matchesTrigger(sequence[0])\n if (nextArmed) {\n scheduleTimeout()\n } else {\n clearTimer()\n }\n\n if (nextArmed === armed) {\n return\n }\n\n armed = nextArmed\n if (armed) {\n options.onArm?.()\n return\n }\n\n options.onDisarm?.()\n }\n\n const offLeader = registerLeader(keymap, { name: options.name, trigger })\n const offPendingSequenceChange = keymap.on(\"pendingSequence\", (sequence) => {\n syncArmedState(sequence)\n })\n syncArmedState(keymap.getPendingSequence())\n\n const dispose = (): void => {\n clearTimer()\n offPendingSequenceChange()\n offLeader()\n\n if (!armed) {\n return\n }\n\n armed = false\n options.onDisarm?.()\n }\n\n return dispose\n}\n",
20
20
  "import { stringifyKeySequence, stringifyKeyStroke } from \"@opentui/keymap\"\nimport type { Keymap, KeymapEvent, LayerAnalysisContext, ParsedBinding } from \"@opentui/keymap\"\n\nconst UNRESOLVED_COMMAND_WARNINGS_RESOURCE = Symbol(\"keymap:unresolved-command-warnings\")\n\ninterface UnresolvedCommandWarning<TTarget extends object, TEvent extends KeymapEvent> {\n command: string\n binding: ParsedBinding<TTarget, TEvent>\n target?: TTarget\n}\n\nfunction warnUnresolvedCommand<TTarget extends object, TEvent extends KeymapEvent>(\n ctx: LayerAnalysisContext<TTarget, TEvent>,\n binding: LayerAnalysisContext<TTarget, TEvent>[\"bindings\"][number],\n): void {\n if (typeof binding.command !== \"string\") {\n return\n }\n\n if (ctx.checkCommandResolution(binding.command) !== \"unresolved\") {\n return\n }\n\n const sequence = stringifyKeySequence(binding.parsedBinding.sequence, { preferDisplay: true })\n const sourceKey =\n typeof binding.parsedBinding.key === \"string\"\n ? binding.parsedBinding.key\n : stringifyKeyStroke(binding.parsedBinding.key)\n const warning: UnresolvedCommandWarning<TTarget, TEvent> = {\n command: binding.command,\n binding: binding.parsedBinding,\n target: binding.sourceTarget,\n }\n\n ctx.warnOnce(\n `unresolved:${binding.sourceLayerOrder}:${binding.bindingIndex}:${binding.command}:${sourceKey}`,\n \"unresolved-command\",\n warning,\n `[Keymap] Unresolved command \"${binding.command}\" for binding \"${sequence}\"`,\n )\n}\n\n/**\n * Warns when a string command name cannot be resolved by registered commands\n * or resolvers.\n */\nexport function registerUnresolvedCommandWarnings<TTarget extends object, TEvent extends KeymapEvent>(\n keymap: Keymap<TTarget, TEvent>,\n): () => void {\n return keymap.acquireResource(UNRESOLVED_COMMAND_WARNINGS_RESOURCE, () => {\n return keymap.appendLayerAnalyzer((ctx) => {\n for (const binding of ctx.bindings) {\n warnUnresolvedCommand(ctx, binding)\n }\n })\n })\n}\n"
21
21
  ],
22
- "mappings": "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",
23
- "debugId": "BC9676433CEF75A964756E2164756E21",
22
+ "mappings": "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",
23
+ "debugId": "56EFBD0923702C9064756E2164756E21",
24
24
  "names": []
25
25
  }
@@ -19,6 +19,6 @@ export type { BackspacePopsPendingSequenceOptions } from "./backspace-pops-pendi
19
19
  export type { EscapeClearsPendingSequenceOptions } from "./escape-clears-pending-sequence.js";
20
20
  export type { Enabled } from "./enabled.js";
21
21
  export type { ExCommand, ExCommandPayload } from "./ex-commands.js";
22
- export type { LeaderOptions } from "./leader.js";
22
+ export type { LeaderOptions, LeaderTrigger } from "./leader.js";
23
23
  export type { NeovimDisambiguationOptions } from "./neovim-disambiguation.js";
24
24
  export type { TimedLeaderOptions } from "./timed-leader.js";
@@ -1,8 +1,14 @@
1
1
  import type { KeyLike, Keymap, KeymapEvent } from "../../index.js";
2
+ export type LeaderTrigger = KeyLike | Readonly<{
3
+ key: KeyLike;
4
+ }> | readonly Readonly<{
5
+ key: KeyLike;
6
+ }>[];
2
7
  export interface LeaderOptions {
3
- trigger: KeyLike;
8
+ trigger: LeaderTrigger;
4
9
  name?: string;
5
10
  }
11
+ export declare function resolveLeaderTrigger(trigger: LeaderTrigger): KeyLike;
6
12
  /**
7
13
  * Defines a token such as `leader` that the default parser can reference as `<leader>`.
8
14
  */
@@ -2,12 +2,14 @@ import type { Binding, KeyLike, KeymapEvent } from "../types.js";
2
2
  export type BindingConfigItem<TTarget extends object = object, TEvent extends KeymapEvent = KeymapEvent> = KeyLike | Binding<TTarget, TEvent>;
3
3
  export type BindingValue<TTarget extends object = object, TEvent extends KeymapEvent = KeymapEvent> = false | "none" | BindingConfigItem<TTarget, TEvent> | readonly BindingConfigItem<TTarget, TEvent>[];
4
4
  export type BindingConfig<TTarget extends object = object, TEvent extends KeymapEvent = KeymapEvent> = Readonly<Record<string, BindingValue<TTarget, TEvent>>>;
5
+ export type BindingCommandMap = Readonly<Record<string, string>>;
5
6
  export interface BindingDefaultsContext<TTarget extends object = object, TEvent extends KeymapEvent = KeymapEvent> {
6
7
  command: string;
7
8
  binding: Readonly<Binding<TTarget, TEvent>>;
8
9
  }
9
10
  export type BindingDefaults<TTarget extends object = object, TEvent extends KeymapEvent = KeymapEvent> = (ctx: BindingDefaultsContext<TTarget, TEvent>) => Readonly<Record<string, unknown>> | void;
10
11
  export interface CreateBindingLookupOptions<TTarget extends object = object, TEvent extends KeymapEvent = KeymapEvent> {
12
+ commandMap?: BindingCommandMap;
11
13
  bindingDefaults?: BindingDefaults<TTarget, TEvent>;
12
14
  }
13
15
  export interface BindingLookup<TTarget extends object = object, TEvent extends KeymapEvent = KeymapEvent> {
@@ -1,6 +1,6 @@
1
1
  export { createBindingLookup } from "./binding-lookup.js";
2
2
  export { commandBindings } from "./command-bindings.js";
3
3
  export { formatCommandBindings, formatKeySequence } from "./formatting.js";
4
- export type { BindingConfig, BindingConfigItem, BindingDefaults, BindingDefaultsContext, BindingLookup, BindingValue, CreateBindingLookupOptions, } from "./binding-lookup.js";
4
+ export type { BindingConfig, BindingConfigItem, BindingCommandMap, BindingDefaults, BindingDefaultsContext, BindingLookup, BindingValue, CreateBindingLookupOptions, } from "./binding-lookup.js";
5
5
  export type { FormatCommandBindingsOptions, FormatKeySequenceOptions, KeySequenceFormatPart, KeyModifierName, SequenceBindingLike, TokenDisplayResolver, } from "./formatting.js";
6
6
  export type { CommandBindingMap, CommandBindingsOptions, CommandBindingsOverrideWarning, CommandBindingsError, } from "./command-bindings.js";
@@ -19,6 +19,20 @@ function normalizeCommand(command) {
19
19
  }
20
20
  return command;
21
21
  }
22
+ function mapCommand(command, commandMap) {
23
+ const configCommand = normalizeCommand(command);
24
+ if (!commandMap || !hasOwn.call(commandMap, configCommand)) {
25
+ return configCommand;
26
+ }
27
+ const mappedCommand = commandMap[configCommand];
28
+ if (typeof mappedCommand !== "string") {
29
+ throw new Error(`Invalid binding command map entry for "${configCommand}": expected a command string`);
30
+ }
31
+ if (mappedCommand.length === 0) {
32
+ throw new Error(`Invalid binding command map entry for "${configCommand}": command cannot be empty`);
33
+ }
34
+ return mappedCommand;
35
+ }
22
36
  function invalidBindingValue(command, index) {
23
37
  const location = index === undefined ? `"${command}"` : `"${command}" at index ${index}`;
24
38
  return new Error(`Invalid binding value for ${location}: expected false, a key, a binding object, or an array of keys/binding objects`);
@@ -83,13 +97,13 @@ function flattenBindings(byCommand) {
83
97
  }
84
98
  return result;
85
99
  }
86
- function normalizeBindings(config, bindingDefaults) {
100
+ function normalizeBindings(config, commandMap, bindingDefaults) {
87
101
  const byCommand = new Map;
88
102
  for (const rawCommand in config) {
89
103
  if (!hasOwn.call(config, rawCommand)) {
90
104
  continue;
91
105
  }
92
- const command = normalizeCommand(rawCommand);
106
+ const command = mapCommand(rawCommand, commandMap);
93
107
  const commandBindings = resolveBindingValue(command, config[rawCommand], bindingDefaults);
94
108
  if (!commandBindings) {
95
109
  byCommand.delete(command);
@@ -118,7 +132,7 @@ function gatherBindings(byCommand, commands) {
118
132
  }
119
133
  function createBindingLookup(config, options) {
120
134
  let currentConfig = config;
121
- let normalized = normalizeBindings(currentConfig, options?.bindingDefaults);
135
+ let normalized = normalizeBindings(currentConfig, options?.commandMap, options?.bindingDefaults);
122
136
  const gathered = new Map;
123
137
  return {
124
138
  get bindings() {
@@ -188,7 +202,7 @@ function createBindingLookup(config, options) {
188
202
  if (nextConfig) {
189
203
  currentConfig = nextConfig;
190
204
  }
191
- normalized = normalizeBindings(currentConfig, options?.bindingDefaults);
205
+ normalized = normalizeBindings(currentConfig, options?.commandMap, options?.bindingDefaults);
192
206
  gathered.clear();
193
207
  }
194
208
  };
@@ -324,5 +338,5 @@ export {
324
338
  commandBindings
325
339
  };
326
340
 
327
- //# debugId=38CAF24BAE79488864756E2164756E21
341
+ //# debugId=EEA8D2CD3E5893FE64756E2164756E21
328
342
  //# sourceMappingURL=index.js.map
@@ -2,11 +2,11 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/extras/binding-lookup.ts", "../src/extras/command-bindings.ts", "../src/extras/formatting.ts"],
4
4
  "sourcesContent": [
5
- "// Opinionated config-to-keymap transformation helper. Treat this as one\n// practical shape you can copy and adjust for application-specific needs.\nimport type { Binding, KeyLike, KeymapEvent } from \"../types.js\"\n\nexport type BindingConfigItem<TTarget extends object = object, TEvent extends KeymapEvent = KeymapEvent> =\n | KeyLike\n | Binding<TTarget, TEvent>\n\nexport type BindingValue<TTarget extends object = object, TEvent extends KeymapEvent = KeymapEvent> =\n | false\n | \"none\"\n | BindingConfigItem<TTarget, TEvent>\n | readonly BindingConfigItem<TTarget, TEvent>[]\n\nexport type BindingConfig<TTarget extends object = object, TEvent extends KeymapEvent = KeymapEvent> = Readonly<\n Record<string, BindingValue<TTarget, TEvent>>\n>\n\nconst hasOwn = Object.prototype.hasOwnProperty\n\nexport interface BindingDefaultsContext<TTarget extends object = object, TEvent extends KeymapEvent = KeymapEvent> {\n command: string\n binding: Readonly<Binding<TTarget, TEvent>>\n}\n\nexport type BindingDefaults<TTarget extends object = object, TEvent extends KeymapEvent = KeymapEvent> = (\n ctx: BindingDefaultsContext<TTarget, TEvent>,\n) => Readonly<Record<string, unknown>> | void\n\nexport interface CreateBindingLookupOptions<TTarget extends object = object, TEvent extends KeymapEvent = KeymapEvent> {\n bindingDefaults?: BindingDefaults<TTarget, TEvent>\n}\n\nexport interface BindingLookup<TTarget extends object = object, TEvent extends KeymapEvent = KeymapEvent> {\n readonly bindings: readonly Binding<TTarget, TEvent>[]\n get(command: string): readonly Binding<TTarget, TEvent>[] | undefined\n gather(name: string, commands: readonly string[]): readonly Binding<TTarget, TEvent>[]\n pick(name: string, commands: readonly string[]): Binding<TTarget, TEvent>[]\n omit(name: string, commands: readonly string[]): Binding<TTarget, TEvent>[]\n invalidate(name?: string): void\n update(config?: BindingConfig<TTarget, TEvent>): void\n}\n\ninterface NormalizedBindings<TTarget extends object, TEvent extends KeymapEvent> {\n bindings: Binding<TTarget, TEvent>[]\n byCommand: Map<string, Binding<TTarget, TEvent>[]>\n}\n\ninterface GatheredBindings<TTarget extends object, TEvent extends KeymapEvent> {\n bindings: Binding<TTarget, TEvent>[]\n byCommand: Map<string, readonly Binding<TTarget, TEvent>[]>\n}\n\nfunction isObject(value: unknown): value is Record<string, unknown> {\n return !!value && typeof value === \"object\" && !Array.isArray(value)\n}\n\nfunction isKeyLike(value: unknown): value is KeyLike {\n return typeof value === \"string\" || isObject(value)\n}\n\nfunction cloneKeyLike(key: KeyLike): KeyLike {\n if (typeof key === \"string\") {\n return key\n }\n\n return { ...key }\n}\n\nfunction normalizeCommand(command: string): string {\n if (command.length === 0) {\n throw new Error(\"Invalid binding command: command cannot be empty\")\n }\n\n return command\n}\n\nfunction invalidBindingValue(command: string, index?: number): Error {\n const location = index === undefined ? `\"${command}\"` : `\"${command}\" at index ${index}`\n return new Error(\n `Invalid binding value for ${location}: expected false, a key, a binding object, or an array of keys/binding objects`,\n )\n}\n\nfunction resolveBindingItem<TTarget extends object, TEvent extends KeymapEvent>(\n command: string,\n item: BindingConfigItem<TTarget, TEvent>,\n index?: number,\n): Binding<TTarget, TEvent> {\n if (!isKeyLike(item)) {\n throw invalidBindingValue(command, index)\n }\n\n if (typeof item === \"string\" || !(\"key\" in item)) {\n return {\n key: cloneKeyLike(item),\n cmd: command,\n }\n }\n\n const key = item.key\n if (!isKeyLike(key)) {\n throw invalidBindingValue(command, index)\n }\n\n return {\n ...item,\n key: cloneKeyLike(key),\n cmd: command,\n }\n}\n\nfunction resolveBindingValue<TTarget extends object, TEvent extends KeymapEvent>(\n command: string,\n value: BindingValue<TTarget, TEvent>,\n bindingDefaults: BindingDefaults<TTarget, TEvent> | undefined,\n): Binding<TTarget, TEvent>[] | undefined {\n if (value === false || value === \"none\") {\n return undefined\n }\n\n if (Array.isArray(value)) {\n if (value.length === 0) {\n return undefined\n }\n\n const items = value as readonly BindingConfigItem<TTarget, TEvent>[]\n const bindings = new Array<Binding<TTarget, TEvent>>(items.length)\n for (let index = 0; index < items.length; index += 1) {\n const binding = resolveBindingItem(command, items[index]!, index)\n bindings[index] = bindingDefaults ? withBindingDefaults(command, binding, bindingDefaults) : binding\n }\n\n return bindings\n }\n\n const binding = resolveBindingItem(command, value as BindingConfigItem<TTarget, TEvent>)\n return [bindingDefaults ? withBindingDefaults(command, binding, bindingDefaults) : binding]\n}\n\nfunction withBindingDefaults<TTarget extends object, TEvent extends KeymapEvent>(\n command: string,\n binding: Binding<TTarget, TEvent>,\n bindingDefaults: BindingDefaults<TTarget, TEvent> | undefined,\n): Binding<TTarget, TEvent> {\n const defaults = bindingDefaults?.({ command, binding })\n if (!defaults) return binding\n return { ...defaults, ...binding }\n}\n\nfunction flattenBindings<TTarget extends object, TEvent extends KeymapEvent>(\n byCommand: ReadonlyMap<string, readonly Binding<TTarget, TEvent>[]>,\n): Binding<TTarget, TEvent>[] {\n let bindingCount = 0\n for (const bindings of byCommand.values()) {\n bindingCount += bindings.length\n }\n\n const result = new Array<Binding<TTarget, TEvent>>(bindingCount)\n let bindingIndex = 0\n for (const bindings of byCommand.values()) {\n for (let index = 0; index < bindings.length; index += 1) {\n result[bindingIndex] = bindings[index]!\n bindingIndex += 1\n }\n }\n\n return result\n}\n\nfunction normalizeBindings<TTarget extends object, TEvent extends KeymapEvent>(\n config: BindingConfig<TTarget, TEvent>,\n bindingDefaults: BindingDefaults<TTarget, TEvent> | undefined,\n): NormalizedBindings<TTarget, TEvent> {\n const byCommand = new Map<string, Binding<TTarget, TEvent>[]>()\n\n for (const rawCommand in config) {\n if (!hasOwn.call(config, rawCommand)) {\n continue\n }\n\n const command = normalizeCommand(rawCommand)\n const commandBindings = resolveBindingValue(command, config[rawCommand]!, bindingDefaults)\n\n if (!commandBindings) {\n byCommand.delete(command)\n } else {\n byCommand.set(command, commandBindings)\n }\n }\n\n return {\n bindings: flattenBindings(byCommand),\n byCommand,\n }\n}\n\nfunction gatherBindings<TTarget extends object, TEvent extends KeymapEvent>(\n byCommand: ReadonlyMap<string, readonly Binding<TTarget, TEvent>[]>,\n commands: readonly string[],\n): GatheredBindings<TTarget, TEvent> {\n const gatheredByCommand = new Map<string, readonly Binding<TTarget, TEvent>[]>()\n const bindings: Binding<TTarget, TEvent>[] = []\n\n for (const command of commands) {\n const commandBindings = byCommand.get(command)\n if (!commandBindings) continue\n\n gatheredByCommand.set(command, commandBindings)\n for (let index = 0; index < commandBindings.length; index += 1) {\n bindings.push(commandBindings[index]!)\n }\n }\n\n return { bindings, byCommand: gatheredByCommand }\n}\n\nexport function createBindingLookup<TTarget extends object = object, TEvent extends KeymapEvent = KeymapEvent>(\n config: BindingConfig<TTarget, TEvent>,\n options?: CreateBindingLookupOptions<TTarget, TEvent>,\n): BindingLookup<TTarget, TEvent> {\n let currentConfig = config\n let normalized = normalizeBindings(currentConfig, options?.bindingDefaults)\n const gathered = new Map<string, GatheredBindings<TTarget, TEvent>>()\n\n return {\n get bindings() {\n return normalized.bindings\n },\n get(command) {\n return normalized.byCommand.get(command)\n },\n gather(name, commands) {\n const existing = gathered.get(name)\n if (existing) return existing.bindings\n\n const next = gatherBindings(normalized.byCommand, commands)\n gathered.set(name, next)\n return next.bindings\n },\n pick(name, commands) {\n const group = gathered.get(name)\n if (!group) return []\n\n const result: Binding<TTarget, TEvent>[] = []\n for (const command of commands) {\n const bindings = group.byCommand.get(command)\n if (!bindings) continue\n for (let index = 0; index < bindings.length; index += 1) {\n result.push(bindings[index]!)\n }\n }\n\n return result\n },\n omit(name, commands) {\n const group = gathered.get(name)\n if (!group) return []\n if (commands.length === 0) return group.bindings\n\n if (commands.length === 1) {\n const omitted = commands[0]\n const result: Binding<TTarget, TEvent>[] = []\n for (let index = 0; index < group.bindings.length; index += 1) {\n const binding = group.bindings[index]!\n if (typeof binding.cmd === \"string\" && binding.cmd === omitted) continue\n result.push(binding)\n }\n\n return result\n }\n\n const omitted = new Set(commands)\n const result: Binding<TTarget, TEvent>[] = []\n for (let index = 0; index < group.bindings.length; index += 1) {\n const binding = group.bindings[index]!\n if (typeof binding.cmd === \"string\" && omitted.has(binding.cmd)) continue\n result.push(binding)\n }\n\n return result\n },\n invalidate(name) {\n if (name === undefined) {\n gathered.clear()\n return\n }\n\n gathered.delete(name)\n },\n update(nextConfig) {\n if (nextConfig) {\n currentConfig = nextConfig\n }\n\n normalized = normalizeBindings(currentConfig, options?.bindingDefaults)\n gathered.clear()\n },\n }\n}\n",
5
+ "// Opinionated config-to-keymap transformation helper. Treat this as one\n// practical shape you can copy and adjust for application-specific needs.\nimport type { Binding, KeyLike, KeymapEvent } from \"../types.js\"\n\nexport type BindingConfigItem<TTarget extends object = object, TEvent extends KeymapEvent = KeymapEvent> =\n | KeyLike\n | Binding<TTarget, TEvent>\n\nexport type BindingValue<TTarget extends object = object, TEvent extends KeymapEvent = KeymapEvent> =\n | false\n | \"none\"\n | BindingConfigItem<TTarget, TEvent>\n | readonly BindingConfigItem<TTarget, TEvent>[]\n\nexport type BindingConfig<TTarget extends object = object, TEvent extends KeymapEvent = KeymapEvent> = Readonly<\n Record<string, BindingValue<TTarget, TEvent>>\n>\n\nexport type BindingCommandMap = Readonly<Record<string, string>>\n\nconst hasOwn = Object.prototype.hasOwnProperty\n\nexport interface BindingDefaultsContext<TTarget extends object = object, TEvent extends KeymapEvent = KeymapEvent> {\n command: string\n binding: Readonly<Binding<TTarget, TEvent>>\n}\n\nexport type BindingDefaults<TTarget extends object = object, TEvent extends KeymapEvent = KeymapEvent> = (\n ctx: BindingDefaultsContext<TTarget, TEvent>,\n) => Readonly<Record<string, unknown>> | void\n\nexport interface CreateBindingLookupOptions<TTarget extends object = object, TEvent extends KeymapEvent = KeymapEvent> {\n commandMap?: BindingCommandMap\n bindingDefaults?: BindingDefaults<TTarget, TEvent>\n}\n\nexport interface BindingLookup<TTarget extends object = object, TEvent extends KeymapEvent = KeymapEvent> {\n readonly bindings: readonly Binding<TTarget, TEvent>[]\n get(command: string): readonly Binding<TTarget, TEvent>[] | undefined\n gather(name: string, commands: readonly string[]): readonly Binding<TTarget, TEvent>[]\n pick(name: string, commands: readonly string[]): Binding<TTarget, TEvent>[]\n omit(name: string, commands: readonly string[]): Binding<TTarget, TEvent>[]\n invalidate(name?: string): void\n update(config?: BindingConfig<TTarget, TEvent>): void\n}\n\ninterface NormalizedBindings<TTarget extends object, TEvent extends KeymapEvent> {\n bindings: Binding<TTarget, TEvent>[]\n byCommand: Map<string, Binding<TTarget, TEvent>[]>\n}\n\ninterface GatheredBindings<TTarget extends object, TEvent extends KeymapEvent> {\n bindings: Binding<TTarget, TEvent>[]\n byCommand: Map<string, readonly Binding<TTarget, TEvent>[]>\n}\n\nfunction isObject(value: unknown): value is Record<string, unknown> {\n return !!value && typeof value === \"object\" && !Array.isArray(value)\n}\n\nfunction isKeyLike(value: unknown): value is KeyLike {\n return typeof value === \"string\" || isObject(value)\n}\n\nfunction cloneKeyLike(key: KeyLike): KeyLike {\n if (typeof key === \"string\") {\n return key\n }\n\n return { ...key }\n}\n\nfunction normalizeCommand(command: string): string {\n if (command.length === 0) {\n throw new Error(\"Invalid binding command: command cannot be empty\")\n }\n\n return command\n}\n\nfunction mapCommand(command: string, commandMap: BindingCommandMap | undefined): string {\n const configCommand = normalizeCommand(command)\n if (!commandMap || !hasOwn.call(commandMap, configCommand)) {\n return configCommand\n }\n\n const mappedCommand = commandMap[configCommand]\n if (typeof mappedCommand !== \"string\") {\n throw new Error(`Invalid binding command map entry for \"${configCommand}\": expected a command string`)\n }\n\n if (mappedCommand.length === 0) {\n throw new Error(`Invalid binding command map entry for \"${configCommand}\": command cannot be empty`)\n }\n\n return mappedCommand\n}\n\nfunction invalidBindingValue(command: string, index?: number): Error {\n const location = index === undefined ? `\"${command}\"` : `\"${command}\" at index ${index}`\n return new Error(\n `Invalid binding value for ${location}: expected false, a key, a binding object, or an array of keys/binding objects`,\n )\n}\n\nfunction resolveBindingItem<TTarget extends object, TEvent extends KeymapEvent>(\n command: string,\n item: BindingConfigItem<TTarget, TEvent>,\n index?: number,\n): Binding<TTarget, TEvent> {\n if (!isKeyLike(item)) {\n throw invalidBindingValue(command, index)\n }\n\n if (typeof item === \"string\" || !(\"key\" in item)) {\n return {\n key: cloneKeyLike(item),\n cmd: command,\n }\n }\n\n const key = item.key\n if (!isKeyLike(key)) {\n throw invalidBindingValue(command, index)\n }\n\n return {\n ...item,\n key: cloneKeyLike(key),\n cmd: command,\n }\n}\n\nfunction resolveBindingValue<TTarget extends object, TEvent extends KeymapEvent>(\n command: string,\n value: BindingValue<TTarget, TEvent>,\n bindingDefaults: BindingDefaults<TTarget, TEvent> | undefined,\n): Binding<TTarget, TEvent>[] | undefined {\n if (value === false || value === \"none\") {\n return undefined\n }\n\n if (Array.isArray(value)) {\n if (value.length === 0) {\n return undefined\n }\n\n const items = value as readonly BindingConfigItem<TTarget, TEvent>[]\n const bindings = new Array<Binding<TTarget, TEvent>>(items.length)\n for (let index = 0; index < items.length; index += 1) {\n const binding = resolveBindingItem(command, items[index]!, index)\n bindings[index] = bindingDefaults ? withBindingDefaults(command, binding, bindingDefaults) : binding\n }\n\n return bindings\n }\n\n const binding = resolveBindingItem(command, value as BindingConfigItem<TTarget, TEvent>)\n return [bindingDefaults ? withBindingDefaults(command, binding, bindingDefaults) : binding]\n}\n\nfunction withBindingDefaults<TTarget extends object, TEvent extends KeymapEvent>(\n command: string,\n binding: Binding<TTarget, TEvent>,\n bindingDefaults: BindingDefaults<TTarget, TEvent> | undefined,\n): Binding<TTarget, TEvent> {\n const defaults = bindingDefaults?.({ command, binding })\n if (!defaults) return binding\n return { ...defaults, ...binding }\n}\n\nfunction flattenBindings<TTarget extends object, TEvent extends KeymapEvent>(\n byCommand: ReadonlyMap<string, readonly Binding<TTarget, TEvent>[]>,\n): Binding<TTarget, TEvent>[] {\n let bindingCount = 0\n for (const bindings of byCommand.values()) {\n bindingCount += bindings.length\n }\n\n const result = new Array<Binding<TTarget, TEvent>>(bindingCount)\n let bindingIndex = 0\n for (const bindings of byCommand.values()) {\n for (let index = 0; index < bindings.length; index += 1) {\n result[bindingIndex] = bindings[index]!\n bindingIndex += 1\n }\n }\n\n return result\n}\n\nfunction normalizeBindings<TTarget extends object, TEvent extends KeymapEvent>(\n config: BindingConfig<TTarget, TEvent>,\n commandMap: BindingCommandMap | undefined,\n bindingDefaults: BindingDefaults<TTarget, TEvent> | undefined,\n): NormalizedBindings<TTarget, TEvent> {\n const byCommand = new Map<string, Binding<TTarget, TEvent>[]>()\n\n for (const rawCommand in config) {\n if (!hasOwn.call(config, rawCommand)) {\n continue\n }\n\n const command = mapCommand(rawCommand, commandMap)\n const commandBindings = resolveBindingValue(command, config[rawCommand]!, bindingDefaults)\n\n if (!commandBindings) {\n byCommand.delete(command)\n } else {\n byCommand.set(command, commandBindings)\n }\n }\n\n return {\n bindings: flattenBindings(byCommand),\n byCommand,\n }\n}\n\nfunction gatherBindings<TTarget extends object, TEvent extends KeymapEvent>(\n byCommand: ReadonlyMap<string, readonly Binding<TTarget, TEvent>[]>,\n commands: readonly string[],\n): GatheredBindings<TTarget, TEvent> {\n const gatheredByCommand = new Map<string, readonly Binding<TTarget, TEvent>[]>()\n const bindings: Binding<TTarget, TEvent>[] = []\n\n for (const command of commands) {\n const commandBindings = byCommand.get(command)\n if (!commandBindings) continue\n\n gatheredByCommand.set(command, commandBindings)\n for (let index = 0; index < commandBindings.length; index += 1) {\n bindings.push(commandBindings[index]!)\n }\n }\n\n return { bindings, byCommand: gatheredByCommand }\n}\n\nexport function createBindingLookup<TTarget extends object = object, TEvent extends KeymapEvent = KeymapEvent>(\n config: BindingConfig<TTarget, TEvent>,\n options?: CreateBindingLookupOptions<TTarget, TEvent>,\n): BindingLookup<TTarget, TEvent> {\n let currentConfig = config\n let normalized = normalizeBindings(currentConfig, options?.commandMap, options?.bindingDefaults)\n const gathered = new Map<string, GatheredBindings<TTarget, TEvent>>()\n\n return {\n get bindings() {\n return normalized.bindings\n },\n get(command) {\n return normalized.byCommand.get(command)\n },\n gather(name, commands) {\n const existing = gathered.get(name)\n if (existing) return existing.bindings\n\n const next = gatherBindings(normalized.byCommand, commands)\n gathered.set(name, next)\n return next.bindings\n },\n pick(name, commands) {\n const group = gathered.get(name)\n if (!group) return []\n\n const result: Binding<TTarget, TEvent>[] = []\n for (const command of commands) {\n const bindings = group.byCommand.get(command)\n if (!bindings) continue\n for (let index = 0; index < bindings.length; index += 1) {\n result.push(bindings[index]!)\n }\n }\n\n return result\n },\n omit(name, commands) {\n const group = gathered.get(name)\n if (!group) return []\n if (commands.length === 0) return group.bindings\n\n if (commands.length === 1) {\n const omitted = commands[0]\n const result: Binding<TTarget, TEvent>[] = []\n for (let index = 0; index < group.bindings.length; index += 1) {\n const binding = group.bindings[index]!\n if (typeof binding.cmd === \"string\" && binding.cmd === omitted) continue\n result.push(binding)\n }\n\n return result\n }\n\n const omitted = new Set(commands)\n const result: Binding<TTarget, TEvent>[] = []\n for (let index = 0; index < group.bindings.length; index += 1) {\n const binding = group.bindings[index]!\n if (typeof binding.cmd === \"string\" && omitted.has(binding.cmd)) continue\n result.push(binding)\n }\n\n return result\n },\n invalidate(name) {\n if (name === undefined) {\n gathered.clear()\n return\n }\n\n gathered.delete(name)\n },\n update(nextConfig) {\n if (nextConfig) {\n currentConfig = nextConfig\n }\n\n normalized = normalizeBindings(currentConfig, options?.commandMap, options?.bindingDefaults)\n gathered.clear()\n },\n }\n}\n",
6
6
  "import type { Binding, KeyLike, KeymapEvent } from \"../types.js\"\n\nexport type CommandBindingMap = Record<string, KeyLike>\n\nexport interface CommandBindingsOverrideWarning {\n code: \"command-binding-override\"\n command: string\n previousKey: KeyLike\n nextKey: KeyLike\n}\n\nexport interface CommandBindingsError {\n code: \"invalid-command-binding\"\n command: string\n value: unknown\n reason: Error\n}\n\nexport interface CommandBindingsOptions {\n onWarning?: (warning: CommandBindingsOverrideWarning) => void\n onError?: (error: CommandBindingsError) => void\n}\n\nfunction isCommandBindingKey(value: unknown): value is KeyLike {\n return typeof value === \"string\" || (!!value && typeof value === \"object\" && !Array.isArray(value))\n}\n\nexport function commandBindings<TTarget extends object = object, TEvent extends KeymapEvent = KeymapEvent>(\n bindings: Readonly<CommandBindingMap>,\n options?: CommandBindingsOptions,\n): Binding<TTarget, TEvent>[] {\n const normalized: Binding<TTarget, TEvent>[] = []\n const indexesByCommand = new Map<string, number>()\n\n for (const [command, key] of Object.entries(bindings)) {\n if (!isCommandBindingKey(key)) {\n const error = new Error(\n `Invalid command binding for \"${command}\": command bindings must map command strings to key strings or keystroke objects`,\n )\n\n options?.onError?.({\n code: \"invalid-command-binding\",\n command,\n value: key,\n reason: error,\n })\n continue\n }\n\n const normalizedCommand = command.trim()\n\n const nextBinding = {\n key: typeof key === \"string\" ? key : { ...key },\n cmd: normalizedCommand,\n } satisfies Binding<TTarget, TEvent>\n\n const existingIndex = indexesByCommand.get(normalizedCommand)\n if (existingIndex !== undefined) {\n const previousBinding = normalized[existingIndex]!\n options?.onWarning?.({\n code: \"command-binding-override\",\n command: normalizedCommand,\n previousKey: previousBinding.key,\n nextKey: nextBinding.key,\n })\n normalized[existingIndex] = nextBinding\n continue\n }\n\n indexesByCommand.set(normalizedCommand, normalized.length)\n normalized.push(nextBinding)\n }\n\n return normalized\n}\n",
7
7
  "import type { KeySequencePart } from \"../types.js\"\n\nexport type KeyModifierName = \"ctrl\" | \"shift\" | \"meta\" | \"super\" | \"hyper\"\n\nexport interface KeySequenceFormatPart {\n stroke: KeySequencePart[\"stroke\"]\n display: string\n match?: KeySequencePart[\"match\"]\n tokenName?: string\n patternName?: string\n}\n\nexport type TokenDisplayResolver =\n | Readonly<Record<string, string>>\n | ((tokenName: string, part: KeySequenceFormatPart) => string | undefined)\n\nexport type PatternDisplayResolver =\n | Readonly<Record<string, string>>\n | ((patternName: string, part: KeySequenceFormatPart) => string | undefined)\n\nexport interface FormatKeySequenceOptions {\n tokenDisplay?: TokenDisplayResolver\n patternDisplay?: PatternDisplayResolver\n keyNameAliases?: Readonly<Record<string, string>>\n modifierAliases?: Partial<Record<KeyModifierName, string>>\n separator?: string\n}\n\nexport interface FormatCommandBindingsOptions extends FormatKeySequenceOptions {\n bindingSeparator?: string\n dedupe?: boolean\n}\n\nexport interface SequenceBindingLike {\n sequence: readonly KeySequenceFormatPart[]\n}\n\nfunction formatStroke(part: KeySequenceFormatPart, options: FormatKeySequenceOptions): string {\n if (part.tokenName) {\n const tokenDisplay = options.tokenDisplay\n if (!tokenDisplay) return part.display\n if (typeof tokenDisplay === \"function\") return tokenDisplay(part.tokenName, part) ?? part.display\n return tokenDisplay[part.tokenName] ?? part.display\n }\n\n if (part.patternName) {\n const patternDisplay = options.patternDisplay\n if (!patternDisplay) return part.display\n if (typeof patternDisplay === \"function\") return patternDisplay(part.patternName, part) ?? part.display\n return patternDisplay[part.patternName] ?? part.display\n }\n\n if (!options.keyNameAliases && !options.modifierAliases) return part.display\n\n // This is on the command-palette hot path; build directly to avoid per-stroke arrays.\n const stroke = part.stroke\n const modifierAliases = options.modifierAliases\n let formatted = \"\"\n let pieceCount = 0\n\n if (stroke.ctrl) {\n formatted = modifierAliases?.ctrl ?? \"ctrl\"\n pieceCount = 1\n }\n\n if (stroke.shift) {\n const alias = modifierAliases?.shift ?? \"shift\"\n formatted = pieceCount === 0 ? alias : `${formatted}+${alias}`\n pieceCount += 1\n }\n\n if (stroke.meta) {\n const alias = modifierAliases?.meta ?? \"meta\"\n formatted = pieceCount === 0 ? alias : `${formatted}+${alias}`\n pieceCount += 1\n }\n\n if (stroke.super) {\n const alias = modifierAliases?.super ?? \"super\"\n formatted = pieceCount === 0 ? alias : `${formatted}+${alias}`\n pieceCount += 1\n }\n\n if (stroke.hyper) {\n const alias = modifierAliases?.hyper ?? \"hyper\"\n formatted = pieceCount === 0 ? alias : `${formatted}+${alias}`\n pieceCount += 1\n }\n\n const name = stroke.name === \"return\" ? \"enter\" : stroke.name\n const keyName = options.keyNameAliases?.[name] ?? name\n return pieceCount === 0 ? keyName : `${formatted}+${keyName}`\n}\n\nexport function formatKeySequence(\n parts: readonly KeySequenceFormatPart[] | undefined,\n options: FormatKeySequenceOptions = {},\n): string {\n if (!parts || parts.length === 0) return \"\"\n\n // Avoid map/join allocation here; binding-list formatting calls this repeatedly.\n const separator = options.separator ?? \" \"\n let formatted = formatStroke(parts[0]!, options)\n for (let index = 1; index < parts.length; index += 1) {\n formatted += separator + formatStroke(parts[index]!, options)\n }\n\n return formatted\n}\n\nexport function formatCommandBindings(\n bindings: readonly SequenceBindingLike[] | undefined,\n options: FormatCommandBindingsOptions = {},\n): string | undefined {\n if (!bindings?.length) return\n\n const bindingSeparator = options.bindingSeparator ?? \", \"\n const dedupe = options.dedupe !== false\n const seen = dedupe ? new Set<string>() : undefined\n let formatted = \"\"\n let itemCount = 0\n\n // One pass keeps dedupe, filtering, and joining allocation-light for large binding lists.\n for (const binding of bindings) {\n const item = formatKeySequence(binding.sequence, options)\n if (!item) continue\n\n if (seen) {\n if (seen.has(item)) continue\n seen.add(item)\n }\n\n formatted = itemCount === 0 ? item : `${formatted}${bindingSeparator}${item}`\n itemCount += 1\n }\n\n return formatted\n}\n"
8
8
  ],
9
- "mappings": "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",
10
- "debugId": "38CAF24BAE79488864756E2164756E21",
9
+ "mappings": "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",
10
+ "debugId": "EEA8D2CD3E5893FE64756E2164756E21",
11
11
  "names": []
12
12
  }