go(utils): support to print message with color
This commit is contained in:
parent
7b66f95832
commit
77cd6aac14
65
go/utils/print.go
Normal file
65
go/utils/print.go
Normal 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
Normal file
22
go/utils/prompt.go
Normal 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
|
||||
}
|
Loading…
Reference in New Issue
Block a user