GitRepositoryManager/app/console_output.go

62 lines
1.3 KiB
Go

package app
import (
"fmt"
)
const (
colorReset = "\033[0m"
colorRed = "\033[31m"
colorGreen = "\033[32m"
colorYellow = "\033[33m"
colorBlue = "\033[34m"
)
type ConsoleOutput struct {
Color bool
}
func (co ConsoleOutput) ErrorfMsg(format string, a ...interface{}) {
msg := fmt.Sprintf(format, a...)
if co.Color {
msg = fmt.Sprintf("%vError:%v %v", colorRed, colorReset, msg)
} else {
msg = fmt.Sprintf("Error: %v", msg)
}
fmt.Println(msg)
}
func (co ConsoleOutput) InfoFMsg(format string, a ...interface{}) {
msg := fmt.Sprintf(format, a...)
if co.Color {
msg = fmt.Sprintf("%vInfo:%v %v", colorBlue, colorReset, msg)
} else {
msg = fmt.Sprintf("Info: %v", msg)
}
fmt.Println(msg)
}
func (co ConsoleOutput) UnchangedStatusF(format string, a ...interface{}) {
msg := fmt.Sprintf(format, a...)
if co.Color {
msg = fmt.Sprintf("%v%v", colorGreen, msg)
}
fmt.Println(msg)
}
func (co ConsoleOutput) ChangedStatusF(format string, a ...interface{}) {
msg := fmt.Sprintf(format, a...)
if co.Color {
msg = fmt.Sprintf("%v%v", colorYellow, msg)
}
fmt.Println(msg)
}
func (co ConsoleOutput) ErrorStatusF(format string, a ...interface{}) {
msg := fmt.Sprintf(format, a...)
if co.Color {
msg = fmt.Sprintf("%v%v", colorRed, msg)
}
fmt.Println(msg)
}