Skip to content

Commit f34a3a6

Browse files
FrankSzendzielarzkaralabe
authored andcommitted
cmd/clef: fix colored output on Windows (#19889)
* Fixes #19861 - coloured output * cmd/clef: minor formatting nit * cmd/clef: bleah, stupid github editor
1 parent 8812c4d commit f34a3a6

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

cmd/clef/main.go

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,8 @@ import (
5353
"github.com/ethereum/go-ethereum/signer/fourbyte"
5454
"github.com/ethereum/go-ethereum/signer/rules"
5555
"github.com/ethereum/go-ethereum/signer/storage"
56+
colorable "github.com/mattn/go-colorable"
57+
"github.com/mattn/go-isatty"
5658
"gopkg.in/urfave/cli.v1"
5759
)
5860

@@ -392,7 +394,13 @@ func initialize(c *cli.Context) error {
392394
}
393395
fmt.Println()
394396
}
395-
log.Root().SetHandler(log.LvlFilterHandler(log.Lvl(c.Int(logLevelFlag.Name)), log.StreamHandler(logOutput, log.TerminalFormat(true))))
397+
usecolor := (isatty.IsTerminal(os.Stderr.Fd()) || isatty.IsCygwinTerminal(os.Stderr.Fd())) && os.Getenv("TERM") != "dumb"
398+
output := io.Writer(logOutput)
399+
if usecolor {
400+
output = colorable.NewColorable(logOutput)
401+
}
402+
log.Root().SetHandler(log.LvlFilterHandler(log.Lvl(c.Int(logLevelFlag.Name)), log.StreamHandler(output, log.TerminalFormat(usecolor))))
403+
396404
return nil
397405
}
398406

0 commit comments

Comments
 (0)