feat: add commandline

- add optional arguments for break and work time
- add flags for help and version
This commit is contained in:
Stevan Freeborn
2026-07-22 22:48:27 -05:00
parent 0a533b1757
commit e2e8c323a6
+17 -1
View File
@@ -126,12 +126,28 @@ impl Drop for TerminalGuard {
} }
fn main() -> Result<(), io::Error> { fn main() -> Result<(), io::Error> {
let args: Vec<String> = 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 _guard = TerminalGuard::new()?;
let backend = CrosstermBackend::new(stdout()); let backend = CrosstermBackend::new(stdout());
let mut terminal = Terminal::new(backend)?; let mut terminal = Terminal::new(backend)?;
let font = Toilet::smblock().unwrap(); 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(); let (tx, rx) = mpsc::channel();