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) }