mirror of
https://github.com/jesseduffield/lazygit.git
synced 2025-08-06 11:02:41 +03:00
Move status panel presentation logic into presentation package
This commit is contained in:
@@ -16,7 +16,6 @@ import (
|
|||||||
"github.com/jesseduffield/lazygit/pkg/gui/filetree"
|
"github.com/jesseduffield/lazygit/pkg/gui/filetree"
|
||||||
"github.com/jesseduffield/lazygit/pkg/gui/mergeconflicts"
|
"github.com/jesseduffield/lazygit/pkg/gui/mergeconflicts"
|
||||||
"github.com/jesseduffield/lazygit/pkg/gui/presentation"
|
"github.com/jesseduffield/lazygit/pkg/gui/presentation"
|
||||||
"github.com/jesseduffield/lazygit/pkg/gui/style"
|
|
||||||
"github.com/jesseduffield/lazygit/pkg/gui/types"
|
"github.com/jesseduffield/lazygit/pkg/gui/types"
|
||||||
"github.com/jesseduffield/lazygit/pkg/utils"
|
"github.com/jesseduffield/lazygit/pkg/utils"
|
||||||
)
|
)
|
||||||
@@ -626,24 +625,10 @@ func (self *RefreshHelper) refreshStatus() {
|
|||||||
// need to wait for branches to refresh
|
// need to wait for branches to refresh
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
status := ""
|
|
||||||
|
|
||||||
if currentBranch.IsRealBranch() {
|
|
||||||
status += presentation.ColoredBranchStatus(currentBranch, self.c.Tr) + " "
|
|
||||||
}
|
|
||||||
|
|
||||||
workingTreeState := self.c.Git().Status.WorkingTreeState()
|
workingTreeState := self.c.Git().Status.WorkingTreeState()
|
||||||
if workingTreeState != enums.REBASE_MODE_NONE {
|
|
||||||
status += style.FgYellow.Sprintf("(%s) ", presentation.FormatWorkingTreeStateLower(self.c.Tr, workingTreeState))
|
|
||||||
}
|
|
||||||
|
|
||||||
name := presentation.GetBranchTextStyle(currentBranch.Name).Sprint(currentBranch.Name)
|
|
||||||
repoName := utils.GetCurrentRepoName()
|
|
||||||
mainWorktreeName := self.worktreeHelper.GetMainWorktreeName()
|
mainWorktreeName := self.worktreeHelper.GetMainWorktreeName()
|
||||||
if repoName != mainWorktreeName {
|
status := presentation.FormatStatus(currentBranch, mainWorktreeName, workingTreeState, self.c.Tr)
|
||||||
repoName = fmt.Sprintf("%s(%s)", mainWorktreeName, style.FgBlue.Sprint(repoName))
|
|
||||||
}
|
|
||||||
status += fmt.Sprintf("%s → %s ", repoName, name)
|
|
||||||
|
|
||||||
self.c.SetViewContent(self.c.Views().Status, status)
|
self.c.SetViewContent(self.c.Views().Status, status)
|
||||||
}
|
}
|
||||||
|
32
pkg/gui/presentation/status.go
Normal file
32
pkg/gui/presentation/status.go
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
package presentation
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
|
||||||
|
"github.com/jesseduffield/lazygit/pkg/commands/models"
|
||||||
|
"github.com/jesseduffield/lazygit/pkg/commands/types/enums"
|
||||||
|
"github.com/jesseduffield/lazygit/pkg/gui/style"
|
||||||
|
"github.com/jesseduffield/lazygit/pkg/i18n"
|
||||||
|
"github.com/jesseduffield/lazygit/pkg/utils"
|
||||||
|
)
|
||||||
|
|
||||||
|
func FormatStatus(currentBranch *models.Branch, mainWorktreeName string, workingTreeState enums.RebaseMode, tr *i18n.TranslationSet) string {
|
||||||
|
status := ""
|
||||||
|
|
||||||
|
if currentBranch.IsRealBranch() {
|
||||||
|
status += ColoredBranchStatus(currentBranch, tr) + " "
|
||||||
|
}
|
||||||
|
|
||||||
|
if workingTreeState != enums.REBASE_MODE_NONE {
|
||||||
|
status += style.FgYellow.Sprintf("(%s) ", FormatWorkingTreeStateLower(tr, workingTreeState))
|
||||||
|
}
|
||||||
|
|
||||||
|
name := GetBranchTextStyle(currentBranch.Name).Sprint(currentBranch.Name)
|
||||||
|
repoName := utils.GetCurrentRepoName()
|
||||||
|
if repoName != mainWorktreeName {
|
||||||
|
repoName = fmt.Sprintf("%s(%s)", mainWorktreeName, style.FgCyan.Sprint(repoName))
|
||||||
|
}
|
||||||
|
status += fmt.Sprintf("%s → %s ", repoName, name)
|
||||||
|
|
||||||
|
return status
|
||||||
|
}
|
Reference in New Issue
Block a user