Skip to content

Commit 46ad456

Browse files
committed
wip: desktop work
1 parent 832ffd2 commit 46ad456

File tree

4 files changed

+25
-9
lines changed

4 files changed

+25
-9
lines changed

bun.lock

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -344,7 +344,7 @@
344344
"@hono/zod-validator": "0.4.2",
345345
"@kobalte/core": "0.13.11",
346346
"@openauthjs/openauth": "0.0.0-20250322224806",
347-
"@pierre/precision-diffs": "0.3.5",
347+
"@pierre/precision-diffs": "0.3.6",
348348
"@solidjs/meta": "0.29.4",
349349
"@tailwindcss/vite": "4.1.11",
350350
"@tsconfig/bun": "1.0.9",
@@ -938,7 +938,7 @@
938938

939939
"@petamoriken/float16": ["@petamoriken/[email protected]", "", {}, "sha512-VgffxawQde93xKxT3qap3OH+meZf7VaSB5Sqd4Rqc+FP5alWbpOyan/7tRbOAvynjpG3GpdtAuGU/NdhQpmrog=="],
940940

941-
"@pierre/precision-diffs": ["@pierre/[email protected].5", "", { "dependencies": { "@shikijs/core": "3.13.0", "@shikijs/transformers": "3.13.0", "diff": "8.0.2", "fast-deep-equal": "3.1.3", "hast-util-to-html": "9.0.5", "shiki": "3.13.0" }, "peerDependencies": { "react": "^18.3.1 || ^19.0.0", "react-dom": "^18.3.1 || ^19.0.0" } }, "sha512-qbotIS8CahO/7guljDzU3RVpDfg6WViWe0EB0/SZQi3xHD+nzxxlC+pGoyIFSn+47GG0EKxTnvkfaYANm19FCA=="],
941+
"@pierre/precision-diffs": ["@pierre/[email protected].6", "", { "dependencies": { "@shikijs/core": "3.13.0", "@shikijs/transformers": "3.13.0", "diff": "8.0.2", "fast-deep-equal": "3.1.3", "hast-util-to-html": "9.0.5", "shiki": "3.13.0" }, "peerDependencies": { "react": "^18.3.1 || ^19.0.0", "react-dom": "^18.3.1 || ^19.0.0" } }, "sha512-cKM3HcMmyr5wPFll0bHYcgHplcHgMlL6Dw4Pi4giL0jVt7ySlGwwVyXTRFW5Fva43stOL+EWB+9U5VBDSktBJA=="],
942942

943943
"@pkgjs/parseargs": ["@pkgjs/[email protected]", "", {}, "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg=="],
944944

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
"@tsconfig/bun": "1.0.9",
2626
"@cloudflare/workers-types": "4.20251008.0",
2727
"@openauthjs/openauth": "0.0.0-20250322224806",
28-
"@pierre/precision-diffs": "0.3.5",
28+
"@pierre/precision-diffs": "0.3.6",
2929
"@solidjs/meta": "0.29.4",
3030
"@tailwindcss/vite": "4.1.11",
3131
"diff": "8.0.2",
@@ -63,7 +63,7 @@
6363
"license": "MIT",
6464
"prettier": {
6565
"semi": false,
66-
"printWidth": 120
66+
"printWidth": 100
6767
},
6868
"trustedDependencies": [
6969
"esbuild",

packages/desktop/src/components/assistant-message.tsx

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import type { Part, AssistantMessage, ReasoningPart, TextPart, ToolPart } from "
22
import { children, Component, createMemo, For, Match, Show, Switch, type JSX } from "solid-js"
33
import { Dynamic } from "solid-js/web"
44
import { Markdown } from "./markdown"
5-
import { Checkbox, Collapsible, Icon, IconProps } from "@opencode-ai/ui"
5+
import { Checkbox, Collapsible, Diff, Icon, IconProps } from "@opencode-ai/ui"
66
import { getDirectory, getFilename } from "@/utils"
77
import type { Tool } from "opencode/tool/tool"
88
import type { ReadTool } from "opencode/tool/read"
@@ -357,12 +357,21 @@ ToolRegistry.register<typeof EditTool>({
357357
<span class="text-text-strong">{getFilename(props.input.filePath ?? "")}</span>
358358
</div>
359359
</div>
360-
<div class="flex gap-4 items-center justify-end">{/* <DiffChanges diff={diff} /> */}</div>
360+
<div class="flex gap-4 items-center justify-end">
361+
<Show when={props.metadata.filediff}>
362+
<DiffChanges diff={props.metadata.filediff} />
363+
</Show>
364+
</div>
361365
</div>
362366
}
363367
>
364-
<Show when={false && props.output}>
365-
<div class="whitespace-pre">{props.output}</div>
368+
<Show when={props.metadata.filediff}>
369+
<div class="border-t border-border-weaker-base">
370+
<Diff
371+
before={{ name: getFilename(props.metadata.filediff.path), contents: props.metadata.filediff.before }}
372+
after={{ name: getFilename(props.metadata.filediff.path), contents: props.metadata.filediff.after }}
373+
/>
374+
</div>
366375
</Show>
367376
</BasicTool>
368377
)

packages/ui/src/components/diff.tsx

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,13 @@ export type DiffProps<T = {}> = Omit<DiffFileRendererOptions<T>, "themes"> & {
2424

2525
export function Diff<T>(props: DiffProps<T>) {
2626
let container!: HTMLDivElement
27-
const [local, others] = splitProps(props, ["before", "after", "class", "classList", "annotations"])
27+
const [local, others] = splitProps(props, [
28+
"before",
29+
"after",
30+
"class",
31+
"classList",
32+
"annotations",
33+
])
2834

2935
// const lineAnnotations: DiffLineAnnotation<ThreadMetadata>[] = [
3036
// {
@@ -165,6 +171,7 @@ export function Diff<T>(props: DiffProps<T>) {
165171
"--pjs-tab-size": 4,
166172
"--pjs-font-features": "var(--font-family-mono--font-feature-settings)",
167173
"--pjs-header-font-family": "var(--font-family-sans)",
174+
"--pjs-gap-block": 0,
168175
}}
169176
ref={container}
170177
/>

0 commit comments

Comments
 (0)