mfer/vendor/github.com/pterm/pterm/internal/max_text_width.go

21 lines
418 B
Go

package internal
import (
"strings"
"github.com/gookit/color"
"github.com/mattn/go-runewidth"
)
// GetStringMaxWidth returns the maximum width of a string with multiple lines.
func GetStringMaxWidth(s string) int {
var max int
ss := strings.Split(s, "\n")
for _, s2 := range ss {
if runewidth.StringWidth(color.ClearCode(s2)) > max {
max = runewidth.StringWidth(color.ClearCode(s2))
}
}
return max
}