co-author 0.1.3

Co-Author your git commits from the command line
use args::Args;
use clap::Parser;
use error::Error;
use orchestrator::Orchestrator;

fn main() {
	let args = Args::parse();
	if let Err(e) = run(args) {
		eprintln!("[Error] {e}");
		std::process::exit(1);
	}
}

pub type Result<T> = std::result::Result<T, Box<dyn Error>>;
fn run(args: Args) -> Result<()> {
	let cli = ui::di::init()?;
	let service = git::di::init()?;
	let provider = authors::di::init(&args.file)?;
	Orchestrator::exec(args, cli, service, provider)
}

mod args;
mod authors;
mod common;
mod error;
mod git;
mod orchestrator;
mod ui;