Add --alert flag to start subcommand
This commit is contained in:
parent
01d92aaede
commit
16e3f73616
26
src/main.rs
26
src/main.rs
|
@ -1,9 +1,10 @@
|
||||||
use async_std::task;
|
use async_std::task;
|
||||||
use clap::{App, ArgMatches, SubCommand};
|
use clap::{App, Arg, ArgMatches, SubCommand};
|
||||||
use crossterm::{cursor, terminal::Clear, terminal::ClearType, QueueableCommand};
|
use crossterm::{cursor, terminal::Clear, terminal::ClearType, QueueableCommand};
|
||||||
use domasi::pomodoro::{Alert, Clock, Config, Status};
|
use domasi::pomodoro::{Alert, Clock, Config, Status};
|
||||||
use domasi::Pomodoro;
|
use domasi::Pomodoro;
|
||||||
use std::io::{stdout, Write};
|
use std::io::{stdout, Write};
|
||||||
|
use std::path::{Path, PathBuf};
|
||||||
|
|
||||||
use std::sync::mpsc::{channel, Receiver, Sender};
|
use std::sync::mpsc::{channel, Receiver, Sender};
|
||||||
use std::thread;
|
use std::thread;
|
||||||
|
@ -13,7 +14,18 @@ fn main() {
|
||||||
.version("0.1.0")
|
.version("0.1.0")
|
||||||
.author("paoda <musukarekai@gmail.com>")
|
.author("paoda <musukarekai@gmail.com>")
|
||||||
.about("Yet another pomodoro timer.")
|
.about("Yet another pomodoro timer.")
|
||||||
.subcommand(SubCommand::with_name("start").about("Start the Pomodoro Timer"))
|
.subcommand(
|
||||||
|
SubCommand::with_name("start")
|
||||||
|
.about("Start the Pomodoro Timer")
|
||||||
|
.arg(
|
||||||
|
Arg::with_name("alert")
|
||||||
|
.short("a")
|
||||||
|
.long("alert")
|
||||||
|
.value_name("FILE")
|
||||||
|
.takes_value(true)
|
||||||
|
.help("Aloud Sound. (Supports WAV, MP3, Vorbis, FLAC)"),
|
||||||
|
),
|
||||||
|
)
|
||||||
.get_matches();
|
.get_matches();
|
||||||
|
|
||||||
// match matches.subcommand() {
|
// match matches.subcommand() {
|
||||||
|
@ -26,10 +38,16 @@ fn main() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn start(_args: &ArgMatches) {
|
pub fn start(args: &ArgMatches) {
|
||||||
let config = Config::default();
|
let config = Config::default();
|
||||||
|
|
||||||
let audio_path = config.data_directory.join("sound/alert.ogg");
|
let audio_path: PathBuf;
|
||||||
|
if let Some(path) = args.value_of("alert") {
|
||||||
|
audio_path = Path::new(path).to_path_buf();
|
||||||
|
} else {
|
||||||
|
audio_path = config.data_directory.join("sound/alert.ogg");
|
||||||
|
}
|
||||||
|
|
||||||
let default_device = rodio::default_output_device().unwrap();
|
let default_device = rodio::default_output_device().unwrap();
|
||||||
let alert = Alert::new(&audio_path, &default_device);
|
let alert = Alert::new(&audio_path, &default_device);
|
||||||
let mut pomodoro = Pomodoro::new(&alert);
|
let mut pomodoro = Pomodoro::new(&alert);
|
||||||
|
|
Loading…
Reference in New Issue