From 37fdbe5779752cbd6147e194283af5693d9401ef Mon Sep 17 00:00:00 2001 From: Michael Eischer Date: Fri, 5 Jun 2026 14:25:47 +0200 Subject: [PATCH] ui: inline Message into progressPrinter --- internal/ui/message.go | 64 ----------------------------------------- internal/ui/progress.go | 44 +++++++++++++++++++++++----- 2 files changed, 37 insertions(+), 71 deletions(-) delete mode 100644 internal/ui/message.go diff --git a/internal/ui/message.go b/internal/ui/message.go deleted file mode 100644 index d186c3859..000000000 --- a/internal/ui/message.go +++ /dev/null @@ -1,64 +0,0 @@ -package ui - -import ( - "fmt" -) - -// Message reports progress with messages of different verbosity. -type Message struct { - term Terminal - v uint -} - -// NewMessage returns a message progress reporter with underlying terminal -// term. -func NewMessage(term Terminal, verbosity uint) *Message { - return &Message{ - term: term, - v: verbosity, - } -} - -// E reports an error. This message is always printed to stderr. -func (m *Message) E(msg string, args ...interface{}) { - m.term.Error(fmt.Sprintf(msg, args...)) -} - -// S prints a message, this is should only be used for very important messages -// that are not errors. The message is even printed if --quiet is specified. -func (m *Message) S(msg string, args ...interface{}) { - m.term.Print(fmt.Sprintf(msg, args...)) -} - -// PT prints a message if verbosity >= 1 (neither --quiet nor --verbose is specified) -// and stdout points to a terminal. -// This is used for informational messages. -func (m *Message) PT(msg string, args ...interface{}) { - if m.term.OutputIsTerminal() && m.v >= 1 { - m.term.Print(fmt.Sprintf(msg, args...)) - } -} - -// P prints a message if verbosity >= 1 (neither --quiet nor --verbose is specified). -// This is used for normal messages which are not errors. -func (m *Message) P(msg string, args ...interface{}) { - if m.v >= 1 { - m.term.Print(fmt.Sprintf(msg, args...)) - } -} - -// V prints a message if verbosity >= 2 (equivalent to --verbose), this is used for -// verbose messages. -func (m *Message) V(msg string, args ...interface{}) { - if m.v >= 2 { - m.term.Print(fmt.Sprintf(msg, args...)) - } -} - -// VV prints a message if verbosity >= 3 (equivalent to --verbose=2), this is used for -// debug messages. -func (m *Message) VV(msg string, args ...interface{}) { - if m.v >= 3 { - m.term.Print(fmt.Sprintf(msg, args...)) - } -} diff --git a/internal/ui/progress.go b/internal/ui/progress.go index 12388f844..4a9b432e7 100644 --- a/internal/ui/progress.go +++ b/internal/ui/progress.go @@ -54,16 +54,47 @@ func newProgressMax(show bool, max uint64, description string, term Terminal) *p type progressPrinter struct { term Terminal - Message - show bool + v uint } func (t *progressPrinter) NewCounter(description string) *progress.Counter { - return newProgressMax(t.show, 0, description, t.term) + return newProgressMax(t.v > 0, 0, description, t.term) } func (t *progressPrinter) NewCounterTerminalOnly(description string) *progress.Counter { - return newProgressMax(t.show && t.term.OutputIsTerminal(), 0, description, t.term) + return newProgressMax(t.v > 0 && t.term.OutputIsTerminal(), 0, description, t.term) +} + +func (t *progressPrinter) E(msg string, args ...interface{}) { + t.term.Error(fmt.Sprintf(msg, args...)) +} + +func (t *progressPrinter) S(msg string, args ...interface{}) { + t.term.Print(fmt.Sprintf(msg, args...)) +} + +func (t *progressPrinter) PT(msg string, args ...interface{}) { + if t.term.OutputIsTerminal() && t.v >= 1 { + t.term.Print(fmt.Sprintf(msg, args...)) + } +} + +func (t *progressPrinter) P(msg string, args ...interface{}) { + if t.v >= 1 { + t.term.Print(fmt.Sprintf(msg, args...)) + } +} + +func (t *progressPrinter) V(msg string, args ...interface{}) { + if t.v >= 2 { + t.term.Print(fmt.Sprintf(msg, args...)) + } +} + +func (t *progressPrinter) VV(msg string, args ...interface{}) { + if t.v >= 3 { + t.term.Print(fmt.Sprintf(msg, args...)) + } } func NewProgressPrinter(json bool, verbosity uint, term Terminal) progress.Printer { @@ -71,8 +102,7 @@ func NewProgressPrinter(json bool, verbosity uint, term Terminal) progress.Print verbosity = 0 } return &progressPrinter{ - term: term, - Message: *NewMessage(term, verbosity), - show: verbosity > 0, + term: term, + v: verbosity, } }