frs 0.4.2

Rename files with RegEx patterns
Documentation
#![forbid(unsafe_code)]
#![warn(clippy::use_self)]
#![warn(clippy::wildcard_imports)]
#![warn(clippy::clone_on_ref_ptr)]
#![warn(clippy::cognitive_complexity)]

use frs::{fs, Cli, Replacer, Stats};
use structopt::StructOpt;

#[async_std::main]
async fn main() {
    let mut stats = Stats::new();

    let mut cli_opts = Cli::from_args();
    if let Err(error) = cli_opts.post_automations() {
        stats.error(&error);
        return;
    }

    stats.set_cli_opts(&cli_opts);

    let replacer = match Replacer::new(&cli_opts) {
        Ok(replacer) => replacer,
        Err(error) => {
            stats.error(&error);
            return;
        }
    };

    if let Err(error) = fs::rename(&cli_opts, &replacer, &stats).await {
        stats.error(&error);
        return;
    }

    stats.print_summary();
}