diff --git a/packages/opencode/src/cli/cmd/tui/keymap.tsx b/packages/opencode/src/cli/cmd/tui/keymap.tsx index 289bb901d6d1..7e1a4b069a94 100644 --- a/packages/opencode/src/cli/cmd/tui/keymap.tsx +++ b/packages/opencode/src/cli/cmd/tui/keymap.tsx @@ -110,6 +110,7 @@ function formatOptions(config: TuiConfig.Resolved) { } export function formatKeySequence(parts: Parameters[0], config: TuiConfig.Resolved) { + if (!parts?.length) return "" return formatKeySequenceExtra(parts, formatOptions(config)) } diff --git a/packages/opencode/test/cli/tui/keymap.test.ts b/packages/opencode/test/cli/tui/keymap.test.ts new file mode 100644 index 000000000000..d056284dbb1c --- /dev/null +++ b/packages/opencode/test/cli/tui/keymap.test.ts @@ -0,0 +1,14 @@ +import { expect, test } from "bun:test" +import { formatKeySequence } from "@/cli/cmd/tui/keymap" +import type { TuiConfig } from "@/cli/cmd/tui/config/tui" + +const config = { + keybinds: { + get: () => [], + }, +} as unknown as TuiConfig.Resolved + +test("formatKeySequence tolerates missing command bindings", () => { + expect(formatKeySequence(undefined, config)).toBe("") + expect(formatKeySequence([], config)).toBe("") +})