summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJunegunn Choi <junegunn.c@gmail.com>2023-01-04 22:00:00 +0900
committerJunegunn Choi <junegunn.c@gmail.com>2023-01-04 22:00:00 +0900
commit03d02d67f7ae16b19d9933648d5cbd49915c76e0 (patch)
tree5d0b3bfcb5bac0c9e4f5c2416f504328821d364d
parent5798145581c6b2de18f14c9e1a2e11ec3251c434 (diff)
Fix cyclic scrolling with non-zero preview header lines
e.g. fzf --preview-window 'cycle,~2' --preview 'echo foo; echo bar; seq 100'
-rw-r--r--src/terminal.go6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/terminal.go b/src/terminal.go
index 48f9f1d5..f4435a61 100644
--- a/src/terminal.go
+++ b/src/terminal.go
@@ -2652,10 +2652,12 @@ func (t *Terminal) Loop() {
}
t.previewer.following = false
numLines := len(t.previewer.lines)
+ headerLines := t.previewOpts.headerLines
if t.previewOpts.cycle {
- newOffset = (newOffset + numLines) % numLines
+ offsetRange := numLines - headerLines
+ newOffset = ((newOffset-headerLines)+offsetRange)%offsetRange + headerLines
}
- newOffset = util.Constrain(newOffset, t.previewOpts.headerLines, numLines-1)
+ newOffset = util.Constrain(newOffset, headerLines, numLines-1)
if t.previewer.offset != newOffset {
t.previewer.offset = newOffset
req(reqPreviewRefresh)