summaryrefslogtreecommitdiffstats
path: root/pkg/gui/controllers/helpers/working_tree_helper.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/gui/controllers/helpers/working_tree_helper.go')
-rw-r--r--pkg/gui/controllers/helpers/working_tree_helper.go21
1 files changed, 20 insertions, 1 deletions
diff --git a/pkg/gui/controllers/helpers/working_tree_helper.go b/pkg/gui/controllers/helpers/working_tree_helper.go
index 273748d6b..3d79ebbc1 100644
--- a/pkg/gui/controllers/helpers/working_tree_helper.go
+++ b/pkg/gui/controllers/helpers/working_tree_helper.go
@@ -1,6 +1,7 @@
package helpers
import (
+ "github.com/jesseduffield/lazygit/pkg/commands"
"github.com/jesseduffield/lazygit/pkg/commands/models"
"github.com/jesseduffield/lazygit/pkg/gui/types"
)
@@ -13,11 +14,16 @@ type IWorkingTreeHelper interface {
}
type WorkingTreeHelper struct {
+ c *types.HelperCommon
+ git *commands.GitCommand
+
model *types.Model
}
-func NewWorkingTreeHelper(model *types.Model) *WorkingTreeHelper {
+func NewWorkingTreeHelper(c *types.HelperCommon, git *commands.GitCommand, model *types.Model) *WorkingTreeHelper {
return &WorkingTreeHelper{
+ c: c,
+ git: git,
model: model,
}
}
@@ -53,3 +59,16 @@ func (self *WorkingTreeHelper) FileForSubmodule(submodule *models.SubmoduleConfi
return nil
}
+
+func (self *WorkingTreeHelper) OpenMergeTool() error {
+ return self.c.Ask(types.AskOpts{
+ Title: self.c.Tr.MergeToolTitle,
+ Prompt: self.c.Tr.MergeToolPrompt,
+ HandleConfirm: func() error {
+ self.c.LogAction(self.c.Tr.Actions.OpenMergeTool)
+ return self.c.RunSubprocessAndRefresh(
+ self.git.WorkingTree.OpenMergeToolCmdObj(),
+ )
+ },
+ })
+}