2020-02-25 20:55:36 +11:00
|
|
|
package presentation
|
|
|
|
|
|
|
|
import (
|
2020-09-29 20:28:39 +10:00
|
|
|
"github.com/jesseduffield/lazygit/pkg/commands/models"
|
2022-04-23 10:57:51 +09:00
|
|
|
"github.com/jesseduffield/lazygit/pkg/gui/presentation/icons"
|
2020-03-29 14:34:17 +11:00
|
|
|
"github.com/jesseduffield/lazygit/pkg/theme"
|
2023-07-24 13:06:42 +10:00
|
|
|
"github.com/samber/lo"
|
2020-02-25 20:55:36 +11:00
|
|
|
)
|
|
|
|
|
2020-09-29 18:41:06 +10:00
|
|
|
func GetRemoteBranchListDisplayStrings(branches []*models.RemoteBranch, diffName string) [][]string {
|
2023-07-24 13:06:42 +10:00
|
|
|
return lo.Map(branches, func(branch *models.RemoteBranch, _ int) []string {
|
2022-03-19 19:12:58 +11:00
|
|
|
diffed := branch.FullName() == diffName
|
|
|
|
return getRemoteBranchDisplayStrings(branch, diffed)
|
|
|
|
})
|
2020-02-25 20:55:36 +11:00
|
|
|
}
|
|
|
|
|
|
|
|
// getRemoteBranchDisplayStrings returns the display string of branch
|
2020-09-29 18:41:06 +10:00
|
|
|
func getRemoteBranchDisplayStrings(b *models.RemoteBranch, diffed bool) []string {
|
2021-08-01 16:02:49 +10:00
|
|
|
textStyle := GetBranchTextStyle(b.Name)
|
2020-03-29 14:34:17 +11:00
|
|
|
if diffed {
|
2021-08-01 16:02:49 +10:00
|
|
|
textStyle = theme.DiffTerminalColor
|
2020-03-29 14:34:17 +11:00
|
|
|
}
|
|
|
|
|
2022-04-23 10:57:51 +09:00
|
|
|
res := make([]string, 0, 2)
|
|
|
|
if icons.IsIconEnabled() {
|
|
|
|
res = append(res, textStyle.Sprint(icons.IconForRemoteBranch(b)))
|
|
|
|
}
|
|
|
|
res = append(res, textStyle.Sprint(b.Name))
|
|
|
|
return res
|
2020-02-25 20:55:36 +11:00
|
|
|
}
|