diff --git a/cmd/gold/main.go b/cmd/gold/main.go index 1837a82..2ab8192 100644 --- a/cmd/gold/main.go +++ b/cmd/gold/main.go @@ -10,6 +10,7 @@ import ( "os" "strings" + "github.com/mattn/go-isatty" "github.com/spf13/cobra" "github.com/charmbracelet/gold" @@ -80,12 +81,16 @@ func execute(cmd *cobra.Command, args []string) error { return err } defer in.Close() - b, _ := ioutil.ReadAll(in) - r, err := gold.NewTermRenderer(style) - if err != nil { - return err + + r := gold.NewPlainTermRenderer() + if isatty.IsTerminal(os.Stdout.Fd()) { + r, err = gold.NewTermRenderer(style) + if err != nil { + return err + } } + out := r.RenderBytes(b) fmt.Printf("%s", string(out)) return nil diff --git a/go.mod b/go.mod index 75a6a38..034b419 100644 --- a/go.mod +++ b/go.mod @@ -4,6 +4,7 @@ go 1.13 require ( github.com/logrusorgru/aurora v0.0.0-20191017060258-dc85c304c434 + github.com/mattn/go-isatty v0.0.10 github.com/shurcooL/sanitized_anchor_name v1.0.0 // indirect github.com/spf13/cobra v0.0.5 gopkg.in/russross/blackfriday.v2 v2.0.0 diff --git a/go.sum b/go.sum index 0f3396b..88608a7 100644 --- a/go.sum +++ b/go.sum @@ -11,6 +11,8 @@ github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANyt github.com/logrusorgru/aurora v0.0.0-20191017060258-dc85c304c434 h1:im9kkmH0WWwxzegiv18gSUJbuXR9y028rXrWuPp6Jug= github.com/logrusorgru/aurora v0.0.0-20191017060258-dc85c304c434/go.mod h1:7rIyQOR62GCctdiQpZ/zOJlFyk6y+94wXzv6RNZgaR4= github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= +github.com/mattn/go-isatty v0.0.10 h1:qxFzApOv4WsAL965uUPIsXzAKCZxN2p9UqdhFS4ZW10= +github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= @@ -31,6 +33,8 @@ github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljT github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20191008105621-543471e840be h1:QAcqgptGM8IQBC9K/RC4o+O9YmqEm0diQn9QmZw/0mU= +golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/russross/blackfriday.v2 v2.0.0 h1:+FlnIV8DSQnT7NZ43hcVKcdJdzZoeCmJj4Ql8gq5keA= diff --git a/gold.go b/gold.go index 284ee65..7d84822 100644 --- a/gold.go +++ b/gold.go @@ -86,6 +86,10 @@ func RenderBytes(in []byte, stylePath string) ([]byte, error) { return r.RenderBytes(in), nil } +func NewPlainTermRenderer() *TermRenderer { + return &TermRenderer{} +} + func NewTermRenderer(stylePath string) (*TermRenderer, error) { if stylePath == "" { return NewTermRendererFromBytes([]byte("{}"))