2025-11-03 18:25:04 +00:00
|
|
|
|
2025-11-02 16:34:45 +00:00
|
|
|
package ui
|
|
|
|
|
|
|
|
|
|
import "github.com/schollz/progressbar/v3"
|
|
|
|
|
|
2025-11-02 18:11:04 +00:00
|
|
|
type progressWriter struct {
|
2025-11-02 16:34:45 +00:00
|
|
|
bar *progressbar.ProgressBar
|
|
|
|
|
}
|
|
|
|
|
|
2025-11-02 18:11:04 +00:00
|
|
|
func NewProgressWriter(bar *progressbar.ProgressBar) *progressWriter {
|
|
|
|
|
return &progressWriter{bar: bar}
|
2025-11-02 16:34:45 +00:00
|
|
|
}
|
|
|
|
|
|
2025-11-02 18:11:04 +00:00
|
|
|
func (pw *progressWriter) Write(p []byte) (n int, err error) {
|
2025-11-02 16:48:50 +00:00
|
|
|
if pw == nil || pw.bar == nil {
|
|
|
|
|
return len(p), nil
|
|
|
|
|
}
|
2025-11-02 16:34:45 +00:00
|
|
|
s := string(p)
|
|
|
|
|
pw.bar.Describe(s)
|
|
|
|
|
return len(p), nil
|
|
|
|
|
}
|