termstatus: Do formatting in Message, not Terminal

This commit is contained in:
greatroar
2024-05-21 12:15:22 +02:00
parent 66d03c797e
commit 46f04bc5f0
2 changed files with 9 additions and 17 deletions

View File

@@ -1,6 +1,10 @@
package ui
import "github.com/restic/restic/internal/ui/termstatus"
import (
"fmt"
"github.com/restic/restic/internal/ui/termstatus"
)
// Message reports progress with messages of different verbosity.
type Message struct {
@@ -19,27 +23,27 @@ func NewMessage(term *termstatus.Terminal, verbosity uint) *Message {
// E reports an error
func (m *Message) E(msg string, args ...interface{}) {
m.term.Errorf(msg, args...)
m.term.Error(fmt.Sprintf(msg, args...))
}
// P prints a message if verbosity >= 1, this is used for normal messages which
// are not errors.
func (m *Message) P(msg string, args ...interface{}) {
if m.v >= 1 {
m.term.Printf(msg, args...)
m.term.Print(fmt.Sprintf(msg, args...))
}
}
// V prints a message if verbosity >= 2, this is used for verbose messages.
func (m *Message) V(msg string, args ...interface{}) {
if m.v >= 2 {
m.term.Printf(msg, args...)
m.term.Print(fmt.Sprintf(msg, args...))
}
}
// VV prints a message if verbosity >= 3, this is used for debug messages.
func (m *Message) VV(msg string, args ...interface{}) {
if m.v >= 3 {
m.term.Printf(msg, args...)
m.term.Print(fmt.Sprintf(msg, args...))
}
}