'reload' action should reset --header-lines

pull/1758/head
Junegunn Choi 5 years ago
parent deccf20a35
commit 7e1c0f39e7
No known key found for this signature in database
GPG Key ID: 254BC280FEF9C627

@ -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()

@ -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

Loading…
Cancel
Save