From c7e6a73512755cc7e69c442f2def2c8e366cf864 Mon Sep 17 00:00:00 2001 From: Karl Heitmann Date: Fri, 28 Jul 2023 21:27:15 -0400 Subject: [PATCH] Wraps rebase func with WithWaitingStatus to show loader when rebasing --- .../helpers/merge_and_rebase_helper.go | 27 ++++++++++--------- 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/pkg/gui/controllers/helpers/merge_and_rebase_helper.go b/pkg/gui/controllers/helpers/merge_and_rebase_helper.go index 03c3abb4b..db3ffa9ae 100644 --- a/pkg/gui/controllers/helpers/merge_and_rebase_helper.go +++ b/pkg/gui/controllers/helpers/merge_and_rebase_helper.go @@ -4,6 +4,7 @@ import ( "fmt" "strings" + "github.com/jesseduffield/gocui" "github.com/jesseduffield/lazygit/pkg/commands/git_commands" "github.com/jesseduffield/lazygit/pkg/commands/types/enums" "github.com/jesseduffield/lazygit/pkg/gui/types" @@ -224,18 +225,20 @@ func (self *MergeAndRebaseHelper) RebaseOntoRef(ref string) error { Key: 's', OnPress: func() error { self.c.LogAction(self.c.Tr.Actions.RebaseBranch) - baseCommit := self.c.Modes().MarkedBaseCommit.GetSha() - var err error - if baseCommit != "" { - err = self.c.Git().Rebase.RebaseBranchFromBaseCommit(ref, baseCommit) - } else { - err = self.c.Git().Rebase.RebaseBranch(ref) - } - err = self.CheckMergeOrRebase(err) - if err == nil { - self.c.Modes().MarkedBaseCommit.Reset() - } - return err + return self.c.WithWaitingStatus(self.c.Tr.RebasingStatus, func(task gocui.Task) error { + baseCommit := self.c.Modes().MarkedBaseCommit.GetSha() + var err error + if baseCommit != "" { + err = self.c.Git().Rebase.RebaseBranchFromBaseCommit(ref, baseCommit) + } else { + err = self.c.Git().Rebase.RebaseBranch(ref) + } + err = self.CheckMergeOrRebase(err) + if err == nil { + self.c.Modes().MarkedBaseCommit.Reset() + } + return err + }) }, }, {