summaryrefslogtreecommitdiffstats
path: root/pkg/gui
diff options
context:
space:
mode:
authorJesse Duffield <jessedduffield@gmail.com>2023-07-17 15:45:10 +1000
committerJesse Duffield <jessedduffield@gmail.com>2023-07-30 18:35:23 +1000
commit3a7468ecac9992e56649543fd2ca934dc71dbc41 (patch)
treef0025ebb2714cfe4ba03bd2eb3f68fcaa81bbe12 /pkg/gui
parent7b05dacb98b1baa72f61e7decf7d23e8bd241393 (diff)
Support opening worktree in editor
Diffstat (limited to 'pkg/gui')
-rw-r--r--pkg/gui/controllers/helpers/files_helper.go7
-rw-r--r--pkg/gui/controllers/worktrees_controller.go2
2 files changed, 8 insertions, 1 deletions
diff --git a/pkg/gui/controllers/helpers/files_helper.go b/pkg/gui/controllers/helpers/files_helper.go
index 1baa0191b..8f9a816f8 100644
--- a/pkg/gui/controllers/helpers/files_helper.go
+++ b/pkg/gui/controllers/helpers/files_helper.go
@@ -37,6 +37,13 @@ func (self *FilesHelper) EditFileAtLineAndWait(filename string, lineNumber int)
return self.callEditor(cmdStr, true)
}
+func (self *FilesHelper) OpenDirInEditor(path string) error {
+ cmdStr := self.c.Git().File.GetOpenDirInEditorCmdStr(path)
+
+ // Not editing in terminal because surely that's not a thing.
+ return self.callEditor(cmdStr, false)
+}
+
func (self *FilesHelper) callEditor(cmdStr string, editInTerminal bool) error {
if editInTerminal {
return self.c.RunSubprocessAndRefresh(
diff --git a/pkg/gui/controllers/worktrees_controller.go b/pkg/gui/controllers/worktrees_controller.go
index 52b76546e..c38a679da 100644
--- a/pkg/gui/controllers/worktrees_controller.go
+++ b/pkg/gui/controllers/worktrees_controller.go
@@ -116,7 +116,7 @@ func (self *WorktreesController) enter(worktree *models.Worktree) error {
}
func (self *WorktreesController) open(worktree *models.Worktree) error {
- return self.c.Helpers().Files.OpenFile(worktree.Path)
+ return self.c.Helpers().Files.OpenDirInEditor(worktree.Path)
}
func (self *WorktreesController) checkSelected(callback func(worktree *models.Worktree) error) func() error {