From 8f0540eb46bbd59652618693e698c9bb13a746f3 Mon Sep 17 00:00:00 2001 From: Michal S Date: Sat, 20 Aug 2022 14:11:05 +0100 Subject: [PATCH] Added info function --- src/args.rs | 11 +++++++++++ src/main.rs | 11 ++++++++++- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/src/args.rs b/src/args.rs index 1a97eb0..c9fde29 100644 --- a/src/args.rs +++ b/src/args.rs @@ -37,6 +37,10 @@ pub enum Operation { #[clap(name = "query", aliases = & ["q", "qu", "l", "ls", "-Q"])] Query(QueryArgs), + /// Gets info about a package + #[clap(name = "info", aliases = & ["inf", "in", "i", "-Qi"])] + Info(InfoArgs), + /// Upgrades locally installed packages to their latest versions #[clap(name = "upgrade", aliases = & ["upg", "up", "u", "-Syu"])] Upgrade(UpgradeArgs), @@ -104,6 +108,13 @@ pub struct QueryArgs { pub repo: bool, } +#[derive(Default, Debug, Clone, Parser)] +pub struct InfoArgs { + /// The name of the package(s) to get info on + #[clap(required = true)] + pub package: String, +} + #[derive(Default, Debug, Clone, Parser)] pub struct UpgradeArgs { /// Upgrades only repo/native packages diff --git a/src/main.rs b/src/main.rs index 3f517e0..3e80da8 100644 --- a/src/main.rs +++ b/src/main.rs @@ -6,7 +6,7 @@ use clap::Parser; use internal::commands::ShellCommand; use internal::error::SilentUnwrap; -use crate::args::{InstallArgs, Operation, QueryArgs, RemoveArgs, SearchArgs, UpgradeArgs}; +use crate::args::{InstallArgs, Operation, QueryArgs, RemoveArgs, SearchArgs, UpgradeArgs, InfoArgs}; use crate::internal::exit_code::AppExitCode; use crate::internal::{init, sort, start_sudoloop, structs::Options, detect}; @@ -51,6 +51,7 @@ fn main() { Operation::Remove(remove_args) => cmd_remove(remove_args, options), Operation::Search(search_args) => cmd_search(search_args, options), Operation::Query(query_args) => cmd_query(query_args), + Operation::Info(info_args) => cmd_info(info_args), Operation::Upgrade(upgrade_args) => cmd_upgrade(upgrade_args, options), Operation::Clean => { info!("Removing orphaned packages"); @@ -152,6 +153,14 @@ fn cmd_query(args: QueryArgs) { } } +fn cmd_info(args: InfoArgs) { + ShellCommand::pacman() + .arg("-Qi") + .arg(args.package) + .wait() + .silent_unwrap(AppExitCode::PacmanError); +} + fn cmd_upgrade(args: UpgradeArgs, options: Options) { info!("Performing system upgrade"); operations::upgrade(options, args);