From c2db18c59bc592d232961c4c3f69124602ce6ccc Mon Sep 17 00:00:00 2001 From: "opencode-agent[bot]" <219766164+opencode-agent[bot]@users.noreply.github.com> Date: Fri, 31 Jul 2026 20:31:50 -0400 Subject: [PATCH] refactor(tui): remove unwired file selection helper (#39961) Co-authored-by: Kit Langton --- .../system/diff-viewer-file-tree-utils.ts | 16 --------------- .../diff-viewer-file-tree-utils.test.ts | 20 ------------------- 2 files changed, 36 deletions(-) diff --git a/packages/tui/src/feature-plugins/system/diff-viewer-file-tree-utils.ts b/packages/tui/src/feature-plugins/system/diff-viewer-file-tree-utils.ts index a41c0984618..34ded01ba33 100644 --- a/packages/tui/src/feature-plugins/system/diff-viewer-file-tree-utils.ts +++ b/packages/tui/src/feature-plugins/system/diff-viewer-file-tree-utils.ts @@ -141,22 +141,6 @@ export function moveFileTreeSelectionToParent(rows: readonly FileTreeRow[], sele return rows.findLast((item, itemIndex) => itemIndex < index && item.depth < row.depth)?.id ?? selected } -export function moveFileTreeSelectionToFile( - rows: readonly FileTreeRow[], - selected: number | undefined, - offset: number, -) { - const fileRows = rows.filter((row) => row.fileIndex !== undefined) - if (fileRows.length === 0) return undefined - const selectedIndex = selected === undefined ? -1 : rows.findIndex((row) => row.id === selected) - if (selectedIndex === -1) return offset < 0 ? fileRows[fileRows.length - 1]!.id : fileRows[0]!.id - const next = - offset < 0 - ? fileRows.findLast((row) => rows.findIndex((item) => item.id === row.id) < selectedIndex) - : fileRows.find((row) => rows.findIndex((item) => item.id === row.id) > selectedIndex) - return next?.id ?? (offset < 0 ? fileRows[0]!.id : fileRows[fileRows.length - 1]!.id) -} - export function fileTreeFileSelection(tree: FileTree, fileIndex: number) { const node = tree.nodes.find((item) => item.kind === "file" && item.fileIndex === fileIndex) if (!node) return undefined diff --git a/packages/tui/test/feature-plugins/diff-viewer-file-tree-utils.test.ts b/packages/tui/test/feature-plugins/diff-viewer-file-tree-utils.test.ts index 16090774909..e53e35709d7 100644 --- a/packages/tui/test/feature-plugins/diff-viewer-file-tree-utils.test.ts +++ b/packages/tui/test/feature-plugins/diff-viewer-file-tree-utils.test.ts @@ -6,7 +6,6 @@ import { flattenFileTree, moveFileTreeSelection, moveFileTreeSelectionToFirstChild, - moveFileTreeSelectionToFile, moveFileTreeSelectionToParent, movePatchFileIndex, orderedPatchFileIndexes, @@ -219,25 +218,6 @@ describe("diff viewer file tree utilities", () => { expect(moveFileTreeSelectionToParent(rows, undefined)).toBeUndefined() }) - test("moves file selection relative to the highlighted row", () => { - const rows = flattenFileTree( - buildFileTree([{ file: "src/config/tui.ts" }, { file: "src/session/index.ts" }, { file: "README.md" }]), - ) - const config = rows.find((row) => row.kind === "directory" && row.name === "config")! - const session = rows.find((row) => row.kind === "directory" && row.name === "session")! - const tui = rows.find((row) => row.name === "tui.ts")! - const index = rows.find((row) => row.name === "index.ts")! - const readme = rows.find((row) => row.name === "README.md")! - - expect(moveFileTreeSelectionToFile(rows, undefined, 1)).toBe(tui.id) - expect(moveFileTreeSelectionToFile(rows, undefined, -1)).toBe(readme.id) - expect(moveFileTreeSelectionToFile(rows, config.id, 1)).toBe(tui.id) - expect(moveFileTreeSelectionToFile(rows, session.id, -1)).toBe(tui.id) - expect(moveFileTreeSelectionToFile(rows, tui.id, 1)).toBe(index.id) - expect(moveFileTreeSelectionToFile(rows, index.id, -1)).toBe(tui.id) - expect(moveFileTreeSelectionToFile(rows, readme.id, 1)).toBe(readme.id) - }) - test("selects a file tree node and expands its parents for a patch file", () => { const tree = buildFileTree([{ file: "src/config/tui.ts" }, { file: "src/session/index.ts" }, { file: "README.md" }]) const selection = fileTreeFileSelection(tree, 1)