From cc9c0b15c79491ccd9f18a12cb609bb42cec5ac7 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Sat, 16 May 2026 04:44:32 +0200 Subject: [PATCH] Revert "add dialog prompt submit keybind (#27807)" (#27815) --- .../src/cli/cmd/tui/config/keybind.ts | 1 - .../src/cli/cmd/tui/ui/dialog-prompt.tsx | 41 +---- .../test/cli/tui/dialog-prompt.test.tsx | 146 ------------------ packages/opencode/test/config/tui.test.ts | 2 - packages/web/src/content/docs/keybinds.mdx | 1 - 5 files changed, 8 insertions(+), 183 deletions(-) delete mode 100644 packages/opencode/test/cli/tui/dialog-prompt.test.tsx diff --git a/packages/opencode/src/cli/cmd/tui/config/keybind.ts b/packages/opencode/src/cli/cmd/tui/config/keybind.ts index a375573828..bd26cd5d95 100644 --- a/packages/opencode/src/cli/cmd/tui/config/keybind.ts +++ b/packages/opencode/src/cli/cmd/tui/config/keybind.ts @@ -188,7 +188,6 @@ export const Definitions = { "dialog.select.home": keybind("home", "Move to first dialog item"), "dialog.select.end": keybind("end", "Move to last dialog item"), "dialog.select.submit": keybind("return", "Submit selected dialog item"), - "dialog.prompt.submit": keybind("return", "Submit dialog prompt"), "dialog.mcp.toggle": keybind("space", "Toggle MCP in MCP dialog"), "prompt.autocomplete.prev": keybind("up,ctrl+p", "Move to previous autocomplete item"), "prompt.autocomplete.next": keybind("down,ctrl+n", "Move to next autocomplete item"), diff --git a/packages/opencode/src/cli/cmd/tui/ui/dialog-prompt.tsx b/packages/opencode/src/cli/cmd/tui/ui/dialog-prompt.tsx index dfd8091852..34ab9161f6 100644 --- a/packages/opencode/src/cli/cmd/tui/ui/dialog-prompt.tsx +++ b/packages/opencode/src/cli/cmd/tui/ui/dialog-prompt.tsx @@ -1,10 +1,8 @@ import { TextareaRenderable, TextAttributes } from "@opentui/core" import { useTheme } from "../context/theme" import { useDialog, type DialogContext } from "./dialog" -import { Show, createEffect, createSignal, onMount, type JSX } from "solid-js" +import { Show, createEffect, onMount, type JSX } from "solid-js" import { Spinner } from "../component/spinner" -import { useTuiConfig } from "../context/tui-config" -import { useBindings, useCommandShortcut } from "../keymap" export type DialogPromptProps = { title: string @@ -20,32 +18,8 @@ export type DialogPromptProps = { export function DialogPrompt(props: DialogPromptProps) { const dialog = useDialog() const { theme } = useTheme() - const tuiConfig = useTuiConfig() - const submitShortcut = useCommandShortcut("dialog.prompt.submit") - const [textareaTarget, setTextareaTarget] = createSignal() let textarea: TextareaRenderable - function confirm() { - if (props.busy) return - props.onConfirm?.(textarea.plainText) - } - - useBindings(() => ({ - target: textareaTarget, - enabled: textareaTarget() !== undefined && !props.busy, - // Dialog form semantics must win over the global managed textarea input layer. - priority: 1, - commands: [ - { - name: "dialog.prompt.submit", - title: "Submit dialog prompt", - category: "Dialog", - run: confirm, - }, - ], - bindings: tuiConfig.keybinds.gather("dialog.prompt", ["dialog.prompt.submit"]), - })) - onMount(() => { dialog.setSize("medium") setTimeout(() => { @@ -85,10 +59,13 @@ export function DialogPrompt(props: DialogPromptProps) { {props.description}