From 38341fffbdb9466952e2e6ca75f792befa1f97c4 Mon Sep 17 00:00:00 2001 From: Andrey Nering Date: Sat, 6 May 2023 21:05:33 -0300 Subject: [PATCH] fix: print errors in red color Using the logger package so envs like NO_COLOR and FORCE_COLOR keeps working. --- cmd/task/task.go | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/cmd/task/task.go b/cmd/task/task.go index a2315d3c..09334c96 100644 --- a/cmd/task/task.go +++ b/cmd/task/task.go @@ -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)