feat: add commandline
- add optional arguments for break and work time - add flags for help and version
This commit is contained in:
+17
-1
@@ -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();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user