diff options
author | Jesse Duffield <jessedduffield@gmail.com> | 2023-07-16 13:53:59 +1000 |
---|---|---|
committer | Jesse Duffield <jessedduffield@gmail.com> | 2023-07-30 18:35:22 +1000 |
commit | fe8adf9eb863a226de9d514216a261f988122cc5 (patch) | |
tree | afb3002d190dd9ed86c2ff83f3cc9ba80733e360 /pkg/gui | |
parent | c713d550c0a215408969838009865b6b906c7576 (diff) |
Use git lingo
Diffstat (limited to 'pkg/gui')
-rw-r--r-- | pkg/gui/controllers/helpers/worktree_helper.go | 13 | ||||
-rw-r--r-- | pkg/gui/controllers/worktrees_controller.go | 39 |
2 files changed, 29 insertions, 23 deletions
diff --git a/pkg/gui/controllers/helpers/worktree_helper.go b/pkg/gui/controllers/helpers/worktree_helper.go index bdaf7d2f9..a05d469ce 100644 --- a/pkg/gui/controllers/helpers/worktree_helper.go +++ b/pkg/gui/controllers/helpers/worktree_helper.go @@ -7,6 +7,7 @@ import ( "log" "os" + "github.com/jesseduffield/gocui" "github.com/jesseduffield/lazygit/pkg/commands/models" "github.com/jesseduffield/lazygit/pkg/gui/types" ) @@ -62,11 +63,13 @@ func (self *WorktreeHelper) NewWorktree() error { return self.c.Prompt(types.PromptOpts{ Title: self.c.Tr.NewWorktreePath, HandleConfirm: func(committish string) error { - self.c.LogAction(self.c.Tr.Actions.CreateWorktree) - if err := self.c.Git().Worktree.New(sanitizedBranchName(path), committish); err != nil { - return err - } - return self.c.Refresh(types.RefreshOptions{Mode: types.ASYNC}) + return self.c.WithWaitingStatus(self.c.Tr.AddingWorktree, func(gocui.Task) error { + self.c.LogAction(self.c.Tr.Actions.AddWorktree) + if err := self.c.Git().Worktree.New(sanitizedBranchName(path), committish); err != nil { + return err + } + return self.c.Refresh(types.RefreshOptions{Mode: types.ASYNC}) + }) }, }) }, diff --git a/pkg/gui/controllers/worktrees_controller.go b/pkg/gui/controllers/worktrees_controller.go index 0c515b564..c8b23f906 100644 --- a/pkg/gui/controllers/worktrees_controller.go +++ b/pkg/gui/controllers/worktrees_controller.go @@ -5,6 +5,7 @@ import ( "strings" "text/tabwriter" + "github.com/jesseduffield/gocui" "github.com/jesseduffield/lazygit/pkg/commands/models" "github.com/jesseduffield/lazygit/pkg/gui/context" "github.com/jesseduffield/lazygit/pkg/gui/style" @@ -37,12 +38,12 @@ func (self *WorktreesController) GetKeybindings(opts types.KeybindingsOpts) []*t }, { Key: opts.GetKey(opts.Config.Universal.Remove), - Handler: self.checkSelected(self.delete), - Description: self.c.Tr.DeleteWorktree, + Handler: self.checkSelected(self.remove), + Description: self.c.Tr.RemoveWorktree, }, { Key: opts.GetKey(opts.Config.Universal.New), - Handler: self.create, + Handler: self.add, Description: self.c.Tr.CreateWorktree, }, } @@ -87,11 +88,11 @@ func (self *WorktreesController) GetOnRenderToMain() func() error { } } -func (self *WorktreesController) create() error { +func (self *WorktreesController) add() error { return self.c.Helpers().Worktree.NewWorktree() } -func (self *WorktreesController) delete(worktree *models.Worktree) error { +func (self *WorktreesController) remove(worktree *models.Worktree) error { if worktree.Main() { return self.c.ErrorMsg(self.c.Tr.CantDeleteMainWorktree) } @@ -100,16 +101,16 @@ func (self *WorktreesController) delete(worktree *models.Worktree) error { return self.c.ErrorMsg(self.c.Tr.CantDeleteCurrentWorktree) } - return self.deleteWithForce(worktree, false) + return self.removeWithForce(worktree, false) } -func (self *WorktreesController) deleteWithForce(worktree *models.Worktree, force bool) error { - title := self.c.Tr.DeleteWorktreeTitle +func (self *WorktreesController) removeWithForce(worktree *models.Worktree, force bool) error { + title := self.c.Tr.RemoveWorktreeTitle var templateStr string if force { - templateStr = self.c.Tr.ForceDeleteWorktreePrompt + templateStr = self.c.Tr.ForceRemoveWorktreePrompt } else { - templateStr = self.c.Tr.DeleteWorktreePrompt + templateStr = self.c.Tr.RemoveWorktreePrompt } message := utils.ResolvePlaceholderString( templateStr, @@ -122,15 +123,17 @@ func (self *WorktreesController) deleteWithForce(worktree *models.Worktree, forc Title: title, Prompt: message, HandleConfirm: func() error { - self.c.LogAction(self.c.Tr.Actions.DeleteWorktree) - if err := self.c.Git().Worktree.Delete(worktree.Path, force); err != nil { - errMessage := err.Error() - if !force { - return self.deleteWithForce(worktree, true) + return self.c.WithWaitingStatus(self.c.Tr.RemovingWorktree, func(gocui.Task) error { + self.c.LogAction(self.c.Tr.RemovingWorktree) + if err := self.c.Git().Worktree.Delete(worktree.Path, force); err != nil { + errMessage := err.Error() + if !force { + return self.removeWithForce(worktree, true) + } + return self.c.ErrorMsg(errMessage) } - return self.c.ErrorMsg(errMessage) - } - return self.c.Refresh(types.RefreshOptions{Mode: types.ASYNC, Scope: []types.RefreshableView{types.WORKTREES}}) + return self.c.Refresh(types.RefreshOptions{Mode: types.ASYNC, Scope: []types.RefreshableView{types.WORKTREES}}) + }) }, }) } |