diff options
author | Junegunn Choi <junegunn.c@gmail.com> | 2019-12-05 22:25:43 +0900 |
---|---|---|
committer | Junegunn Choi <junegunn.c@gmail.com> | 2019-12-05 22:27:18 +0900 |
commit | 394d8cfd18819281f237f736ce60586df359541d (patch) | |
tree | d6a30c437cbf949fcbbbfc50c0c6071673491b75 /src/core.go | |
parent | ef80bd401fdab3979a72696dac585f1cbd463efc (diff) |
Remove immediate flickering on reload action
Diffstat (limited to 'src/core.go')
-rw-r--r-- | src/core.go | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/core.go b/src/core.go index 9d118a49..37513f5c 100644 --- a/src/core.go +++ b/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: |