From a5a55ff906afdfe117d543535694e83088923463 Mon Sep 17 00:00:00 2001 From: mehmet turac Date: Sun, 17 May 2026 13:46:00 +0300 Subject: [PATCH] fix(tui): ignore empty key sequences --- packages/opencode/src/cli/cmd/tui/keymap.tsx | 1 + packages/opencode/test/cli/tui/keymap.test.ts | 14 ++++++++++++++ 2 files changed, 15 insertions(+) create mode 100644 packages/opencode/test/cli/tui/keymap.test.ts diff --git a/packages/opencode/src/cli/cmd/tui/keymap.tsx b/packages/opencode/src/cli/cmd/tui/keymap.tsx index 289bb901d6d..7e1a4b069a9 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 00000000000..d056284dbb1 --- /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("") +})