ref: c3731c4eff12cc9e6636f89128948d86596ad860
dir: /internal/progress/render.go/
package progress
import (
"strings"
"time"
"codeberg.org/lindenii/furgit/internal/utils"
)
func (meter *Meter) render(now time.Time, eol string) {
if meter.delay > 0 && now.Sub(meter.startedAt) < meter.delay && eol == "\r" {
return
}
meter.refreshThroughput(now)
counters := meter.renderCounters()
clear := 0
if len(counters) < meter.lastCounterW {
clear = meter.lastCounterW - len(counters) + 1
}
meter.lastCounterW = len(counters)
line := meter.title + ": " + counters
if clear > 0 {
line += strings.Repeat(" ", clear)
}
line += eol
utils.BestEffortFprintf(meter.writer, "%s", line)
if meter.flush != nil {
_ = meter.flush()
}
}