2020-02-25 11:55:36 +02:00
|
|
|
package presentation
|
|
|
|
|
|
|
|
import (
|
2022-03-19 10:12:58 +02:00
|
|
|
"github.com/jesseduffield/generics/slices"
|
2020-09-29 12:28:39 +02:00
|
|
|
"github.com/jesseduffield/lazygit/pkg/commands/models"
|
2022-04-23 04:42:24 +02:00
|
|
|
"github.com/jesseduffield/lazygit/pkg/gui/presentation/icons"
|
2021-07-27 15:00:37 +02:00
|
|
|
"github.com/jesseduffield/lazygit/pkg/gui/style"
|
2020-03-29 05:34:17 +02:00
|
|
|
"github.com/jesseduffield/lazygit/pkg/theme"
|
2020-02-25 11:55:36 +02:00
|
|
|
)
|
|
|
|
|
2020-09-29 10:41:06 +02:00
|
|
|
func GetRemoteListDisplayStrings(remotes []*models.Remote, diffName string) [][]string {
|
2022-03-19 10:12:58 +02:00
|
|
|
return slices.Map(remotes, func(remote *models.Remote) []string {
|
|
|
|
diffed := remote.Name == diffName
|
|
|
|
return getRemoteDisplayStrings(remote, diffed)
|
|
|
|
})
|
2020-02-25 11:55:36 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
// getRemoteDisplayStrings returns the display string of branch
|
2020-09-29 10:41:06 +02:00
|
|
|
func getRemoteDisplayStrings(r *models.Remote, diffed bool) []string {
|
2020-03-27 13:53:50 +02:00
|
|
|
branchCount := len(r.Branches)
|
|
|
|
|
2021-08-01 08:02:49 +02:00
|
|
|
textStyle := theme.DefaultTextColor
|
2020-03-29 05:34:17 +02:00
|
|
|
if diffed {
|
2021-08-01 08:02:49 +02:00
|
|
|
textStyle = theme.DiffTerminalColor
|
2020-03-29 05:34:17 +02:00
|
|
|
}
|
|
|
|
|
2022-04-23 04:42:24 +02:00
|
|
|
res := make([]string, 0, 3)
|
|
|
|
if icons.IsIconEnabled() {
|
|
|
|
res = append(res, textStyle.Sprint(icons.IconForRemote(r)))
|
|
|
|
}
|
|
|
|
res = append(res, textStyle.Sprint(r.Name), style.FgBlue.Sprintf("%d branches", branchCount))
|
|
|
|
return res
|
2020-02-25 11:55:36 +02:00
|
|
|
}
|