summaryrefslogtreecommitdiffstats
path: root/pkg/gui
diff options
context:
space:
mode:
authorJesse Duffield <jessedduffield@gmail.com>2021-04-11 10:05:39 +1000
committerJesse Duffield <jessedduffield@gmail.com>2021-04-11 10:21:53 +1000
commit9f4433d8b55e1878610fd06d39ffd3ffaa623e79 (patch)
tree602370b2f03da4004ee77948170f1db2a0aaa40b /pkg/gui
parent2d8f7d2a7b9efa2767a4ec00878c8027e267d045 (diff)
allow opening merge tool
Diffstat (limited to 'pkg/gui')
-rw-r--r--pkg/gui/files_panel.go12
-rw-r--r--pkg/gui/keybindings.go14
2 files changed, 26 insertions, 0 deletions
diff --git a/pkg/gui/files_panel.go b/pkg/gui/files_panel.go
index 7d73f3d5b..f84d0c492 100644
--- a/pkg/gui/files_panel.go
+++ b/pkg/gui/files_panel.go
@@ -879,3 +879,15 @@ func (gui *Gui) handleToggleFileTreeView() error {
return nil
}
+
+func (gui *Gui) handleOpenMergeTool() error {
+ return gui.ask(askOpts{
+ title: gui.Tr.MergeToolTitle,
+ prompt: gui.Tr.MergeToolPrompt,
+ handleConfirm: func() error {
+ return gui.runSubprocessWithSuspenseAndRefresh(
+ gui.OSCommand.ExecutableFromString(gui.GitCommand.OpenMergeToolCmd()),
+ )
+ },
+ })
+}
diff --git a/pkg/gui/keybindings.go b/pkg/gui/keybindings.go
index 0635280a6..ce1e53134 100644
--- a/pkg/gui/keybindings.go
+++ b/pkg/gui/keybindings.go
@@ -515,6 +515,13 @@ func (gui *Gui) GetInitialKeybindings() []*Binding {
Description: gui.Tr.LcToggleTreeView,
},
{
+ ViewName: "files",
+ Contexts: []string{string(FILES_CONTEXT_KEY)},
+ Key: gui.getKey(config.Files.OpenMergeTool),
+ Handler: gui.handleOpenMergeTool,
+ Description: gui.Tr.LcOpenMergeTool,
+ },
+ {
ViewName: "branches",
Contexts: []string{string(LOCAL_BRANCHES_CONTEXT_KEY)},
Key: gui.getKey(config.Universal.Select),
@@ -1411,6 +1418,13 @@ func (gui *Gui) GetInitialKeybindings() []*Binding {
{
ViewName: "main",
Contexts: []string{string(MAIN_MERGING_CONTEXT_KEY)},
+ Key: gui.getKey(config.Files.OpenMergeTool),
+ Handler: gui.handleOpenMergeTool,
+ Description: gui.Tr.LcOpenMergeTool,
+ },
+ {
+ ViewName: "main",
+ Contexts: []string{string(MAIN_MERGING_CONTEXT_KEY)},
Key: gui.getKey(config.Universal.Select),
Handler: gui.handlePickHunk,
Description: gui.Tr.PickHunk,