diff --git a/v3/pool_win.go b/v3/pool_win.go index 35a6147..954bf8f 100644 --- a/v3/pool_win.go +++ b/v3/pool_win.go @@ -1,3 +1,4 @@ +//go:build windows // +build windows package pb @@ -24,7 +25,7 @@ func (p *Pool) print(first bool) bool { } coords.X = 0 - err = termutil.SetCursorPos(coords) + err = termutil.SetCursorPos(coords) if err != nil { log.Panic(err) } @@ -34,7 +35,11 @@ func (p *Pool) print(first bool) bool { if !bar.IsFinished() { isFinished = false } - out += fmt.Sprintf("\r%s\n", bar.String()) + result := bar.String() + if r := cols - CellCount(result); r > 0 { + result += strings.Repeat(" ", r) + } + out += fmt.Sprintf("\r%s\n", result) } if p.Output != nil { fmt.Fprint(p.Output, out) diff --git a/v3/pool_x.go b/v3/pool_x.go index 4350301..cae9758 100644 --- a/v3/pool_x.go +++ b/v3/pool_x.go @@ -1,3 +1,4 @@ +//go:build linux || darwin || freebsd || netbsd || openbsd || solaris || dragonfly || plan9 || aix // +build linux darwin freebsd netbsd openbsd solaris dragonfly plan9 aix package pb @@ -5,6 +6,7 @@ package pb import ( "fmt" "os" + "strings" "github.com/cheggaaa/pb/v3/termutil" ) @@ -31,7 +33,11 @@ func (p *Pool) print(first bool) bool { isFinished = false } bar.SetWidth(cols) - out += fmt.Sprintf("\r%s\n", bar.String()) + result := bar.String() + if r := cols - CellCount(result); r > 0 { + result += strings.Repeat(" ", r) + } + out += fmt.Sprintf("\r%s\n", result) } if p.Output != nil { fmt.Fprint(p.Output, out)