summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJunegunn Choi <junegunn.c@gmail.com>2019-12-06 22:34:45 +0900
committerJunegunn Choi <junegunn.c@gmail.com>2019-12-06 22:34:45 +0900
commit86e3994e87b264f874ea1620fc31f42e3744aad0 (patch)
treef57f8924b68b76b9694fca0af6f2b2c7bd21efa0
parent1e6ac5590ec3c928b4d065a42eb45bac87752bbc (diff)
Properly clear list when --header-lines not filled on reload
-rw-r--r--CHANGELOG.md4
-rw-r--r--src/core.go4
-rwxr-xr-xtest/test_go.rb7
3 files changed, 14 insertions, 1 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 91ff9619..3a1a47d4 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -24,6 +24,10 @@ CHANGELOG
```sh
fzf --multi --bind 'ctrl-l:select-all+execute(less {+f})+deselect-all'
```
+- Fixed bugs of reload action
+ - Not triggered when there's no match even when the command doesn't have
+ any placeholder expressions
+ - Screen not properly cleared when `--header-lines` not filled on reload
0.19.0
------
diff --git a/src/core.go b/src/core.go
index 37513f5c..985c177f 100644
--- a/src/core.go
+++ b/src/core.go
@@ -295,7 +295,9 @@ func Run(opts *Options, revision string) {
}
case EvtHeader:
- terminal.UpdateHeader(value.([]string))
+ header := value.([]string)
+ header = append(header, make([]string, opts.HeaderLines-len(header))...)
+ terminal.UpdateHeader(header)
case EvtSearchFin:
switch val := value.(type) {
diff --git a/test/test_go.rb b/test/test_go.rb
index 8d6fb37c..55c8fc2b 100755
--- a/test/test_go.rb
+++ b/test/test_go.rb
@@ -1647,6 +1647,13 @@ class TestGoFZF < TestBase
tmux.send_keys :Space
tmux.until { |lines| lines.item_count == 10 }
end
+
+ def test_clear_list_when_header_lines_changed_due_to_reload
+ tmux.send_keys %(seq 10 | #{FZF} --header 0 --header-lines 3 --bind 'space:reload(seq 1)'), :Enter
+ tmux.until { |lines| lines.any? { |line| line.include?('9') } }
+ tmux.send_keys :Space
+ tmux.until { |lines| lines.none? { |line| line.include?('9') } }
+ end
end
module TestShell