go(utils): support to print message with color

pull/7/head
oscar 2022-08-21 17:03:53 +12:00
parent 7b66f95832
commit 77cd6aac14
2 changed files with 87 additions and 0 deletions

65
go/utils/print.go 100644
View File

@ -0,0 +1,65 @@
package utils
import "fmt"
const (
colorReset string = "\033[0m"
colorRed string = "\033[31m"
colorGreen string = "\033[32m"
colorYellow string = "\033[33m"
colorBlue string = "\033[34m"
colorPurple string = "\033[35m"
colorCyan string = "\033[36m"
colorWhite string = "\033[37m"
)
func PrintOutput(message string, output []byte) {
if message != "" {
HighlightPrint(message)
}
fmt.Println(string(output))
}
func HighlightPrint(message string) {
fmt.Println()
fmt.Println(colorBlue, message, colorReset)
}
func SuccessPrint(message string) {
fmt.Println()
fmt.Println(colorGreen, message, colorReset)
}
func ErrorPrint(message string) {
fmt.Println()
fmt.Println(colorRed, message, colorReset)
}
func InputPrint(message string) {
fmt.Println()
fmt.Println(colorYellow, message, colorReset)
}
func MenuPrint() {
InputPrint("Which repository or action do you want to operate:")
// menu := `
// 1. Build Portainer EE/CE All
// 2. Build Portainer EE/CE Frontend
// 3. Build Portainer EE/CE Backend
// 4. Generate Portainer EE/CE JWT
// 5. Run Before Commit [Portainer EE/CE]
// 6. Get Portainer CE API Reference
// 7. Run Before Commit [k8s]
// 8. Build Portainer Agent
// 9. Cleanup Temporary Volume
// `
menu := `1. Portainer EE Repository
2. Portainer CE Repository
3. Portainer Agent Repository
4. Others`
fmt.Println(colorCyan, menu, colorReset)
}

22
go/utils/prompt.go 100644
View File

@ -0,0 +1,22 @@
package utils
import (
"fmt"
"strings"
)
func PromptContinue() bool {
ret := strings.ToLower(prompt("Continue (y/n)"))
if ret == "y" || ret == "yes" {
return true
}
return false
}
func prompt(question string) string {
fmt.Printf("%s %s :%s", colorYellow, question, colorReset)
var ret string
fmt.Scanf("%s", &ret)
return ret
}