diff --git a/src/clearcache.rs b/src/clearcache.rs new file mode 100644 index 0000000..7d7cb9b --- /dev/null +++ b/src/clearcache.rs @@ -0,0 +1,8 @@ +use std::{fs, env}; + +pub fn clearcache() { + let path = format!("{}/.cache/ame/", std::env::var("HOME").unwrap()); + + fs::remove_dir_all(&path).unwrap(); + fs::create_dir(&path).unwrap(); +} \ No newline at end of file diff --git a/src/clone.rs b/src/clone.rs index fbb808d..92b6edf 100644 --- a/src/clone.rs +++ b/src/clone.rs @@ -17,8 +17,8 @@ pub fn clone(pkg: &str) { println!("Installing {} ...", pkg); env::set_current_dir(&cachedir); Command::new("makepkg") - .arg("-i") .arg("--noconfirm") + .arg("-si") .spawn(); } } diff --git a/src/help.rs b/src/help.rs index 049f206..8e958d7 100644 --- a/src/help.rs +++ b/src/help.rs @@ -4,5 +4,6 @@ Usage:\n ame -S - install a package ame -R - remove a package ame -Syu - system upgrade -ame -Ss - search for a package") +ame -Ss - search for a package +ame -Cc - clear package cache") } \ No newline at end of file diff --git a/src/main.rs b/src/main.rs index 2dbc4c6..d002df1 100644 --- a/src/main.rs +++ b/src/main.rs @@ -3,7 +3,8 @@ mod uninstall; mod help; mod upgrade; mod search; -use crate::{clone::clone, help::help, uninstall::uninstall, upgrade::upgrade, search::a_search, search::r_search}; +mod clearcache; +use crate::{clone::clone, help::help, uninstall::uninstall, upgrade::upgrade, search::a_search, search::r_search, clearcache::clearcache}; use std::{env, process::exit}; fn main() { @@ -36,6 +37,8 @@ fn main() { for arg in env::args().skip(2) { r_search(&arg); } + } else if oper == "-Cc" { + clearcache(); } else { help(); exit(0); diff --git a/src/search.rs b/src/search.rs index 55a6ff9..c919017 100644 --- a/src/search.rs +++ b/src/search.rs @@ -3,7 +3,7 @@ use std::{ops::Deref, process::Command}; pub fn a_search(pkg: &str) { let results = raur::search(&pkg); for res in &results { - println!("aur/{} {}\n {}", res[0].name, res[0].version, res[0].description.as_ref().map_or("n/a", String::deref)); + println!("aur/{} {}\n {}", res[0].name, res[0].version, res[0].description.as_ref().map_or("n/a", String::deref)); } }