Skip to content

Commit 8940572

Browse files
chore: generate
1 parent 17d66ee commit 8940572

4 files changed

Lines changed: 37 additions & 36 deletions

File tree

packages/opencode/src/cli/cmd/tui/feature-plugins/system/diff-viewer-file-tree.tsx

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,13 @@ export function DiffViewerFileTree(props: DiffViewerFileTreeProps) {
7474
{`${" ".repeat(row.depth)}${row.kind === "directory" ? (props.expandedNodes && !props.expandedNodes.has(row.id) ? "▸ " : "▾ ") : " "}`}
7575
</text>
7676
<text
77-
fg={highlighted() ? props.theme.background : row.kind === "directory" ? props.theme.textMuted : props.theme.text}
77+
fg={
78+
highlighted()
79+
? props.theme.background
80+
: row.kind === "directory"
81+
? props.theme.textMuted
82+
: props.theme.text
83+
}
7884
bg={highlighted() ? props.theme.primary : undefined}
7985
wrapMode="none"
8086
>

packages/opencode/src/cli/cmd/tui/plugin/internal.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,9 @@ export type InternalTuiPlugin = Omit<TuiPluginModule, "id"> & {
2020
enabled?: boolean
2121
}
2222

23-
export function internalTuiPlugins(flags: Pick<RuntimeFlags.Info, "diffViewer" | "experimentalEventSystem">): InternalTuiPlugin[] {
23+
export function internalTuiPlugins(
24+
flags: Pick<RuntimeFlags.Info, "diffViewer" | "experimentalEventSystem">,
25+
): InternalTuiPlugin[] {
2426
return [
2527
HomeFooter,
2628
HomeTips,

packages/opencode/test/cli/tui/diff-viewer-file-tree-utils.test.ts

Lines changed: 12 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -76,28 +76,22 @@ describe("diff viewer file tree utilities", () => {
7676

7777
test("flattens all-expanded rows depth-first with depths and file references", () => {
7878
const rows = flattenFileTree(
79-
buildFileTree([
80-
{ file: "src/config/tui.ts" },
81-
{ file: "src/config/keybind.ts" },
82-
{ file: "README.md" },
83-
]),
79+
buildFileTree([{ file: "src/config/tui.ts" }, { file: "src/config/keybind.ts" }, { file: "README.md" }]),
8480
)
8581

86-
expect(rows.map((row) => ({ name: row.name, kind: row.kind, depth: row.depth, fileIndex: row.fileIndex }))).toEqual([
87-
{ name: "src", kind: "directory", depth: 0, fileIndex: undefined },
88-
{ name: "config", kind: "directory", depth: 1, fileIndex: undefined },
89-
{ name: "keybind.ts", kind: "file", depth: 2, fileIndex: 1 },
90-
{ name: "tui.ts", kind: "file", depth: 2, fileIndex: 0 },
91-
{ name: "README.md", kind: "file", depth: 0, fileIndex: 2 },
92-
])
82+
expect(rows.map((row) => ({ name: row.name, kind: row.kind, depth: row.depth, fileIndex: row.fileIndex }))).toEqual(
83+
[
84+
{ name: "src", kind: "directory", depth: 0, fileIndex: undefined },
85+
{ name: "config", kind: "directory", depth: 1, fileIndex: undefined },
86+
{ name: "keybind.ts", kind: "file", depth: 2, fileIndex: 1 },
87+
{ name: "tui.ts", kind: "file", depth: 2, fileIndex: 0 },
88+
{ name: "README.md", kind: "file", depth: 0, fileIndex: 2 },
89+
],
90+
)
9391
})
9492

9593
test("flattens only expanded directory descendants when expansion is provided", () => {
96-
const tree = buildFileTree([
97-
{ file: "src/config/tui.ts" },
98-
{ file: "src/session/index.ts" },
99-
{ file: "README.md" },
100-
])
94+
const tree = buildFileTree([{ file: "src/config/tui.ts" }, { file: "src/session/index.ts" }, { file: "README.md" }])
10195
const src = tree.nodes.find((node) => node.kind === "directory" && node.name === "src")!
10296
const config = tree.nodes.find((node) => node.kind === "directory" && node.name === "config")!
10397

@@ -129,11 +123,7 @@ describe("diff viewer file tree utilities", () => {
129123

130124
test("moves file selection relative to the highlighted row", () => {
131125
const rows = flattenFileTree(
132-
buildFileTree([
133-
{ file: "src/config/tui.ts" },
134-
{ file: "src/session/index.ts" },
135-
{ file: "README.md" },
136-
]),
126+
buildFileTree([{ file: "src/config/tui.ts" }, { file: "src/session/index.ts" }, { file: "README.md" }]),
137127
)
138128
const config = rows.find((row) => row.kind === "directory" && row.name === "config")!
139129
const session = rows.find((row) => row.kind === "directory" && row.name === "session")!

packages/opencode/test/cli/tui/diff-viewer-file-tree.test.tsx

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -45,26 +45,22 @@ describe("DiffViewerFileTree", () => {
4545
await app.renderOnce()
4646
const lines = visibleLines(app.captureCharFrame())
4747

48-
expect(lines).toEqual([
49-
"▾ a",
50-
" alpha.ts",
51-
" zeta.ts",
52-
"▾ b",
53-
" alpha.ts",
54-
" file.ts",
55-
" z-file.ts",
56-
])
48+
expect(lines).toEqual(["▾ a", " alpha.ts", " zeta.ts", "▾ b", " alpha.ts", " file.ts", " z-file.ts"])
5749
} finally {
5850
app.renderer.destroy()
5951
}
6052
})
6153

6254
test("keeps loading and error quiet while rendering an empty settled state", async () => {
63-
const loading = await renderFrame(() => <DiffViewerFileTree files={[]} loading={true} error={undefined} theme={theme} />)
55+
const loading = await renderFrame(() => (
56+
<DiffViewerFileTree files={[]} loading={true} error={undefined} theme={theme} />
57+
))
6458
const failed = await renderFrame(() => (
6559
<DiffViewerFileTree files={[]} loading={false} error={new Error("nope")} theme={theme} />
6660
))
67-
const empty = await renderFrame(() => <DiffViewerFileTree files={[]} loading={false} error={undefined} theme={theme} />)
61+
const empty = await renderFrame(() => (
62+
<DiffViewerFileTree files={[]} loading={false} error={undefined} theme={theme} />
63+
))
6864

6965
expect(loading).not.toContain("Loading diff...")
7066
expect(loading).not.toContain("No files")
@@ -79,7 +75,14 @@ describe("DiffViewerFileTree", () => {
7975

8076
const focused = visibleLines(
8177
await renderFrame(() => (
82-
<DiffViewerFileTree files={files} loading={false} error={undefined} theme={theme} focused highlightedNode={src.id} />
78+
<DiffViewerFileTree
79+
files={files}
80+
loading={false}
81+
error={undefined}
82+
theme={theme}
83+
focused
84+
highlightedNode={src.id}
85+
/>
8386
)),
8487
)
8588
const unfocused = visibleLines(

0 commit comments

Comments
 (0)