diff --git a/src/main.rs b/src/main.rs index 0056201..69d5e0d 100644 --- a/src/main.rs +++ b/src/main.rs @@ -126,12 +126,28 @@ impl Drop for TerminalGuard { } fn main() -> Result<(), io::Error> { + let args: Vec = std::env::args().collect(); + + if args.iter().any(|arg| arg == "-h" || arg == "--help") { + println!("Usage: termato [work_minutes] [break_minutes]"); + println!("Defaults: work_minutes = 25, break_minutes = 5"); + return Ok(()); + } + + if args.iter().any(|arg| arg == "-v" || arg == "--version") { + println!("termato version {}", env!("CARGO_PKG_VERSION")); + return Ok(()); + } + let _guard = TerminalGuard::new()?; let backend = CrosstermBackend::new(stdout()); let mut terminal = Terminal::new(backend)?; let font = Toilet::smblock().unwrap(); - let mut termato = Termato::new(1, 1); + + let work_mins = args.get(1).and_then(|s| s.parse().ok()).unwrap_or(25); + let break_mins = args.get(2).and_then(|s| s.parse().ok()).unwrap_or(5); + let mut termato = Termato::new(work_mins, break_mins); let (tx, rx) = mpsc::channel();