1
0
mirror of https://github.com/jesseduffield/lazygit.git synced 2025-11-25 22:32:13 +02:00

Show context-specific labels for the global <esc> binding

WHen several modes are active at the same time, it isn't totally obvious which
one will be cancelled first, so show this in the status bar.
This commit is contained in:
Stefan Haller
2025-08-12 17:10:34 +02:00
parent d8ea83704f
commit a8e44dcea6
4 changed files with 81 additions and 4 deletions

View File

@@ -39,9 +39,10 @@ func NewModeHelper(
}
type ModeStatus struct {
IsActive func() bool
InfoLabel func() string
Reset func() error
IsActive func() bool
InfoLabel func() string
CancelLabel func() string
Reset func() error
}
func (self *ModeHelper) Statuses() []ModeStatus {
@@ -58,6 +59,9 @@ func (self *ModeHelper) Statuses() []ModeStatus {
style.FgMagenta,
)
},
CancelLabel: func() string {
return self.c.Tr.CancelDiffingMode
},
Reset: self.diffHelper.ExitDiffMode,
},
{
@@ -65,6 +69,9 @@ func (self *ModeHelper) Statuses() []ModeStatus {
InfoLabel: func() string {
return self.withResetButton(self.c.Tr.BuildingPatch, style.FgYellow.SetBold())
},
CancelLabel: func() string {
return self.c.Tr.ExitCustomPatchBuilder
},
Reset: self.patchBuildingHelper.Reset,
},
{
@@ -80,6 +87,9 @@ func (self *ModeHelper) Statuses() []ModeStatus {
style.FgRed,
)
},
CancelLabel: func() string {
return self.c.Tr.ExitFilterMode
},
Reset: self.ExitFilterMode,
},
{
@@ -90,6 +100,9 @@ func (self *ModeHelper) Statuses() []ModeStatus {
style.FgCyan,
)
},
CancelLabel: func() string {
return self.c.Tr.CancelMarkedBaseCommit
},
Reset: self.mergeAndRebaseHelper.ResetMarkedBaseCommit,
},
{
@@ -110,6 +123,9 @@ func (self *ModeHelper) Statuses() []ModeStatus {
style.FgCyan,
)
},
CancelLabel: func() string {
return self.c.Tr.ResetCherryPickShort
},
Reset: self.cherryPickHelper.Reset,
},
{
@@ -122,6 +138,9 @@ func (self *ModeHelper) Statuses() []ModeStatus {
workingTreeState.Title(self.c.Tr), style.FgYellow,
)
},
CancelLabel: func() string {
return fmt.Sprintf(self.c.Tr.AbortTitle, self.c.Git().Status.WorkingTreeState().CommandName())
},
Reset: self.mergeAndRebaseHelper.AbortMergeOrRebaseWithConfirm,
},
{
@@ -131,6 +150,9 @@ func (self *ModeHelper) Statuses() []ModeStatus {
InfoLabel: func() string {
return self.withResetButton(self.c.Tr.Bisect.Bisecting, style.FgGreen)
},
CancelLabel: func() string {
return self.c.Tr.Actions.ResetBisect
},
Reset: self.bisectHelper.Reset,
},
}