diff options
author | Junegunn Choi <junegunn.c@gmail.com> | 2023-01-04 22:00:00 +0900 |
---|---|---|
committer | Junegunn Choi <junegunn.c@gmail.com> | 2023-01-04 22:00:00 +0900 |
commit | 03d02d67f7ae16b19d9933648d5cbd49915c76e0 (patch) | |
tree | 5d0b3bfcb5bac0c9e4f5c2416f504328821d364d /src/terminal.go | |
parent | 5798145581c6b2de18f14c9e1a2e11ec3251c434 (diff) |
Fix cyclic scrolling with non-zero preview header lines
e.g. fzf --preview-window 'cycle,~2' --preview 'echo foo; echo bar; seq 100'
Diffstat (limited to 'src/terminal.go')
-rw-r--r-- | src/terminal.go | 6 |
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) |