This commit is contained in:
Ilya Kiselev 2026-09-09 18:23:04 +09:00 committed by GitHub
commit 8be7ccd2ee
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 29 additions and 4 deletions

View file

@ -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 })

View file

@ -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,
}
}
@ -295,6 +298,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,

View file

@ -515,6 +515,8 @@ type TranslationSet struct {
ShellCommand string
CommitChangesWithoutHook string
ResetTo string
ResetToCustomRef string
EnterRefToResetTo string
ResetSoftTooltip string
ResetMixedTooltip string
ResetHardTooltip string
@ -1684,6 +1686,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).",