aboutsummaryrefslogtreecommitdiff
path: root/vendor/clap/examples/pacman.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/clap/examples/pacman.rs')
-rw-r--r--vendor/clap/examples/pacman.rs111
1 files changed, 0 insertions, 111 deletions
diff --git a/vendor/clap/examples/pacman.rs b/vendor/clap/examples/pacman.rs
deleted file mode 100644
index 7ab30db..0000000
--- a/vendor/clap/examples/pacman.rs
+++ /dev/null
@@ -1,111 +0,0 @@
-use clap::{Arg, ArgAction, Command};
-
-fn main() {
- let matches = Command::new("pacman")
- .about("package manager utility")
- .version("5.2.1")
- .subcommand_required(true)
- .arg_required_else_help(true)
- .author("Pacman Development Team")
- // Query subcommand
- //
- // Only a few of its arguments are implemented below.
- .subcommand(
- Command::new("query")
- .short_flag('Q')
- .long_flag("query")
- .about("Query the package database.")
- .arg(
- Arg::new("search")
- .short('s')
- .long("search")
- .help("search locally installed packages for matching strings")
- .conflicts_with("info")
- .action(ArgAction::Set)
- .num_args(1..),
- )
- .arg(
- Arg::new("info")
- .long("info")
- .short('i')
- .conflicts_with("search")
- .help("view package information")
- .action(ArgAction::Set)
- .num_args(1..),
- ),
- )
- // Sync subcommand
- //
- // Only a few of its arguments are implemented below.
- .subcommand(
- Command::new("sync")
- .short_flag('S')
- .long_flag("sync")
- .about("Synchronize packages.")
- .arg(
- Arg::new("search")
- .short('s')
- .long("search")
- .conflicts_with("info")
- .action(ArgAction::Set)
- .num_args(1..)
- .help("search remote repositories for matching strings"),
- )
- .arg(
- Arg::new("info")
- .long("info")
- .conflicts_with("search")
- .short('i')
- .action(ArgAction::SetTrue)
- .help("view package information"),
- )
- .arg(
- Arg::new("package")
- .help("packages")
- .required_unless_present("search")
- .action(ArgAction::Set)
- .num_args(1..),
- ),
- )
- .get_matches();
-
- match matches.subcommand() {
- Some(("sync", sync_matches)) => {
- if sync_matches.contains_id("search") {
- let packages: Vec<_> = sync_matches
- .get_many::<String>("search")
- .expect("contains_id")
- .map(|s| s.as_str())
- .collect();
- let values = packages.join(", ");
- println!("Searching for {values}...");
- return;
- }
-
- let packages: Vec<_> = sync_matches
- .get_many::<String>("package")
- .expect("is present")
- .map(|s| s.as_str())
- .collect();
- let values = packages.join(", ");
-
- if sync_matches.get_flag("info") {
- println!("Retrieving info for {values}...");
- } else {
- println!("Installing {values}...");
- }
- }
- Some(("query", query_matches)) => {
- if let Some(packages) = query_matches.get_many::<String>("info") {
- let comma_sep = packages.map(|s| s.as_str()).collect::<Vec<_>>().join(", ");
- println!("Retrieving info for {comma_sep}...");
- } else if let Some(queries) = query_matches.get_many::<String>("search") {
- let comma_sep = queries.map(|s| s.as_str()).collect::<Vec<_>>().join(", ");
- println!("Searching Locally for {comma_sep}...");
- } else {
- println!("Displaying all locally installed packages...");
- }
- }
- _ => unreachable!(), // If all subcommands are defined above, anything else is unreachable
- }
-}