in pkg/selector/outputs/tableView.go [141:169]
func maxColWidth(columnsData []*wideColumnsData, columnHeader string) int {
// default max width is the width of the header itself with padding
maxWidth := len(columnHeader) + headerPadding
for _, data := range columnsData {
// get data at given column
structType := reflect.TypeOf(*data)
structValue := reflect.ValueOf(*data)
var underlyingValue interface{}
for i := 0; i < structType.NumField(); i++ {
currField := structType.Field(i)
columnName := currField.Tag.Get(columnTag)
if columnName == columnHeader {
colValue := structValue.Field(i)
underlyingValue = getUnderlyingValue(colValue)
break
}
}
// see if the width of the current column element exceeds
// the previous max width
currWidth := len(fmt.Sprintf("%v", underlyingValue))
if currWidth > maxWidth {
maxWidth = currWidth
}
}
return maxWidth
}