use clap::{load_yaml, App};
use colored::*;
use ren3::{list_and_rename_files, Args, SedRegex};
fn main() {
let yaml = load_yaml!("../cli.yml");
let matches = App::from_yaml(yaml).get_matches();
let option_exist = |s: &str| -> bool { matches.occurrences_of(s) == 1 };
let expression = matches.value_of("expression").unwrap();
let dirs = match matches.values_of("dir") {
Some(values) => values.collect::<Vec<_>>(),
None => vec!["."],
};
let args = Args {
dir_only: option_exist("dir-only"),
file_only: option_exist("file-only"),
recursive: option_exist("recursive"),
apply: option_exist("force"),
brief: option_exist("brief"),
};
let re = SedRegex::new(expression);
for dir in dirs {
list_and_rename_files(&re, dir, &args);
}
if !args.apply {
println!(
"{}",
"\n\nTHIS IS DEMO MODE.\nUSE '-f' OPTION TO APPLY CHANGES."
.bright_yellow()
.bold()
);
}
}