1
0
mirror of https://github.com/go-task/task.git synced 2025-02-09 13:47:06 +02:00

fix: print errors in red color

Using the logger package so envs like NO_COLOR and FORCE_COLOR keeps working.
This commit is contained in:
Andrey Nering 2023-05-06 21:05:33 -03:00
parent 6633e65ee6
commit 38341fffbd

View File

@ -15,6 +15,7 @@ import (
"github.com/go-task/task/v3"
"github.com/go-task/task/v3/args"
"github.com/go-task/task/v3/errors"
"github.com/go-task/task/v3/internal/logger"
"github.com/go-task/task/v3/internal/sort"
ver "github.com/go-task/task/v3/internal/version"
"github.com/go-task/task/v3/taskfile"
@ -70,15 +71,22 @@ var flags struct {
func main() {
if err := run(); err != nil {
l := &logger.Logger{
Stdout: os.Stdout,
Stderr: os.Stderr,
Verbose: flags.verbose,
Color: flags.color,
}
if err, ok := err.(*errors.TaskRunError); ok && flags.exitCode {
log.Print(err.Error())
l.Errf(logger.Red, "%v\n", err)
os.Exit(err.TaskExitCode())
}
if err, ok := err.(errors.TaskError); ok {
log.Print(err.Error())
l.Errf(logger.Red, "%v\n", err)
os.Exit(err.Code())
}
log.Print(err.Error())
l.Errf(logger.Red, "%v\n", err)
os.Exit(errors.CodeUnknown)
}
os.Exit(errors.CodeOk)