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