diff options
| author | blasty <blasty@local> | 2026-07-25 10:47:41 +0200 |
|---|---|---|
| committer | blasty <blasty@local> | 2026-07-25 10:47:41 +0200 |
| commit | 82f8d3d800d47c444b8b2f5a08918ede38954e46 (patch) | |
| tree | d0a1d055fcb390ed23d010d4d2288382511ab958 /docs/PROJECTS.md | |
| parent | docs: README covers the split view, strings browser and command palette (diff) | |
| download | ida-tui-82f8d3d800d47c444b8b2f5a08918ede38954e46.tar.gz ida-tui-82f8d3d800d47c444b8b2f5a08918ede38954e46.tar.xz ida-tui-82f8d3d800d47c444b8b2f5a08918ede38954e46.zip | |
split: keep the companion pane level with the driver's cursor
Scrolling either pane left the other one wherever it happened to be: the
companion only scrolled when the linked row went off-screen (reveal()), so the
link could sit at the bottom edge while the driver's cursor was mid-viewport —
visually incoherent, your eye had to hunt for it.
Add ListingView/DecompView.align(row, screen_row): scroll so the linked row lands
at the SAME viewport offset as the driver's cursor, and use it in _sync_split for
both directions. The two panes now track each other line-for-line, so the eye
reads straight across. Best-effort at the ends (can't scroll above line 0, nor
past the end when the pseudocode is shorter than the viewport).
Pilot split_view: deterministic alignment check — park the listing cursor at a
known viewport offset deep in the function, sync, and assert the decomp's scroll
top is exactly the aligned value (accounting for both clamps). 19/19; full suite
166/2-flake.
Diffstat (limited to 'docs/PROJECTS.md')
0 files changed, 0 insertions, 0 deletions
