From 48d1a6e5b978789686ffd839af1ebfa66d167404 Mon Sep 17 00:00:00 2001 From: "opencode-agent[bot]" <219766164+opencode-agent[bot]@users.noreply.github.com> Date: Fri, 7 Aug 2026 11:12:51 -0400 Subject: [PATCH] fix(tui): mute expanded thinking content (#41082) Co-authored-by: James Long Co-authored-by: opencode-agent[bot] --- .../thinking-muted-markdown.png | Bin 0 -> 63083 bytes packages/tui/src/routes/session/index.tsx | 9 ++++++--- .../tui/src/routes/session/thinking-syntax.ts | 9 +++++++++ 3 files changed, 15 insertions(+), 3 deletions(-) create mode 100644 artifacts/tui-thinking-disclosure/thinking-muted-markdown.png create mode 100644 packages/tui/src/routes/session/thinking-syntax.ts diff --git a/artifacts/tui-thinking-disclosure/thinking-muted-markdown.png b/artifacts/tui-thinking-disclosure/thinking-muted-markdown.png new file mode 100644 index 0000000000000000000000000000000000000000..b56331f4ab2cd86fe2ea71e4505fd43621e3a413 GIT binary patch literal 63083 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 xSh? generateThinkingSyntax(syntax(), theme.text.subdued)) const renderer = useRenderer() const [expanded, setExpanded] = createSignal(false) const [hover, setHover] = createSignal(false) @@ -1527,7 +1529,7 @@ function SessionReasoningGroupView(props: { filetype="markdown" drawUnstyledText={false} streaming={part()?.time?.completed === undefined && message()?.time.completed === undefined} - syntaxStyle={syntax()} + syntaxStyle={thinkingSyntax()} content={content()} conceal={ctx.markdownMode() === "rendered"} fg={theme.text.subdued} @@ -2060,6 +2062,7 @@ function ReasoningPart(props: { }) { const theme = useTheme() const { currentSyntax: syntax } = useThemes() + const thinkingSyntax = createSyntaxStyleMemo(() => generateThinkingSyntax(syntax(), theme.text.subdued)) const ctx = use() // Collapsed by default in hide mode: a single line throughout, so the // layout never shifts. Click to open the full markdown block, click to close. @@ -2112,7 +2115,7 @@ function ReasoningPart(props: { filetype="markdown" drawUnstyledText={false} streaming={true} - syntaxStyle={syntax()} + syntaxStyle={thinkingSyntax()} content={content()} conceal={ctx.markdownMode() === "rendered"} fg={theme.text.subdued} diff --git a/packages/tui/src/routes/session/thinking-syntax.ts b/packages/tui/src/routes/session/thinking-syntax.ts new file mode 100644 index 0000000000..b6835de694 --- /dev/null +++ b/packages/tui/src/routes/session/thinking-syntax.ts @@ -0,0 +1,9 @@ +import { SyntaxStyle, type RGBA } from "@opentui/core" + +export function generateThinkingSyntax(syntax: SyntaxStyle, foreground: RGBA) { + return SyntaxStyle.fromStyles( + Object.fromEntries( + syntax.getRegisteredNames().map((name) => [name, { ...syntax.getStyle(name), fg: foreground }]), + ), + ) +}