diff options
author | Stefan Haller <stefan@haller-berlin.de> | 2023-03-09 14:36:43 +0100 |
---|---|---|
committer | Stefan Haller <stefan@haller-berlin.de> | 2023-04-01 08:16:15 +0200 |
commit | 85fdb700ba9fd69393f1e7ee572cc6b0d741aaf5 (patch) | |
tree | 0839db39fbd7822d6be540a9c3986fb590e60f5b | |
parent | 7513d7756773471147ce2f1aec23af744dd6a8dc (diff) |
Extract amendHead function into new AmendHelper
-rw-r--r-- | pkg/gui/controllers.go | 6 | ||||
-rw-r--r-- | pkg/gui/controllers/files_controller.go | 10 | ||||
-rw-r--r-- | pkg/gui/controllers/helpers/amend_helper.go | 36 | ||||
-rw-r--r-- | pkg/gui/controllers/helpers/helpers.go | 2 |
4 files changed, 43 insertions, 11 deletions
diff --git a/pkg/gui/controllers.go b/pkg/gui/controllers.go index 4d881e586..b8fba8c85 100644 --- a/pkg/gui/controllers.go +++ b/pkg/gui/controllers.go @@ -30,6 +30,7 @@ func (gui *Gui) resetControllers() { getSavedCommitMessage := func() string { return gui.State.savedCommitMessage } + gpgHelper := helpers.NewGpgHelper(helperCommon, gui.os, gui.git) gui.helpers = &helpers.Helpers{ Refs: refsHelper, Host: helpers.NewHostHelper(helperCommon, gui.git), @@ -39,7 +40,7 @@ func (gui *Gui) resetControllers() { Files: helpers.NewFilesHelper(helperCommon, gui.git, osCommand), WorkingTree: helpers.NewWorkingTreeHelper(helperCommon, gui.git, gui.State.Contexts, refsHelper, model, setCommitMessage, getSavedCommitMessage), Tags: helpers.NewTagsHelper(helperCommon, gui.git), - GPG: helpers.NewGpgHelper(helperCommon, gui.os, gui.git), + GPG: gpgHelper, MergeAndRebase: rebaseHelper, MergeConflicts: helpers.NewMergeConflictsHelper(helperCommon, gui.State.Contexts, gui.git), CherryPick: helpers.NewCherryPickHelper( @@ -49,7 +50,8 @@ func (gui *Gui) resetControllers() { func() *cherrypicking.CherryPicking { return gui.State.Modes.CherryPicking }, rebaseHelper, ), - Upstream: helpers.NewUpstreamHelper(helperCommon, model, suggestionsHelper.GetRemoteBranchesSuggestionsFunc), + Upstream: helpers.NewUpstreamHelper(helperCommon, model, suggestionsHelper.GetRemoteBranchesSuggestionsFunc), + AmendHelper: helpers.NewAmendHelper(helperCommon, gui.git, gpgHelper), } gui.CustomCommandsClient = custom_commands.NewClient( diff --git a/pkg/gui/controllers/files_controller.go b/pkg/gui/controllers/files_controller.go index 79eefad5b..b028dae6e 100644 --- a/pkg/gui/controllers/files_controller.go +++ b/pkg/gui/controllers/files_controller.go @@ -567,15 +567,7 @@ func (self *FilesController) handleAmendCommitPress() error { return self.c.ErrorMsg(self.c.Tr.NoCommitToAmend) } - return self.c.Confirm(types.ConfirmOpts{ - Title: self.c.Tr.AmendLastCommitTitle, - Prompt: self.c.Tr.SureToAmend, - HandleConfirm: func() error { - cmdObj := self.git.Commit.AmendHeadCmdObj() - self.c.LogAction(self.c.Tr.Actions.AmendCommit) - return self.helpers.GPG.WithGpgHandling(cmdObj, self.c.Tr.AmendingStatus, nil) - }, - }) + return self.helpers.AmendHelper.AmendHead() } func (self *FilesController) handleStatusFilterPressed() error { diff --git a/pkg/gui/controllers/helpers/amend_helper.go b/pkg/gui/controllers/helpers/amend_helper.go new file mode 100644 index 000000000..29570d635 --- /dev/null +++ b/pkg/gui/controllers/helpers/amend_helper.go @@ -0,0 +1,36 @@ +package helpers + +import ( + "github.com/jesseduffield/lazygit/pkg/commands" + "github.com/jesseduffield/lazygit/pkg/gui/types" +) + +type AmendHelper struct { + c *types.HelperCommon + git *commands.GitCommand + gpg *GpgHelper +} + +func NewAmendHelper( + c *types.HelperCommon, + git *commands.GitCommand, + gpg *GpgHelper, +) *AmendHelper { + return &AmendHelper{ + c: c, + git: git, + gpg: gpg, + } +} + +func (self *AmendHelper) AmendHead() error { + return self.c.Confirm(types.ConfirmOpts{ + Title: self.c.Tr.AmendLastCommitTitle, + Prompt: self.c.Tr.SureToAmend, + HandleConfirm: func() error { + cmdObj := self.git.Commit.AmendHeadCmdObj() + self.c.LogAction(self.c.Tr.Actions.AmendCommit) + return self.gpg.WithGpgHandling(cmdObj, self.c.Tr.AmendingStatus, nil) + }, + }) +} diff --git a/pkg/gui/controllers/helpers/helpers.go b/pkg/gui/controllers/helpers/helpers.go index b8c279fac..a66d013bd 100644 --- a/pkg/gui/controllers/helpers/helpers.go +++ b/pkg/gui/controllers/helpers/helpers.go @@ -14,6 +14,7 @@ type Helpers struct { PatchBuilding *PatchBuildingHelper GPG *GpgHelper Upstream *UpstreamHelper + AmendHelper *AmendHelper } func NewStubHelpers() *Helpers { @@ -31,5 +32,6 @@ func NewStubHelpers() *Helpers { PatchBuilding: &PatchBuildingHelper{}, GPG: &GpgHelper{}, Upstream: &UpstreamHelper{}, + AmendHelper: &AmendHelper{}, } } |