This library instruments io.Reader/io.Writer with progress printer.
See catp for an example.
varpr=&progress.Progress{
Interval: 5*time.Second,
Print: func(status progress.ProgressStatus) {
println(Status(status))
},
}
funccat(filenamestring) {
file, err:=os.Open(filename)
iferr!=nil {
log.Fatal(err)
}
deferfile.Close()
st, err:=file.Stat()
iferr!=nil {
log.Fatalf("failed to read file stats %s: %s", filename, err)
}
cr:=&progress.CountingReader{Reader: file}
pr.Start(st.Size, cr.Bytes, cr.Lines, filename)
deferpr.Stop()
readFile(cr)
}