diff --git a/packages/tui/src/routes/session/index.tsx b/packages/tui/src/routes/session/index.tsx index b796a52523..602534ffc5 100644 --- a/packages/tui/src/routes/session/index.tsx +++ b/packages/tui/src/routes/session/index.tsx @@ -61,6 +61,7 @@ import parsers from "../../parsers-config" import { errorMessage } from "../../util/error" import { useToast } from "../../ui/toast" import stripAnsi from "strip-ansi" +import { createTwoFilesPatch } from "diff" import { usePromptRef } from "../../context/prompt" import { projectedPromptInput } from "../../prompt/codec" import { useEpilogue } from "../../context/epilogue" @@ -2647,12 +2648,18 @@ function Shell(props: ToolProps) { } function Write(props: ToolProps) { + const ctx = use() const { themeV2, syntax } = useTheme() const pathFormatter = usePathFormatter() const code = createMemo(() => { return stringValue(props.input.content) ?? "" }) const complete = createMemo(() => props.part.state.status === "completed") + const view = createMemo(() => { + if (ctx.config.diffs?.view === "unified") return "unified" + if (ctx.config.diffs?.view === "split") return "split" + return ctx.width > 120 ? "split" : "unified" + }) return ( @@ -2665,15 +2672,27 @@ function Write(props: ToolProps) { part={props.part} > - - + - +