summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Haller <stefan@haller-berlin.de>2023-03-09 14:36:43 +0100
committerStefan Haller <stefan@haller-berlin.de>2023-04-01 08:16:15 +0200
commit85fdb700ba9fd69393f1e7ee572cc6b0d741aaf5 (patch)
tree0839db39fbd7822d6be540a9c3986fb590e60f5b
parent7513d7756773471147ce2f1aec23af744dd6a8dc (diff)
Extract amendHead function into new AmendHelper
-rw-r--r--pkg/gui/controllers.go6
-rw-r--r--pkg/gui/controllers/files_controller.go10
-rw-r--r--pkg/gui/controllers/helpers/amend_helper.go36
-rw-r--r--pkg/gui/controllers/helpers/helpers.go2
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{},
}
}