Skip to content
2 changes: 1 addition & 1 deletion pkg/gui/controllers.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@ func (gui *Gui) resetHelpersAndControllers() {
recordDirectoryHelper := helpers.NewRecordDirectoryHelper(helperCommon)
reposHelper := helpers.NewRecentReposHelper(helperCommon, recordDirectoryHelper, gui.onSwitchToNewRepo)
rebaseHelper := helpers.NewMergeAndRebaseHelper(helperCommon)
refsHelper := helpers.NewRefsHelper(helperCommon, rebaseHelper)
suggestionsHelper := helpers.NewSuggestionsHelper(helperCommon)
refsHelper := helpers.NewRefsHelper(helperCommon, rebaseHelper, suggestionsHelper)
worktreeHelper := helpers.NewWorktreeHelper(helperCommon, reposHelper, refsHelper, suggestionsHelper)

setCommitSummary := gui.getCommitMessageSetTextareaTextFn(func() *gocui.View { return gui.Views.CommitMessage })
Expand Down
27 changes: 24 additions & 3 deletions pkg/gui/controllers/helpers/refs_helper.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,16 +18,19 @@ import (
type RefsHelper struct {
c *HelperCommon

rebaseHelper *MergeAndRebaseHelper
rebaseHelper *MergeAndRebaseHelper
suggestionsHelper *SuggestionsHelper
}

func NewRefsHelper(
c *HelperCommon,
rebaseHelper *MergeAndRebaseHelper,
suggestionsHelper *SuggestionsHelper,
) *RefsHelper {
return &RefsHelper{
c: c,
rebaseHelper: rebaseHelper,
c: c,
rebaseHelper: rebaseHelper,
suggestionsHelper: suggestionsHelper,
}
}

Expand Down Expand Up @@ -292,6 +295,24 @@ func (self *RefsHelper) CreateGitResetMenu(name string, ref string) error {
}
})

menuItems = append(menuItems, &types.MenuItem{
LabelColumns: []string{
self.c.Tr.ResetToCustomRef,
style.FgRed.Sprint("reset --? <ref>"),
},
OnPress: func() error {
self.c.Prompt(types.PromptOpts{
Title: self.c.Tr.EnterRefToResetTo,
FindSuggestionsFunc: self.suggestionsHelper.GetRefsSuggestionsFunc(),
HandleConfirm: func(response string) error {
return self.CreateGitResetMenu(response, response)
},
})
return nil
},
Key: 'c',
})

return self.c.Menu(types.CreateMenuOptions{
Title: fmt.Sprintf("%s %s", self.c.Tr.ResetTo, name),
Items: menuItems,
Expand Down
4 changes: 4 additions & 0 deletions pkg/i18n/english.go
Original file line number Diff line number Diff line change
Expand Up @@ -497,6 +497,8 @@ type TranslationSet struct {
ShellCommand string
CommitChangesWithoutHook string
ResetTo string
ResetToCustomRef string
EnterRefToResetTo string
ResetSoftTooltip string
ResetMixedTooltip string
ResetHardTooltip string
Expand Down Expand Up @@ -1627,6 +1629,8 @@ func EnglishTranslationSet() *TranslationSet {
ShellCommand: "Shell command:",
CommitChangesWithoutHook: "Commit changes without pre-commit hook",
ResetTo: `Reset to`,
ResetToCustomRef: "Reset to custom ref",
EnterRefToResetTo: "Enter ref to reset to:",
PressEnterToReturn: "Press enter to return to lazygit",
ViewStashOptions: "View stash options",
ViewStashOptionsTooltip: "View stash options (e.g. stash all, stash staged, stash unstaged).",
Expand Down