From 86e3994e87b264f874ea1620fc31f42e3744aad0 Mon Sep 17 00:00:00 2001 From: Junegunn Choi Date: Fri, 6 Dec 2019 22:34:45 +0900 Subject: [PATCH] Properly clear list when --header-lines not filled on reload --- CHANGELOG.md | 4 ++++ src/core.go | 4 +++- test/test_go.rb | 7 +++++++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 91ff961..3a1a47d 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 37513f5..985c177 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 8d6fb37..55c8fc2 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