diff options
author | Jesse Duffield <jessedduffield@gmail.com> | 2023-07-16 20:38:22 +1000 |
---|---|---|
committer | Jesse Duffield <jessedduffield@gmail.com> | 2023-07-30 18:35:22 +1000 |
commit | 2e68967e02954a6f4d556fe637db57f7fb5aeec6 (patch) | |
tree | efc53a18c426fe00720cba1337abb4afe4a7bdd6 /pkg/gui | |
parent | 71422a85499fdb336d37a60f0c56f236b891e2cd (diff) |
Show base ref suggestions when creating worktree
Diffstat (limited to 'pkg/gui')
-rw-r--r-- | pkg/gui/controllers.go | 4 | ||||
-rw-r--r-- | pkg/gui/controllers/helpers/worktree_helper.go | 25 |
2 files changed, 14 insertions, 15 deletions
diff --git a/pkg/gui/controllers.go b/pkg/gui/controllers.go index 61ab8f738..9d76349c7 100644 --- a/pkg/gui/controllers.go +++ b/pkg/gui/controllers.go @@ -21,10 +21,10 @@ func (gui *Gui) resetHelpersAndControllers() { recordDirectoryHelper := helpers.NewRecordDirectoryHelper(helperCommon) reposHelper := helpers.NewRecentReposHelper(helperCommon, recordDirectoryHelper, gui.onNewRepo) refsHelper := helpers.NewRefsHelper(helperCommon) - worktreeHelper := helpers.NewWorktreeHelper(helperCommon, reposHelper, refsHelper) + suggestionsHelper := helpers.NewSuggestionsHelper(helperCommon) + worktreeHelper := helpers.NewWorktreeHelper(helperCommon, reposHelper, refsHelper, suggestionsHelper) rebaseHelper := helpers.NewMergeAndRebaseHelper(helperCommon, refsHelper) - suggestionsHelper := helpers.NewSuggestionsHelper(helperCommon) setCommitSummary := gui.getCommitMessageSetTextareaTextFn(func() *gocui.View { return gui.Views.CommitMessage }) setCommitDescription := gui.getCommitMessageSetTextareaTextFn(func() *gocui.View { return gui.Views.CommitDescription }) diff --git a/pkg/gui/controllers/helpers/worktree_helper.go b/pkg/gui/controllers/helpers/worktree_helper.go index afb49c24f..f6b821780 100644 --- a/pkg/gui/controllers/helpers/worktree_helper.go +++ b/pkg/gui/controllers/helpers/worktree_helper.go @@ -22,16 +22,18 @@ type IWorktreeHelper interface { } type WorktreeHelper struct { - c *HelperCommon - reposHelper *ReposHelper - refsHelper *RefsHelper + c *HelperCommon + reposHelper *ReposHelper + refsHelper *RefsHelper + suggestionsHelper *SuggestionsHelper } -func NewWorktreeHelper(c *HelperCommon, reposHelper *ReposHelper, refsHelper *RefsHelper) *WorktreeHelper { +func NewWorktreeHelper(c *HelperCommon, reposHelper *ReposHelper, refsHelper *RefsHelper, suggestionsHelper *SuggestionsHelper) *WorktreeHelper { return &WorktreeHelper{ - c: c, - reposHelper: reposHelper, - refsHelper: refsHelper, + c: c, + reposHelper: reposHelper, + refsHelper: refsHelper, + suggestionsHelper: suggestionsHelper, } } @@ -65,15 +67,14 @@ func (self *WorktreeHelper) IsWorktreePathMissing(w *models.Worktree) bool { } func (self *WorktreeHelper) NewWorktree() error { - // what is the current branch? branch := self.refsHelper.GetCheckedOutRef() currentBranchName := branch.RefName() f := func(detached bool) error { return self.c.Prompt(types.PromptOpts{ - Title: self.c.Tr.NewWorktreeBranch, - InitialContent: currentBranchName, - // TODO: suggestions + Title: self.c.Tr.NewWorktreeBranch, + InitialContent: currentBranchName, + FindSuggestionsFunc: self.suggestionsHelper.GetRefsSuggestionsFunc(), HandleConfirm: func(base string) error { canCheckoutBase := base != currentBranchName return self.NewWorktreeCheckout(base, canCheckoutBase, detached) @@ -129,7 +130,6 @@ func (self *WorktreeHelper) NewWorktreeCheckout(base string, canCheckoutBase boo // prompt for the new branch name where a blank means we just check out the branch return self.c.Prompt(types.PromptOpts{ Title: fmt.Sprintf("New branch name (leave blank to checkout %s)", base), - // TODO: suggestions HandleConfirm: func(branchName string) error { opts.Branch = branchName @@ -140,7 +140,6 @@ func (self *WorktreeHelper) NewWorktreeCheckout(base string, canCheckoutBase boo // prompt for the new branch name where a blank means we just check out the branch return self.c.Prompt(types.PromptOpts{ Title: "New branch name", - // TODO: suggestions HandleConfirm: func(branchName string) error { if branchName == "" { return self.c.ErrorMsg("Branch name cannot be blank") |