From 76e08e7dce6f4e41424335fd563639ecc8a4845e Mon Sep 17 00:00:00 2001 From: Ktrod Date: Mon, 28 Apr 2025 09:29:49 -0400 Subject: [PATCH] fix: sync viewport on half page up/down to prevent duplicate strings in render (#756) --- ui/pager.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/ui/pager.go b/ui/pager.go index ff067f7..c40c941 100644 --- a/ui/pager.go +++ b/ui/pager.go @@ -203,6 +203,18 @@ func (m pagerModel) update(msg tea.Msg) (pagerModel, tea.Cmd) { cmds = append(cmds, viewport.Sync(m.viewport)) } + case "d": + m.viewport.HalfViewDown() + if m.viewport.HighPerformanceRendering { + cmds = append(cmds, viewport.Sync(m.viewport)) + } + + case "u": + m.viewport.HalfViewUp() + if m.viewport.HighPerformanceRendering { + cmds = append(cmds, viewport.Sync(m.viewport)) + } + case "e": lineno := int(math.RoundToEven(float64(m.viewport.TotalLineCount()) * m.viewport.ScrollPercent())) if m.viewport.AtTop() {