From cdad0b998e0050ac7a31fe8e841142b70e0c1e64 Mon Sep 17 00:00:00 2001 From: Stefan Haller Date: Tue, 29 Aug 2023 14:15:36 +0200 Subject: [PATCH] Add constant for LoaderAnimationInterval Since Loader and renderAppStatus need to agree on it, it helps for it to be a constant in case we want to change it. --- pkg/gui/controllers/helpers/app_status_helper.go | 3 ++- pkg/utils/utils.go | 7 +++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/pkg/gui/controllers/helpers/app_status_helper.go b/pkg/gui/controllers/helpers/app_status_helper.go index 0ce30b460..37cab2728 100644 --- a/pkg/gui/controllers/helpers/app_status_helper.go +++ b/pkg/gui/controllers/helpers/app_status_helper.go @@ -5,6 +5,7 @@ import ( "github.com/jesseduffield/gocui" "github.com/jesseduffield/lazygit/pkg/gui/status" + "github.com/jesseduffield/lazygit/pkg/utils" ) type AppStatusHelper struct { @@ -77,7 +78,7 @@ func (self *AppStatusHelper) GetStatusString() string { func (self *AppStatusHelper) renderAppStatus() { self.c.OnWorker(func(_ gocui.Task) { - ticker := time.NewTicker(time.Millisecond * 50) + ticker := time.NewTicker(time.Millisecond * utils.LoaderAnimationInterval) defer ticker.Stop() for range ticker.C { appStatus := self.statusMgr().GetStatusString() diff --git a/pkg/utils/utils.go b/pkg/utils/utils.go index bfebc13f0..12041719e 100644 --- a/pkg/utils/utils.go +++ b/pkg/utils/utils.go @@ -24,12 +24,15 @@ func GetProjectRoot() string { return strings.Split(dir, "lazygit")[0] + "lazygit" } +// The duration between two frames of the loader animation in milliseconds +const LoaderAnimationInterval = 50 + // Loader dumps a string to be displayed as a loader func Loader() string { characters := "|/-\\" now := time.Now() - nanos := now.UnixNano() - index := nanos / 50000000 % int64(len(characters)) + milliseconds := now.UnixMilli() + index := milliseconds / LoaderAnimationInterval % int64(len(characters)) return characters[index : index+1] }