diff --git a/cli/spinner/spinner.go b/cli/spinner/spinner.go index 63fef08..f29cf40 100644 --- a/cli/spinner/spinner.go +++ b/cli/spinner/spinner.go @@ -188,14 +188,17 @@ func (s *Spinner) Finish(info ...string) { } oldLength := utf8.RuneCountInString(s.msg) s.msg = s.joinMsg(info...) - newLength := utf8.RuneCountInString(s.msg) + gap := oldLength - utf8.RuneCountInString(s.msg) s.run = false close(s.msgCh) s.exit.Lock() + if gap < 0 { + gap = 0 + } fmt.Println( str.Join( "\r", s.suffix, green(_SUCCESS), " ", s.msg, - strings.Repeat(" ", oldLength-newLength), + strings.Repeat(" ", gap), ), ) } @@ -207,14 +210,17 @@ func (s *Spinner) Abort(info ...string) { } oldLength := utf8.RuneCountInString(s.msg) s.msg = s.joinMsg(info...) - newLength := utf8.RuneCountInString(s.msg) + gap := oldLength - utf8.RuneCountInString(s.msg) s.run = false close(s.msgCh) s.exit.Lock() + if gap < 0 { + gap = 0 + } fmt.Println( str.Join( "\r", s.suffix, red(_FAILURE), " ", s.msg, - strings.Repeat(" ", oldLength-newLength), + strings.Repeat(" ", gap), ), ) }