diff --git a/packages/opencode/src/cli/cmd/tui/component/dialog-status.tsx b/packages/opencode/src/cli/cmd/tui/component/dialog-status.tsx index 3b6b5ef2182..01fbb60bf34 100644 --- a/packages/opencode/src/cli/cmd/tui/component/dialog-status.tsx +++ b/packages/opencode/src/cli/cmd/tui/component/dialog-status.tsx @@ -1,4 +1,5 @@ import { TextAttributes } from "@opentui/core" +import { useKeyboard } from "@opentui/solid" import { fileURLToPath } from "bun" import { useTheme } from "../context/theme" import { useDialog } from "@tui/ui/dialog" @@ -12,6 +13,14 @@ export function DialogStatus() { const { theme } = useTheme() const dialog = useDialog() + // Handle escape key to close dialog + useKeyboard((evt) => { + if (evt.name === "escape") { + dialog.clear() + evt.preventDefault() + } + }) + const enabledFormatters = createMemo(() => sync.data.formatter.filter((f) => f.enabled)) const plugins = createMemo(() => {