From 975ecb58fdc087b20d0b1b6dd902e79d340766e7 Mon Sep 17 00:00:00 2001 From: Aiden Cline Date: Tue, 28 Apr 2026 19:30:16 -0500 Subject: [PATCH 1/2] feat: make it easier to toggle on/off paste summary in the tui --- packages/opencode/src/cli/cmd/tui/app.tsx | 16 ++++++++++++++++ .../src/cli/cmd/tui/component/prompt/index.tsx | 2 +- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/packages/opencode/src/cli/cmd/tui/app.tsx b/packages/opencode/src/cli/cmd/tui/app.tsx index 833c8dc8c332..eebc511d1e26 100644 --- a/packages/opencode/src/cli/cmd/tui/app.tsx +++ b/packages/opencode/src/cli/cmd/tui/app.tsx @@ -301,6 +301,9 @@ function App(props: { onSnapshot?: () => Promise }) { renderer.clearSelection() } const [terminalTitleEnabled, setTerminalTitleEnabled] = createSignal(kv.get("terminal_title_enabled", true)) + const [pasteSummaryEnabled, setPasteSummaryEnabled] = createSignal( + kv.get("paste_summary_enabled") ?? !sync.data.config.experimental?.disable_paste_summary, + ) // Update terminal window title based on current route and session createEffect(() => { @@ -736,6 +739,19 @@ function App(props: { onSnapshot?: () => Promise }) { dialog.clear() }, }, + { + title: pasteSummaryEnabled() ? "Disable paste summary" : "Enable paste summary", + value: "app.toggle.paste_summary", + category: "System", + onSelect: (dialog) => { + setPasteSummaryEnabled((prev) => { + const next = !prev + kv.set("paste_summary_enabled", next) + return next + }) + dialog.clear() + }, + }, { title: kv.get("diff_wrap_mode", "word") === "word" ? "Disable diff wrapping" : "Enable diff wrapping", value: "app.toggle.diffwrap", diff --git a/packages/opencode/src/cli/cmd/tui/component/prompt/index.tsx b/packages/opencode/src/cli/cmd/tui/component/prompt/index.tsx index 7fead6fdbc98..5fc2c4f70f4c 100644 --- a/packages/opencode/src/cli/cmd/tui/component/prompt/index.tsx +++ b/packages/opencode/src/cli/cmd/tui/component/prompt/index.tsx @@ -1209,7 +1209,7 @@ export function Prompt(props: PromptProps) { const lineCount = (pastedContent.match(/\n/g)?.length ?? 0) + 1 if ( (lineCount >= 3 || pastedContent.length > 150) && - !sync.data.config.experimental?.disable_paste_summary + kv.get("paste_summary_enabled", true) ) { pasteText(pastedContent, `[Pasted ~${lineCount} lines]`) return From 6d43e5e18a3a21beac04493a50ce7aebc5da1293 Mon Sep 17 00:00:00 2001 From: Aiden Cline Date: Tue, 28 Apr 2026 23:15:06 -0500 Subject: [PATCH 2/2] tweak --- packages/opencode/src/cli/cmd/tui/app.tsx | 2 +- packages/opencode/src/cli/cmd/tui/component/prompt/index.tsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/opencode/src/cli/cmd/tui/app.tsx b/packages/opencode/src/cli/cmd/tui/app.tsx index 29e802f84db2..a26b8cfdfe88 100644 --- a/packages/opencode/src/cli/cmd/tui/app.tsx +++ b/packages/opencode/src/cli/cmd/tui/app.tsx @@ -302,7 +302,7 @@ function App(props: { onSnapshot?: () => Promise }) { } const [terminalTitleEnabled, setTerminalTitleEnabled] = createSignal(kv.get("terminal_title_enabled", true)) const [pasteSummaryEnabled, setPasteSummaryEnabled] = createSignal( - kv.get("paste_summary_enabled") ?? !sync.data.config.experimental?.disable_paste_summary, + kv.get("paste_summary_enabled", !sync.data.config.experimental?.disable_paste_summary), ) // Update terminal window title based on current route and session diff --git a/packages/opencode/src/cli/cmd/tui/component/prompt/index.tsx b/packages/opencode/src/cli/cmd/tui/component/prompt/index.tsx index 5fc2c4f70f4c..641edd30a303 100644 --- a/packages/opencode/src/cli/cmd/tui/component/prompt/index.tsx +++ b/packages/opencode/src/cli/cmd/tui/component/prompt/index.tsx @@ -1209,7 +1209,7 @@ export function Prompt(props: PromptProps) { const lineCount = (pastedContent.match(/\n/g)?.length ?? 0) + 1 if ( (lineCount >= 3 || pastedContent.length > 150) && - kv.get("paste_summary_enabled", true) + kv.get("paste_summary_enabled", !sync.data.config.experimental?.disable_paste_summary) ) { pasteText(pastedContent, `[Pasted ~${lineCount} lines]`) return