mirror of
https://github.com/jesseduffield/lazygit.git
synced 2025-07-03 00:57:52 +02:00
31 lines
816 B
Go
31 lines
816 B
Go
package context
|
|
|
|
import (
|
|
"strings"
|
|
|
|
"github.com/jesseduffield/lazygit/pkg/gui/types"
|
|
"github.com/jesseduffield/lazygit/pkg/utils"
|
|
)
|
|
|
|
type ListRenderer struct {
|
|
list types.IList
|
|
getDisplayStrings func(startIdx int, endIdx int) [][]string
|
|
// Alignment for each column. If nil, the default is left alignment
|
|
getColumnAlignments func() []utils.Alignment
|
|
}
|
|
|
|
func (self *ListRenderer) GetList() types.IList {
|
|
return self.list
|
|
}
|
|
|
|
func (self *ListRenderer) renderLines(startIdx int, endIdx int) string {
|
|
var columnAlignments []utils.Alignment
|
|
if self.getColumnAlignments != nil {
|
|
columnAlignments = self.getColumnAlignments()
|
|
}
|
|
lines, _ := utils.RenderDisplayStrings(
|
|
self.getDisplayStrings(startIdx, utils.Min(endIdx, self.list.Len())),
|
|
columnAlignments)
|
|
return strings.Join(lines, "\n")
|
|
}
|