diff --git a/go.mod b/go.mod index 87f0035fa..04f2d28c5 100644 --- a/go.mod +++ b/go.mod @@ -16,7 +16,7 @@ require ( github.com/creack/pty v1.1.24 github.com/davecgh/go-spew v1.1.1 github.com/distribution/reference v0.6.0 - github.com/docker/cli v29.0.0+incompatible + github.com/docker/cli v29.0.1+incompatible github.com/docker/cli-docs-tool v0.10.0 github.com/docker/docker v28.5.2+incompatible github.com/docker/go-units v0.5.0 diff --git a/go.sum b/go.sum index 0a92dc03c..c08cdcaf7 100644 --- a/go.sum +++ b/go.sum @@ -98,8 +98,8 @@ github.com/distribution/reference v0.6.0 h1:0IXCQ5g4/QMHHkarYzh5l+u8T3t73zM5Qvfr github.com/distribution/reference v0.6.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E= github.com/dlclark/regexp2 v1.11.0 h1:G/nrcoOa7ZXlpoa/91N3X7mM3r8eIlMBBJZvsz/mxKI= github.com/dlclark/regexp2 v1.11.0/go.mod h1:DHkYz0B9wPfa6wondMfaivmHpzrQ3v9q8cnmRbL6yW8= -github.com/docker/cli v29.0.0+incompatible h1:KgsN2RUFMNM8wChxryicn4p46BdQWpXOA1XLGBGPGAw= -github.com/docker/cli v29.0.0+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= +github.com/docker/cli v29.0.1+incompatible h1:EnvMEAR9Ro5xQEKbMitlabj5vCDY0vwcDyY/Lsow7FQ= +github.com/docker/cli v29.0.1+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/cli-docs-tool v0.10.0 h1:bOD6mKynPQgojQi3s2jgcUWGp/Ebqy1SeCr9VfKQLLU= github.com/docker/cli-docs-tool v0.10.0/go.mod h1:5EM5zPnT2E7yCLERZmrDA234Vwn09fzRHP4aX1qwp1U= github.com/docker/distribution v2.8.3+incompatible h1:AtKxIZ36LoNK51+Z6RpzLpddBirtxJnzDrHLEKxTAYk= diff --git a/vendor/github.com/docker/cli/internal/tui/note.go b/vendor/github.com/docker/cli/internal/tui/note.go index 0d375c7ae..759d8d0e2 100644 --- a/vendor/github.com/docker/cli/internal/tui/note.go +++ b/vendor/github.com/docker/cli/internal/tui/note.go @@ -28,7 +28,7 @@ func withHeader(header Str) noteOptions { } func (o Output) printNoteWithOptions(format string, args []any, opts ...noteOptions) { - if o.isTerminal { + if !o.noColor { // TODO: Handle all flags format = strings.ReplaceAll(format, "--platform", ColorFlag.Apply("--platform")) } @@ -51,7 +51,7 @@ func (o Output) printNoteWithOptions(format string, args []any, opts ...noteOpti } l := line - if o.isTerminal { + if !o.noColor { l = aec.Italic.Apply(l) } _, _ = fmt.Fprintln(o, l) diff --git a/vendor/github.com/docker/cli/internal/tui/output.go b/vendor/github.com/docker/cli/internal/tui/output.go index 2d29bda42..34bc13a3a 100644 --- a/vendor/github.com/docker/cli/internal/tui/output.go +++ b/vendor/github.com/docker/cli/internal/tui/output.go @@ -5,6 +5,7 @@ package tui import ( "fmt" + "os" "github.com/docker/cli/cli/streams" "github.com/morikuni/aec" @@ -12,7 +13,7 @@ import ( type Output struct { *streams.Out - isTerminal bool + noColor bool } type terminalPrintable interface { @@ -20,24 +21,28 @@ type terminalPrintable interface { } func NewOutput(out *streams.Out) Output { + noColor := !out.IsTerminal() + if os.Getenv("NO_COLOR") != "" { + noColor = true + } return Output{ - Out: out, - isTerminal: out.IsTerminal(), + Out: out, + noColor: noColor, } } func (o Output) Color(clr aec.ANSI) aec.ANSI { - if o.isTerminal { - return clr + if o.noColor { + return ColorNone } - return ColorNone + return clr } func (o Output) Sprint(all ...any) string { var out []any for _, p := range all { if s, ok := p.(terminalPrintable); ok { - out = append(out, s.String(o.isTerminal)) + out = append(out, s.String(!o.noColor)) } else { out = append(out, p) } @@ -47,7 +52,7 @@ func (o Output) Sprint(all ...any) string { func (o Output) PrintlnWithColor(clr aec.ANSI, args ...any) { msg := o.Sprint(args...) - if o.isTerminal { + if !o.noColor { msg = clr.Apply(msg) } _, _ = fmt.Fprintln(o.Out, msg) diff --git a/vendor/modules.txt b/vendor/modules.txt index b25581eb9..29ebeb8d4 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -219,7 +219,7 @@ github.com/davecgh/go-spew/spew # github.com/distribution/reference v0.6.0 ## explicit; go 1.20 github.com/distribution/reference -# github.com/docker/cli v29.0.0+incompatible +# github.com/docker/cli v29.0.1+incompatible ## explicit github.com/docker/cli/cli github.com/docker/cli/cli-plugins/metadata