diff options
author | Junegunn Choi <junegunn.c@gmail.com> | 2021-09-14 16:58:26 +0900 |
---|---|---|
committer | Junegunn Choi <junegunn.c@gmail.com> | 2021-09-14 20:36:10 +0900 |
commit | 0f02fc0c77356a7b72b05131edf6c99d8efa6d33 (patch) | |
tree | a2eb5c53905e9f7a48dfc4e621fb5d447efec374 | |
parent | 3f90fb42d8871920138ace9878502f22a4d91e85 (diff) |
Reset {n} after reload
Fix #2611
-rw-r--r-- | CHANGELOG.md | 1 | ||||
-rw-r--r-- | src/core.go | 1 | ||||
-rwxr-xr-x | test/test_go.rb | 16 |
3 files changed, 18 insertions, 0 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index 527eda3e..a384b86e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ CHANGELOG ------ - Preview window is `hidden` by default when there are `preview` bindings but `--preview` command is not given +- Fixed bug where `{n}` is not properly reset on `reload` - Vim plugin - `sinklist` is added as a synonym to `sink*` so that it's easier to add a function to a spec dictionary diff --git a/src/core.go b/src/core.go index d9a83bd4..6244c99a 100644 --- a/src/core.go +++ b/src/core.go @@ -233,6 +233,7 @@ func Run(opts *Options, version string, revision string) { clearCache = util.Once(true) clearSelection = util.Once(true) chunkList.Clear() + itemIndex = 0 header = make([]string, 0, opts.HeaderLines) go reader.restart(command) } diff --git a/test/test_go.rb b/test/test_go.rb index 60f14a4b..059e7182 100755 --- a/test/test_go.rb +++ b/test/test_go.rb @@ -2053,6 +2053,22 @@ class TestGoFZF < TestBase tmux.send_keys 'dabcd' tmux.until { |lines| assert_equal '> abcd', lines[-1] } end + + def test_item_index_reset_on_reload + tmux.send_keys "seq 10 | #{FZF} --preview 'echo [[{n}]]' --bind 'up:last,down:first,space:reload:seq 100'", :Enter + tmux.until { |lines| assert_includes lines[1], '[[0]]' } + tmux.send_keys :Up + tmux.until { |lines| assert_includes lines[1], '[[9]]' } + tmux.send_keys :Down + tmux.until { |lines| assert_includes lines[1], '[[0]]' } + tmux.send_keys :Space + tmux.until do |lines| + assert_equal 100, lines.item_count + assert_includes lines[1], '[[0]]' + end + tmux.send_keys :Up + tmux.until { |lines| assert_includes lines[1], '[[99]]' } + end end module TestShell |