diff --git a/src/help.rs b/src/help.rs index e4c1648..8522042 100644 --- a/src/help.rs +++ b/src/help.rs @@ -2,6 +2,7 @@ pub fn help() { println!("\ Usage:\n \"ame -S pkg\" - install a package -\"ame -R pkg\" - remove a package\ +\"ame -R pkg\" - remove a package +\"ame -Syu\" - upgrade a package\ ") } diff --git a/src/main.rs b/src/main.rs index 16ec0fc..4fe2695 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,19 +1,15 @@ mod clone; mod uninstall; mod help; -use crate::{clone::clone, help::help, uninstall::uninstall}; +mod upgrade; +use crate::{clone::clone, help::help, uninstall::uninstall, upgrade::upgrade}; use std::{env, process::exit}; fn main() { let args: Vec = env::args().collect(); - - if args.len() < 3 { - help(); - exit(0); - } let oper = &args[1]; - + print!("{}", oper); if oper == "-S" { for arg in env::args().skip(2) { clone(&arg); @@ -22,5 +18,10 @@ fn main() { for arg in env::args().skip(2) { uninstall(&arg); } + } else if oper == "-Syu" { + upgrade(); + } else { + help(); + exit(0); } } diff --git a/src/upgrade.rs b/src/upgrade.rs new file mode 100644 index 0000000..c59e375 --- /dev/null +++ b/src/upgrade.rs @@ -0,0 +1,9 @@ +use std::process::Command; + +pub fn upgrade() { + let errstr = format!("Something happened"); + Command::new("pacman") + .arg("-Syu") + .output() + .expect(&errstr); +} \ No newline at end of file