mod mods; use mods::{clearcache::clearcache, clone::clone, help::help, install::install, search::{a_search, r_search}, uninstall::uninstall, upgrade::upgrade, ver::ver}; use std::{env, process::exit, process::Command}; fn main() { // let statements let args: Vec = env::args().collect(); let homepath = std::env::var("HOME").unwrap(); let cache_path = format!("/{}/.cache/ame/", homepath); // args catch if args.len() <= 1 { help(); exit(1); } let oper = &args[1]; // install if oper == "-S" || oper == "ins" || oper == "install" { for arg in env::args().skip(2) { let out = Command::new("pacman") .arg("-Ss") .arg(&arg) .arg(" > /dev/null && return ${PIPESTATUS}") .status() .unwrap(); if out.success() { install(&arg); } else { clone(&arg); } } // remove } else if oper == "-R" || oper == "-Rs" || oper=="rem" || oper=="remove" { for arg in env::args().skip(2) { uninstall(&arg); } // upgrade } else if oper == "-Syu" || oper=="upg" || oper=="upgrade" { upgrade(&cache_path); } else if oper == "-Ss" || oper=="sea" || oper=="search" { for arg in env::args().skip(2) { r_search(&arg); a_search(&arg); } // aur search } else if oper == "-Sa" || oper=="aursea" || oper=="aursearch" { for arg in env::args().skip(2) { a_search(&arg); } // repo search } else if oper == "-Sr" || oper=="repsea" || oper=="reposearch" { for arg in env::args().skip(2) { r_search(&arg); } // clear cache } else if oper == "-Cc" || oper=="clr" || oper=="clear-cache" { clearcache(); // version / contrib } else if oper == "-v" || oper == "-V" || oper == "ver" { ver(); // help } else { help(); exit(0); } }