mod cli;
mod commands;
mod config;
mod exclude;
mod git;
mod paths;
mod remote;
use std::process::ExitCode;
use clap::Parser;
use crate::cli::{Cli, Command};
fn main() -> ExitCode {
match Cli::parse().command {
Command::List { global } => commands::list::run(global),
Command::Sync { name } => commands::sync::run(name.as_deref()),
Command::Clone {
repo,
directory,
name,
} => commands::clone::run(&repo, directory, name),
Command::Remove { name, delete } => commands::remove::run(&name, delete),
Command::Passthrough(args) => commands::passthrough::run(&args),
}
}