Refactor termstatus.Term.{Print,Error} methods

This commit is contained in:
greatroar 2020-10-17 20:20:18 +02:00
parent 7c0b6a82db
commit 863a590a81
1 changed files with 8 additions and 12 deletions

View File

@ -234,19 +234,23 @@ func (t *Terminal) undoStatus(lines int) {
}
}
// Print writes a line to the terminal.
func (t *Terminal) Print(line string) {
func (t *Terminal) print(line string, isErr bool) {
// make sure the line ends with a line break
if line[len(line)-1] != '\n' {
line += "\n"
}
select {
case t.msg <- message{line: line}:
case t.msg <- message{line: line, err: isErr}:
case <-t.closed:
}
}
// Print writes a line to the terminal.
func (t *Terminal) Print(line string) {
t.print(line, false)
}
// Printf uses fmt.Sprintf to write a line to the terminal.
func (t *Terminal) Printf(msg string, args ...interface{}) {
s := fmt.Sprintf(msg, args...)
@ -255,15 +259,7 @@ func (t *Terminal) Printf(msg string, args ...interface{}) {
// Error writes an error to the terminal.
func (t *Terminal) Error(line string) {
// make sure the line ends with a line break
if line[len(line)-1] != '\n' {
line += "\n"
}
select {
case t.msg <- message{line: line, err: true}:
case <-t.closed:
}
t.print(line, true)
}
// Errorf uses fmt.Sprintf to write an error line to the terminal.