diff options
Diffstat (limited to 'pkg/gui/controllers/helpers/working_tree_helper.go')
-rw-r--r-- | pkg/gui/controllers/helpers/working_tree_helper.go | 21 |
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(), + ) + }, + }) +} |