Skip to content

Commit

Permalink
Move status panel presentation logic into presentation package
Browse files Browse the repository at this point in the history
  • Loading branch information
jesseduffield committed Jul 30, 2023
1 parent ab3052f commit 5868750
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 16 deletions.
17 changes: 1 addition & 16 deletions pkg/gui/controllers/helpers/refresh_helper.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ import (
"github.com/jesseduffield/lazygit/pkg/gui/filetree"
"github.com/jesseduffield/lazygit/pkg/gui/mergeconflicts"
"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/utils"
)
Expand Down Expand Up @@ -626,24 +625,10 @@ func (self *RefreshHelper) refreshStatus() {
// need to wait for branches to refresh
return
}
status := ""

if currentBranch.IsRealBranch() {
status += presentation.ColoredBranchStatus(currentBranch, self.c.Tr) + " "
}

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()
if repoName != mainWorktreeName {
repoName = fmt.Sprintf("%s(%s)", mainWorktreeName, style.FgBlue.Sprint(repoName))
}
status += fmt.Sprintf("%s → %s ", repoName, name)
status := presentation.FormatStatus(currentBranch, mainWorktreeName, workingTreeState, self.c.Tr)

self.c.SetViewContent(self.c.Views().Status, status)
}
Expand Down
32 changes: 32 additions & 0 deletions pkg/gui/presentation/status.go
Original file line number Diff line number Diff line change
@@ -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
}

0 comments on commit 5868750

Please sign in to comment.