From 0e2e8dcd5f7f76d6f078010b143f11b808aab1ac Mon Sep 17 00:00:00 2001 From: Dax Raad Date: Fri, 31 Oct 2025 02:27:14 -0400 Subject: [PATCH] tui: fix help dialog trigger to use command system instead of direct dialog --- packages/opencode/src/cli/cmd/tui/app.tsx | 9 +++++++++ .../src/cli/cmd/tui/component/prompt/autocomplete.tsx | 5 +---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/packages/opencode/src/cli/cmd/tui/app.tsx b/packages/opencode/src/cli/cmd/tui/app.tsx index a1164c0af..584f987cf 100644 --- a/packages/opencode/src/cli/cmd/tui/app.tsx +++ b/packages/opencode/src/cli/cmd/tui/app.tsx @@ -12,6 +12,7 @@ import { LocalProvider, useLocal } from "@tui/context/local" import { DialogModel } from "@tui/component/dialog-model" import { DialogStatus } from "@tui/component/dialog-status" import { DialogThemeList } from "@tui/component/dialog-theme-list" +import { DialogHelp } from "./ui/dialog-help" import { CommandProvider, useCommandDialog } from "@tui/component/dialog-command" import { DialogAgent } from "@tui/component/dialog-agent" import { DialogSessionList } from "@tui/component/dialog-session-list" @@ -207,6 +208,14 @@ function App() { }, category: "System", }, + { + title: "Help", + value: "help.show", + onSelect: () => { + dialog.replace(() => ) + }, + category: "System", + }, ]) createEffect(() => { diff --git a/packages/opencode/src/cli/cmd/tui/component/prompt/autocomplete.tsx b/packages/opencode/src/cli/cmd/tui/component/prompt/autocomplete.tsx index e78426df9..0ab1cdb13 100644 --- a/packages/opencode/src/cli/cmd/tui/component/prompt/autocomplete.tsx +++ b/packages/opencode/src/cli/cmd/tui/component/prompt/autocomplete.tsx @@ -8,8 +8,6 @@ import { useSync } from "@tui/context/sync" import { useTheme } from "@tui/context/theme" import { SplitBorder } from "@tui/component/border" import { useCommandDialog } from "@tui/component/dialog-command" -import { useDialog } from "@tui/ui/dialog" -import { DialogHelp } from "@tui/ui/dialog-help" import type { PromptInfo } from "./history" export type AutocompleteRef = { @@ -40,7 +38,6 @@ export function Autocomplete(props: { const sdk = useSDK() const sync = useSync() const command = useCommandDialog() - const dialog = useDialog() const { theme } = useTheme() const [store, setStore] = createStore({ @@ -251,7 +248,7 @@ export function Autocomplete(props: { { display: "/help", description: "show help", - onSelect: () => dialog.replace(() => ), + onSelect: () => command.trigger("help.show"), }, ) const max = firstBy(results, [(x) => x.display.length, "desc"])?.display.length