Add --alert flag to start subcommand
This commit is contained in:
		
							
								
								
									
										26
									
								
								src/main.rs
									
									
									
									
									
								
							
							
						
						
									
										26
									
								
								src/main.rs
									
									
									
									
									
								
							@@ -1,9 +1,10 @@
 | 
			
		||||
use async_std::task;
 | 
			
		||||
use clap::{App, ArgMatches, SubCommand};
 | 
			
		||||
use clap::{App, Arg, ArgMatches, SubCommand};
 | 
			
		||||
use crossterm::{cursor, terminal::Clear, terminal::ClearType, QueueableCommand};
 | 
			
		||||
use domasi::pomodoro::{Alert, Clock, Config, Status};
 | 
			
		||||
use domasi::Pomodoro;
 | 
			
		||||
use std::io::{stdout, Write};
 | 
			
		||||
use std::path::{Path, PathBuf};
 | 
			
		||||
 | 
			
		||||
use std::sync::mpsc::{channel, Receiver, Sender};
 | 
			
		||||
use std::thread;
 | 
			
		||||
@@ -13,7 +14,18 @@ fn main() {
 | 
			
		||||
        .version("0.1.0")
 | 
			
		||||
        .author("paoda <musukarekai@gmail.com>")
 | 
			
		||||
        .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();
 | 
			
		||||
 | 
			
		||||
    // match matches.subcommand() {
 | 
			
		||||
@@ -26,10 +38,16 @@ fn main() {
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
pub fn start(_args: &ArgMatches) {
 | 
			
		||||
pub fn start(args: &ArgMatches) {
 | 
			
		||||
    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 alert = Alert::new(&audio_path, &default_device);
 | 
			
		||||
    let mut pomodoro = Pomodoro::new(&alert);
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user