Fixed up arg aliases and use vercmp internally

i18n
Michal S 2 years ago
parent 74025f5230
commit 08d9fed1ab
No known key found for this signature in database
GPG Key ID: A6A1A4DCB22279B9

@ -3,7 +3,7 @@
use clap::{Parser, Subcommand};
#[derive(Debug, Clone, Parser)]
#[clap(name = "Amethyst", version = env ! ("CARGO_PKG_VERSION"), about = env ! ("CARGO_PKG_DESCRIPTION"))]
#[clap(name = "Amethyst", version = env ! ("CARGO_PKG_VERSION"), about = env ! ("CARGO_PKG_DESCRIPTION"), infer_subcommands = true)]
pub struct Args {
#[clap(subcommand)]
pub subcommand: Option<Operation>,
@ -28,35 +28,35 @@ pub struct Args {
#[derive(Debug, Clone, Subcommand)]
pub enum Operation {
/// Installs a package from either the AUR or the Pacman-defined repositories
#[clap(name = "install", aliases = & ["ins", "in", "i", "-S"])]
#[clap(name = "install", visible_aliases = & ["-S"])]
Install(InstallArgs),
/// Removes a previously installed package
#[clap(name = "remove", aliases = & ["rm", "rem", "r", "-R", "-Rs"])]
#[clap(name = "remove", visible_aliases = & ["rm", "-Rs"])]
Remove(RemoveArgs),
/// Searches for the relevant packages in both the AUR and repos
#[clap(name = "search", aliases = & ["sea", "sear", "se", "s", "-Ss"])]
#[clap(name = "search", visible_aliases = & ["-Ss"])]
Search(SearchArgs),
/// Queries installed packages
#[clap(name = "query", aliases = & ["q", "qu", "l", "ls", "-Q"])]
#[clap(name = "query", visible_aliases = & ["-Q"])]
Query(QueryArgs),
/// Gets info about a package
#[clap(name = "info", aliases = & ["inf", "in", "i", "-Qi"])]
#[clap(name = "info", visible_aliases = & ["-Qi"])]
Info(InfoArgs),
/// Upgrades locally installed packages to their latest versions
#[clap(name = "upgrade", aliases = & ["upg", "up", "u", "-Syu"])]
#[clap(name = "upgrade", visible_aliases = & ["-Syu"])]
Upgrade(UpgradeArgs),
/// Removes all orphaned packages
#[clap(name = "clean", aliases = & ["cln", "cl", "-Sc"])]
#[clap(name = "clean", visible_aliases = & ["-Sc"])]
Clean,
/// Runs pacdiff
#[clap(name = "diff", aliases = & ["dif", "di", "-d"])]
#[clap(name = "diff", visible_aliases = & ["-d"])]
Diff,
}

@ -113,8 +113,19 @@ pub fn upgrade(options: Options, args: UpgradeArgs, cachedir: &str) {
continue;
}
// Run `vercmp` to compare versions
let vercmp_result = std::process::Command::new("vercmp")
.arg(&pkg.version)
.arg(&rpc_result.package.unwrap().version)
.output()
.unwrap();
let vercmp_result = String::from_utf8(vercmp_result.stdout).unwrap();
if verbosity >= 1 {
log!("Vercmp returned {:?}", vercmp_result);
}
// If versions differ, push to a vector
if rpc_result.package.unwrap().version != pkg.version {
if vercmp_result.trim() == "-1" {
aur_upgrades.push(pkg.name);
}
}
@ -126,7 +137,7 @@ pub fn upgrade(options: Options, args: UpgradeArgs, cachedir: &str) {
info!("No upgrades available for installed AUR packages");
} else {
let cont = prompt!(default true,
"Found AUR packages {} have new versions available, upgrade?",
"AUR packages {} have new versions available, upgrade?",
aur_upgrades.join(", "),
);
if cont {

Loading…
Cancel
Save