From 66e319d1f57539ce5bd30e6810e49ea1fe639597 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 2 Jul 2023 08:20:59 +0530 Subject: [PATCH] Simplify code --- tools/tui/loop/timers.go | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/tools/tui/loop/timers.go b/tools/tui/loop/timers.go index ebe5f51cc..fd4437784 100644 --- a/tools/tui/loop/timers.go +++ b/tools/tui/loop/timers.go @@ -4,8 +4,9 @@ package loop import ( "fmt" - "sort" "time" + + "golang.org/x/exp/slices" ) func (self *Loop) add_timer(interval time.Duration, repeats bool, callback TimerCallback) (IdType, error) { @@ -47,16 +48,14 @@ func (self *Loop) dispatch_timers(now time.Time) error { } } } - self.timers = self.timers[:0] - if len(self.timers_temp) > 0 { - for _, t := range self.timers_temp { - self.timers = append(self.timers, t) - } + self.timers = self.timers[:len(self.timers_temp)] + if len(self.timers) > 0 { + copy(self.timers, self.timers_temp) self.sort_timers() } return nil } func (self *Loop) sort_timers() { - sort.SliceStable(self.timers, func(a, b int) bool { return self.timers[a].deadline.Before(self.timers[b].deadline) }) + slices.SortStableFunc(self.timers, func(a, b *timer) bool { return a.deadline.Before(b.deadline) }) }