From 7e1c0f39e76864ad0aa4d5c88d074b1055a617a6 Mon Sep 17 00:00:00 2001 From: Junegunn Choi <junegunn.c@gmail.com> Date: Tue, 12 Nov 2019 00:10:24 +0900 Subject: [PATCH] 'reload' action should reset --header-lines --- src/core.go | 13 ++++++++----- test/test_go.rb | 10 +++++----- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/src/core.go b/src/core.go index c5ad235..087c7df 100644 --- a/src/core.go +++ b/src/core.go @@ -225,6 +225,12 @@ func Run(opts *Options, revision string) { reading := true ticks := 0 var nextCommand *string + restart := func(command string) { + reading = true + chunkList.Clear() + header = make([]string, 0, opts.HeaderLines) + go reader.restart(command) + } eventBox.Watch(EvtReadNew) for { delay := true @@ -245,9 +251,8 @@ func Run(opts *Options, revision string) { case EvtReadNew, EvtReadFin: clearCache := false if evt == EvtReadFin && nextCommand != nil { - chunkList.Clear() clearCache = true - go reader.restart(*nextCommand) + restart(*nextCommand) nextCommand = nil } else { reading = reading && evt == EvtReadNew @@ -271,9 +276,7 @@ func Run(opts *Options, revision string) { reader.terminate() nextCommand = command } else { - reading = true - chunkList.Clear() - go reader.restart(*command) + restart(*command) } } snapshot, _ := chunkList.Snapshot() diff --git a/test/test_go.rb b/test/test_go.rb index 1dbbf5c..a441e5e 100755 --- a/test/test_go.rb +++ b/test/test_go.rb @@ -1623,14 +1623,14 @@ class TestGoFZF < TestBase end def test_reload - tmux.send_keys %(seq 1000 | #{FZF} --bind 'change:reload(seq {q}),a:reload(seq 100),b:reload:seq 200'), :Enter - tmux.until { |lines| lines.match_count == 1000 } + tmux.send_keys %(seq 1000 | #{FZF} --bind 'change:reload(seq {q}),a:reload(seq 100),b:reload:seq 200' --header-lines 2), :Enter + tmux.until { |lines| lines.match_count == 998 } tmux.send_keys 'a' - tmux.until { |lines| lines.item_count == 100 && lines.match_count == 100 } + tmux.until { |lines| lines.item_count == 98 && lines.match_count == 98 } tmux.send_keys 'b' - tmux.until { |lines| lines.item_count == 200 && lines.match_count == 200 } + tmux.until { |lines| lines.item_count == 198 && lines.match_count == 198 } tmux.send_keys '555' - tmux.until { |lines| lines.item_count == 555 && lines.match_count == 1 } + tmux.until { |lines| lines.item_count == 553 && lines.match_count == 1 } end end