aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrank Szendzielarz <33515470+FrankSzendzielarz@users.noreply.github.com>2019-07-25 19:46:42 +0800
committerPéter Szilágyi <peterke@gmail.com>2019-07-25 19:46:42 +0800
commitf34a3a68054eaad15d76c871eeabfa854df47dae (patch)
treede247b7e0ba8a9bdb54eb22e3ca0d9e5eae6205b
parent8812c4d3f9f57edff6706608b93a1c5567e57d9f (diff)
downloadgo-tangerine-f34a3a68054eaad15d76c871eeabfa854df47dae.tar
go-tangerine-f34a3a68054eaad15d76c871eeabfa854df47dae.tar.gz
go-tangerine-f34a3a68054eaad15d76c871eeabfa854df47dae.tar.bz2
go-tangerine-f34a3a68054eaad15d76c871eeabfa854df47dae.tar.lz
go-tangerine-f34a3a68054eaad15d76c871eeabfa854df47dae.tar.xz
go-tangerine-f34a3a68054eaad15d76c871eeabfa854df47dae.tar.zst
go-tangerine-f34a3a68054eaad15d76c871eeabfa854df47dae.zip
cmd/clef: fix colored output on Windows (#19889)
* Fixes #19861 - coloured output * cmd/clef: minor formatting nit * cmd/clef: bleah, stupid github editor
-rw-r--r--cmd/clef/main.go10
1 files changed, 9 insertions, 1 deletions
diff --git a/cmd/clef/main.go b/cmd/clef/main.go
index 85ec5647c..5567fb8f5 100644
--- a/cmd/clef/main.go
+++ b/cmd/clef/main.go
@@ -53,6 +53,8 @@ import (
"github.com/ethereum/go-ethereum/signer/fourbyte"
"github.com/ethereum/go-ethereum/signer/rules"
"github.com/ethereum/go-ethereum/signer/storage"
+ colorable "github.com/mattn/go-colorable"
+ "github.com/mattn/go-isatty"
"gopkg.in/urfave/cli.v1"
)
@@ -392,7 +394,13 @@ func initialize(c *cli.Context) error {
}
fmt.Println()
}
- log.Root().SetHandler(log.LvlFilterHandler(log.Lvl(c.Int(logLevelFlag.Name)), log.StreamHandler(logOutput, log.TerminalFormat(true))))
+ usecolor := (isatty.IsTerminal(os.Stderr.Fd()) || isatty.IsCygwinTerminal(os.Stderr.Fd())) && os.Getenv("TERM") != "dumb"
+ output := io.Writer(logOutput)
+ if usecolor {
+ output = colorable.NewColorable(logOutput)
+ }
+ log.Root().SetHandler(log.LvlFilterHandler(log.Lvl(c.Int(logLevelFlag.Name)), log.StreamHandler(output, log.TerminalFormat(usecolor))))
+
return nil
}