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