Skip to content
This repository has been archived by the owner on Jul 30, 2023. It is now read-only.

Commit

Permalink
Merge pull request #1 from denysvitali/feature/colorize-only-ttys
Browse files Browse the repository at this point in the history
feat: colorize only ttys
  • Loading branch information
hidetatz committed Oct 11, 2020
2 parents b765507 + 1ddd5f5 commit ba1cd2c
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 3 deletions.
23 changes: 20 additions & 3 deletions command/runner.go
Expand Up @@ -2,6 +2,7 @@ package command

import (
"bytes"
"github.com/mattn/go-isatty"
"io"
"os"
"os/exec"
Expand All @@ -27,16 +28,32 @@ func Run(args []string) error {
return err
}

fd := os.Stdout.Fd()
colorize := isatty.IsTerminal(fd) || isatty.IsCygwinTerminal(fd)

var bufout, buferr bytes.Buffer
bufoutReader := io.TeeReader(outReader, &bufout)
buferrReader := io.TeeReader(errReader, &buferr)
var bufoutReader io.Reader
var buferrReader io.Reader

if !colorize {
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
} else {
bufoutReader = io.TeeReader(outReader, &bufout)
buferrReader = io.TeeReader(errReader, &buferr)
}

if err = cmd.Start(); err != nil {
return err
}

subcommandInfo, ok := kubectl.InspectSubcommandInfo(args)
if !colorize {
cmd.Wait()
return nil
}

subcommandInfo, ok := kubectl.InspectSubcommandInfo(args)

wg := &sync.WaitGroup{}

switch {
Expand Down
1 change: 1 addition & 0 deletions go.mod
Expand Up @@ -7,5 +7,6 @@ require (
github.com/goccy/go-yaml v1.8.2
github.com/hokaccha/go-prettyjson v0.0.0-20190818114111-108c894c2c0e
github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de
github.com/mattn/go-isatty v0.0.11
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 // indirect
)

0 comments on commit ba1cd2c

Please sign in to comment.