summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJunegunn Choi <junegunn.c@gmail.com>2021-09-14 16:58:26 +0900
committerJunegunn Choi <junegunn.c@gmail.com>2021-09-14 20:36:10 +0900
commit0f02fc0c77356a7b72b05131edf6c99d8efa6d33 (patch)
treea2eb5c53905e9f7a48dfc4e621fb5d447efec374
parent3f90fb42d8871920138ace9878502f22a4d91e85 (diff)
Reset {n} after reload
Fix #2611
-rw-r--r--CHANGELOG.md1
-rw-r--r--src/core.go1
-rwxr-xr-xtest/test_go.rb16
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