updates
This commit is contained in:
		
							parent
							
								
									0013cb6d81
								
							
						
					
					
						commit
						0ceb6e092c
					
				
							
								
								
									
										34
									
								
								main.go
									
									
									
									
									
								
							
							
						
						
									
										34
									
								
								main.go
									
									
									
									
									
								
							| @ -27,6 +27,12 @@ func main() { | |||||||
| 		namedStopwatch(args[0]) | 		namedStopwatch(args[0]) | ||||||
| 	} else if len(args) == 2 && (args[0] == "clear" || args[0] == "-c" || args[0] == "--clear") { | 	} else if len(args) == 2 && (args[0] == "clear" || args[0] == "-c" || args[0] == "--clear") { | ||||||
| 		clearStopwatch(args[1]) | 		clearStopwatch(args[1]) | ||||||
|  | 	} else if len(args) == 2 && (args[0] == "timer" || args[0] == "-t" || args[0] == "--timer") { | ||||||
|  | 		d, err := time.ParseDuration(args[1]) | ||||||
|  | 		if err != nil { | ||||||
|  | 			fmt.Println("Error parsing duration:", err) | ||||||
|  | 		} | ||||||
|  | 		timerUI(time.Now().Add(d)) | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @ -125,9 +131,35 @@ func stopwatchUI(startTime time.Time) { | |||||||
| 	} | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | func timerUI(startTime time.Time) { | ||||||
|  | 	stop := make(chan os.Signal, 1) | ||||||
|  | 	signal.Notify(stop, syscall.SIGINT, syscall.SIGTERM) | ||||||
|  | 
 | ||||||
|  | 	go func() { | ||||||
|  | 		<-stop | ||||||
|  | 		os.Exit(0) | ||||||
|  | 	}() | ||||||
|  | 
 | ||||||
|  | 	for { | ||||||
|  | 		elapsed := time.Until(startTime) | ||||||
|  | 		if elapsed.Milliseconds() == 0 { | ||||||
|  | 			break | ||||||
|  | 		} | ||||||
|  | 		fmt.Printf("\r%02dd %02dh %02dm %02ds %03dms", | ||||||
|  | 			elapsed/(24*time.Hour), | ||||||
|  | 			(elapsed%(24*time.Hour))/time.Hour, | ||||||
|  | 			(elapsed%time.Hour)/time.Minute, | ||||||
|  | 			(elapsed%time.Minute)/time.Second, | ||||||
|  | 			(elapsed%time.Second)/time.Millisecond) | ||||||
|  | 		time.Sleep(1 * time.Millisecond) | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | 
 | ||||||
| func printHelp() { | func printHelp() { | ||||||
| 	fmt.Println("Usage:") | 	fmt.Println("Usage:") | ||||||
| 	fmt.Println("  stopwatch             - Start a quick stopwatch") | 	fmt.Println("  stopwatch             - Start a quick stopwatch") | ||||||
| 	fmt.Println("  stopwatch [name]      - Start or view a named stopwatch") | 	fmt.Println("  stopwatch [name]      - Start or view a named stopwatch") | ||||||
| 	fmt.Println("  stopwatch clear [name] - Remove a named stopwatch") | 	fmt.Println("  stopwatch -t [time]   - Start a quick timer") | ||||||
|  | 	fmt.Println("  stopwatch -c [name]   - Remove a named stopwatch") | ||||||
|  | 	fmt.Println("  stopwatch -h          - View help menu") | ||||||
| } | } | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user