1
0
mirror of https://github.com/jesseduffield/lazygit.git synced 2025-10-30 23:57:43 +02:00

Show "Log (x of y)" in the title bar when there is more than one branch log command (#4943)

Addresses #4939.
This commit is contained in:
Stefan Haller
2025-10-10 12:51:54 +02:00
committed by GitHub
3 changed files with 20 additions and 4 deletions

View File

@@ -13,7 +13,7 @@ import (
type BranchCommands struct {
*GitCommon
allBranchesLogCmdIndex uint8 // keeps track of current all branches log command
allBranchesLogCmdIndex int // keeps track of current all branches log command
}
func NewBranchCommands(gitCommon *GitCommon) *BranchCommands {
@@ -278,6 +278,10 @@ func (self *BranchCommands) allBranchesLogCandidates() []string {
func (self *BranchCommands) AllBranchesLogCmdObj() *oscommands.CmdObj {
candidates := self.allBranchesLogCandidates()
if self.allBranchesLogCmdIndex >= len(candidates) {
self.allBranchesLogCmdIndex = 0
}
i := self.allBranchesLogCmdIndex
return self.cmd.New(str.ToArgv(candidates[i])).DontLog()
}
@@ -285,7 +289,13 @@ func (self *BranchCommands) AllBranchesLogCmdObj() *oscommands.CmdObj {
func (self *BranchCommands) RotateAllBranchesLogIdx() {
n := len(self.allBranchesLogCandidates())
i := self.allBranchesLogCmdIndex
self.allBranchesLogCmdIndex = uint8((int(i) + 1) % n)
self.allBranchesLogCmdIndex = (i + 1) % n
}
func (self *BranchCommands) GetAllBranchesLogIdxAndCount() (int, int) {
n := len(self.allBranchesLogCandidates())
i := self.allBranchesLogCmdIndex
return i, n
}
func (self *BranchCommands) IsBranchMerged(branch *models.Branch, mainBranches *MainBranches) (bool, error) {

View File

@@ -181,10 +181,14 @@ func (self *StatusController) showAllBranchLogs() {
cmdObj := self.c.Git().Branch.AllBranchesLogCmdObj()
task := types.NewRunPtyTask(cmdObj.GetCmd())
title := self.c.Tr.LogTitle
if i, n := self.c.Git().Branch.GetAllBranchesLogIdxAndCount(); n > 1 {
title = fmt.Sprintf(self.c.Tr.LogXOfYTitle, i+1, n)
}
self.c.RenderToMainViews(types.RefreshMainOpts{
Pair: self.c.MainViewPairs().Normal,
Main: &types.ViewUpdateOpts{
Title: self.c.Tr.LogTitle,
Title: title,
Task: task,
},
})
@@ -196,7 +200,7 @@ func (self *StatusController) switchToOrRotateAllBranchesLogs() {
// A bit of a hack to ensure we only rotate to the next branch log command
// if we currently are looking at a branch log. Otherwise, we should just show
// the current index (if we are coming from the dashboard).
if self.c.Views().Main.Title == self.c.Tr.LogTitle {
if self.c.Views().Main.Title != self.c.Tr.StatusTitle {
self.c.Git().Branch.RotateAllBranchesLogIdx()
}
self.showAllBranchLogs()

View File

@@ -30,6 +30,7 @@ type TranslationSet struct {
RegularMergeTooltip string
NormalTitle string
LogTitle string
LogXOfYTitle string
CommitSummary string
CredentialsUsername string
CredentialsPassword string
@@ -1110,6 +1111,7 @@ func EnglishTranslationSet() *TranslationSet {
MergingTitle: "Main panel (merging)",
NormalTitle: "Main panel (normal)",
LogTitle: "Log",
LogXOfYTitle: "Log (%d of %d)",
CommitSummary: "Commit summary",
CredentialsUsername: "Username",
CredentialsPassword: "Password",