From 82fd88339b115f1159d66588191990d95fb41e88 Mon Sep 17 00:00:00 2001 From: Junegunn Choi Date: Sun, 23 Mar 2025 11:06:18 +0900 Subject: [PATCH] Fix offset-middle not updating the list --- src/terminal.go | 1 + test/test_core.rb | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/src/terminal.go b/src/terminal.go index d892a340..81485d6a 100644 --- a/src/terminal.go +++ b/src/terminal.go @@ -5486,6 +5486,7 @@ func (t *Terminal) Loop() error { t.scrollOff = t.window.Height() t.constrain() t.scrollOff = soff + req(reqList) case actJump: t.jumping = jumpEnabled req(reqJump) diff --git a/test/test_core.rb b/test/test_core.rb index 32fbd2cf..235fe52a 100644 --- a/test/test_core.rb +++ b/test/test_core.rb @@ -1846,4 +1846,14 @@ class TestCore < TestInteractive assert_includes lines, 'X Type in query ... Y100/100' end end + + def test_offset_middle + tmux.send_keys %(seq 1000 | #{FZF} --sync --no-input --reverse --height 5 --scroll-off 0 --bind space:offset-middle), :Enter + line = nil + tmux.until { |lines| line = lines.index('> 1') } + tmux.send_keys :PgDn + tmux.until { |lines| assert_includes lines[line + 4], "> 5" } + tmux.send_keys :Space + tmux.until { |lines| assert_includes lines[line + 2], "> 5" } + end end