mod mods; use mods::{ clearcache::clearcache, clone::clone, help::help, inssort::inssort, install::install, search::{a_search, r_search}, strs::err_rec, strs::err_unrec, strs::inf, uninstall::uninstall, update::update, upgrade::upgrade, ver::ver, xargs::*, }; use std::{env, process::exit, process::Command}; fn main() { let args: Vec = env::args().collect(); let mut pkgs: Vec = env::args().skip(2).collect(); if args.len() <= 1 { help(); exit(1); } let oper = &args[1]; let noconfirm: bool = noconf(&args); argssort(&mut pkgs); // at some point weve GOT TO rework this into a `match` statement if oper == "-S" || oper == "-Sn" || oper == "ins" { inssort(noconfirm, pkgs); } else if oper == "-R" || oper == "-Rn " || oper == "-Rsn" || oper == "-Rs" || oper == "rm" { uninstall(noconfirm, pkgs); } else if oper == "-Syu" || oper == "-Syun" || oper == "upg" { upgrade(noconfirm); } else if oper == "-Sy" || oper == "upd" { update(); } else if oper == "-Ss" || oper == "sea" { r_search(&args[2]); a_search(&args[2]); } else if oper == "-Sa" || oper == "aursea" { a_search(&args[2]); } else if oper == "-Sr" || oper == "repsea" { r_search(&args[2]); } else if oper == "-Cc" || oper == "clr" { clearcache(); } else if oper == "-v" || oper == "-V" || oper == "ver" { ver(); } else if oper == "-h" || oper == "help" { help(); } else { let pass = Command::new("pacman") .args(env::args().skip(1)) .status() .expect("Something has gone wrong."); match pass.code() { Some(1) => { err_rec(format!("No such operation \"{}\"", args.join(" "))); inf(format!( "Try running \"ame help\" for an overview of how to use ame" )) } Some(_) => {} None => err_unrec(format!("Something has gone terribly wrong.")), } } }