summaryrefslogtreecommitdiffstats
path: root/src/core.go
diff options
context:
space:
mode:
authorJunegunn Choi <junegunn.c@gmail.com>2019-12-05 22:25:43 +0900
committerJunegunn Choi <junegunn.c@gmail.com>2019-12-05 22:27:18 +0900
commit394d8cfd18819281f237f736ce60586df359541d (patch)
treed6a30c437cbf949fcbbbfc50c0c6071673491b75 /src/core.go
parentef80bd401fdab3979a72696dac585f1cbd463efc (diff)
Remove immediate flickering on reload action
Diffstat (limited to 'src/core.go')
-rw-r--r--src/core.go10
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: