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

21 lines
418 B
Go
Raw Normal View History

2022-02-02 05:36:27 +00:00
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
}