28 lines
450 B
Go
28 lines
450 B
Go
package util
|
|
|
|
import (
|
|
"fmt"
|
|
"io"
|
|
"os"
|
|
|
|
"git.zervo.org/zervo/worktime/internal/cli/color"
|
|
)
|
|
|
|
type ErrorWriter struct {
|
|
w io.Writer
|
|
color string
|
|
reset string
|
|
}
|
|
|
|
func NewErrorWriter() *ErrorWriter {
|
|
return &ErrorWriter{
|
|
w: os.Stderr,
|
|
color: color.Red,
|
|
reset: color.Reset,
|
|
}
|
|
}
|
|
|
|
func (ew *ErrorWriter) Write(p []byte) (n int, err error) {
|
|
colored := fmt.Appendf(nil, "%s%s%s", ew.color, p, ew.reset)
|
|
return ew.w.Write(colored)
|
|
}
|