mirror of
https://github.com/junegunn/fzf.git
synced 2025-08-08 16:12:09 -07:00
Remove immediate flickering on reload action
This commit is contained in:
10
src/core.go
10
src/core.go
@@ -224,10 +224,12 @@ func Run(opts *Options, revision string) {
|
||||
|
||||
// Event coordination
|
||||
reading := true
|
||||
clearCache := false
|
||||
ticks := 0
|
||||
var nextCommand *string
|
||||
restart := func(command string) {
|
||||
reading = true
|
||||
clearCache = true
|
||||
chunkList.Clear()
|
||||
header = make([]string, 0, opts.HeaderLines)
|
||||
go reader.restart(command)
|
||||
@@ -250,11 +252,10 @@ func Run(opts *Options, revision string) {
|
||||
switch evt {
|
||||
|
||||
case EvtReadNew, EvtReadFin:
|
||||
clearCache := false
|
||||
if evt == EvtReadFin && nextCommand != nil {
|
||||
clearCache = true
|
||||
restart(*nextCommand)
|
||||
nextCommand = nil
|
||||
break
|
||||
} else {
|
||||
reading = reading && evt == EvtReadNew
|
||||
}
|
||||
@@ -264,6 +265,7 @@ func Run(opts *Options, revision string) {
|
||||
terminal.UpdateList(PassMerger(&snapshot, opts.Tac))
|
||||
}
|
||||
matcher.Reset(snapshot, input(), false, !reading, sort, clearCache)
|
||||
clearCache = false
|
||||
|
||||
case EvtSearchNew:
|
||||
var command *string
|
||||
@@ -279,9 +281,11 @@ func Run(opts *Options, revision string) {
|
||||
} else {
|
||||
restart(*command)
|
||||
}
|
||||
break
|
||||
}
|
||||
snapshot, _ := chunkList.Snapshot()
|
||||
matcher.Reset(snapshot, input(), true, !reading, sort, command != nil)
|
||||
matcher.Reset(snapshot, input(), true, !reading, sort, clearCache)
|
||||
clearCache = false
|
||||
delay = false
|
||||
|
||||
case EvtSearchProgress:
|
||||
|
Reference in New Issue
Block a user