27 lines
869 B
Rust
27 lines
869 B
Rust
use std::path::PathBuf;
|
|
|
|
#[derive(Debug, Clone, new)]
|
|
pub struct CliArguments {
|
|
pub osu_source: PathBuf,
|
|
pub packs_source: PathBuf,
|
|
}
|
|
|
|
pub fn get_arguments_parsed() -> CliArguments {
|
|
let mut ca = CliArguments::new(PathBuf::from(""), PathBuf::from(""));
|
|
{
|
|
let mut parser = argparse::ArgumentParser::new();
|
|
parser.set_description("Checks which beatmap sets you haven't played yet.");
|
|
|
|
parser
|
|
.refer(&mut ca.osu_source)
|
|
.add_argument("osu_source", argparse::Store, "Your Osu! folder")
|
|
.required();
|
|
parser
|
|
.refer(&mut ca.packs_source)
|
|
.add_argument("packs_source", argparse::Store, "Beatmapsets folder (folder to '.osz's, which can be inside .zip, .7z or .rar archives, but not nested)")
|
|
.required();
|
|
parser.parse_args_or_exit();
|
|
}
|
|
ca
|
|
}
|