mmv 0.1.0

lib to mass move files with template names
Documentation
extern crate fstrings;

use clap::Parser;
use mmv_lib::{
    args::MmvArgs, error_handler::react_on_error, finder::get_file_names_in_directory,
    matcher::match_pattern_with_file_names,
};

fn main() {
    let args = MmvArgs::parse();
    let input_pattern = args.get_parsed_input_pattern();
    let file_names_in_directory = match get_file_names_in_directory(&input_pattern.get_directory())
    {
        Err(error) => {
            react_on_error(error);
            return;
        }
        Ok(file_names) => file_names,
    };

    let parsed_matching_files =
        match match_pattern_with_file_names(&input_pattern, &file_names_in_directory) {
            Err(error) => {
                react_on_error(error);
                return;
            }
            Ok(parsed_matching_files) => parsed_matching_files,
        };

    let output_pattern = args.get_parsed_output();

    for parsed_file in parsed_matching_files {
        let old_file_path = parsed_file.get_path(&input_pattern.get_directory());
        let new_file_path = output_pattern.get_filled_path(parsed_file.get_fragments());

        println!("{:?} -> {:?}", old_file_path, new_file_path);
    }
}