Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion pkg/gui/controllers.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,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 @@ -280,6 +283,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 @@ -496,6 +496,8 @@ type TranslationSet struct {
ShellCommand string
CommitChangesWithoutHook string
ResetTo string
ResetToCustomRef string
EnterRefToResetTo string
ResetSoftTooltip string
ResetMixedTooltip string
ResetHardTooltip string
Expand Down Expand Up @@ -1618,6 +1620,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