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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user