From bb708f60f2491adf022d6d7aea5a0369f563533b Mon Sep 17 00:00:00 2001 From: RealXLFD Date: Wed, 24 Apr 2024 20:49:59 +0800 Subject: [PATCH] fix spinner.go --- cli/spinner/spinner.go | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) 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), ), ) }