Skip to content

Commit 0ba1081

Browse files
authored
fix(tui): accelerate diff viewer scrolling (#29453)
1 parent 0448a30 commit 0ba1081

1 file changed

Lines changed: 3 additions & 0 deletions

File tree

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import { createEffect, createMemo, createResource, createSignal, For, Match, onC
1111
import { DiffViewerFileTree } from "./diff-viewer-file-tree"
1212
import { Panel, PanelGroup, Separator } from "./diff-viewer-ui"
1313
import { DialogSelect } from "@tui/ui/dialog-select"
14+
import { getScrollAcceleration } from "@tui/util/scroll"
1415
import {
1516
allExpandedFileTreeDirectories,
1617
buildFileTree,
@@ -133,6 +134,7 @@ function DiffViewer(props: { api: TuiPluginApi }) {
133134
const [activePatchFileIndex, setActivePatchFileIndex] = createSignal<number | undefined>()
134135
const [selectedFileIndex, setSelectedFileIndex] = createSignal<number | undefined>()
135136
const [reviewedFileNames, setReviewedFileNames] = createSignal<ReadonlySet<string>>(new Set())
137+
const patchScrollAcceleration = createMemo(() => getScrollAcceleration(props.api.tuiConfig))
136138
const fileRows = createMemo(() => flattenFileTree(fileTree(), expandedFileNodes()))
137139
const patchFileIndexes = createMemo(() => orderedPatchFileIndexes(flattenFileTree(fileTree())))
138140
const focusRunner = (input: Record<DiffViewerFocus, () => void>) => () => input[focus()]()
@@ -713,6 +715,7 @@ function DiffViewer(props: { api: TuiPluginApi }) {
713715
ref={(element: ScrollBoxRenderable) => (scroll = element)}
714716
flexGrow={1}
715717
minHeight={0}
718+
scrollAcceleration={patchScrollAcceleration()}
716719
verticalScrollbarOptions={{ visible: false }}
717720
horizontalScrollbarOptions={{ visible: false }}
718721
>

0 commit comments

Comments
 (0)