From 59814286af3fa7c89ffd4bd1c7b39b150f2f02eb Mon Sep 17 00:00:00 2001 From: Dax Raad Date: Sun, 3 May 2026 15:08:18 -0400 Subject: [PATCH] fix(tui): collapse v2 inline tool spacing --- .../tui/feature-plugins/system/session-v2.tsx | 24 +++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/packages/opencode/src/cli/cmd/tui/feature-plugins/system/session-v2.tsx b/packages/opencode/src/cli/cmd/tui/feature-plugins/system/session-v2.tsx index 7270a9c3b7..ae8c96a4c0 100644 --- a/packages/opencode/src/cli/cmd/tui/feature-plugins/system/session-v2.tsx +++ b/packages/opencode/src/cli/cmd/tui/feature-plugins/system/session-v2.tsx @@ -5,7 +5,7 @@ import { Spinner } from "@tui/component/spinner" import { useTheme } from "@tui/context/theme" import { useLocal } from "@tui/context/local" import { useKeyboard, useRenderer, useTerminalDimensions, type JSX } from "@opentui/solid" -import type { SyntaxStyle } from "@opentui/core" +import type { BoxRenderable, SyntaxStyle } from "@opentui/core" import { Locale } from "@/util/locale" import { LANGUAGE_EXTENSIONS } from "@/lsp/language" import path from "path" @@ -521,6 +521,7 @@ function InlineTool(props: { part: SessionMessageAssistantTool }) { const { theme } = useTheme() + const [margin, setMargin] = createSignal(0) const error = createMemo(() => (props.part.state.status === "error" ? props.part.state.error.message : undefined)) const denied = createMemo(() => { const message = error() @@ -532,7 +533,26 @@ function InlineTool(props: { ) }) return ( - + 1) { + setMargin(1) + return + } + const previous = parent.getChildren()[parent.getChildren().indexOf(el) - 1] + if (!previous) { + setMargin(0) + return + } + if (previous.height > 1 || previous.id.startsWith("text-")) setMargin(1) + }} + > {props.children}