From 20431706a863f92cb37dc512fef6e48d192aaf2c Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 17 Apr 2024 14:11:38 +0200 Subject: Merging upstream version 1.66.0+dfsg1. Signed-off-by: Daniel Baumann --- vendor/clap/examples/git-derive.rs | 105 ------------------------------------- 1 file changed, 105 deletions(-) delete mode 100644 vendor/clap/examples/git-derive.rs (limited to 'vendor/clap/examples/git-derive.rs') diff --git a/vendor/clap/examples/git-derive.rs b/vendor/clap/examples/git-derive.rs deleted file mode 100644 index ac500ddad..000000000 --- a/vendor/clap/examples/git-derive.rs +++ /dev/null @@ -1,105 +0,0 @@ -use std::ffi::OsString; -use std::path::PathBuf; - -use clap::{Args, Parser, Subcommand}; - -/// A fictional versioning CLI -#[derive(Debug, Parser)] // requires `derive` feature -#[clap(name = "git")] -#[clap(about = "A fictional versioning CLI", long_about = None)] -struct Cli { - #[clap(subcommand)] - command: Commands, -} - -#[derive(Debug, Subcommand)] -enum Commands { - /// Clones repos - #[clap(arg_required_else_help = true)] - Clone { - /// The remote to clone - #[clap(value_parser)] - remote: String, - }, - /// pushes things - #[clap(arg_required_else_help = true)] - Push { - /// The remote to target - #[clap(value_parser)] - remote: String, - }, - /// adds things - #[clap(arg_required_else_help = true)] - Add { - /// Stuff to add - #[clap(required = true, value_parser)] - path: Vec, - }, - Stash(Stash), - #[clap(external_subcommand)] - External(Vec), -} - -#[derive(Debug, Args)] -#[clap(args_conflicts_with_subcommands = true)] -struct Stash { - #[clap(subcommand)] - command: Option, - - #[clap(flatten)] - push: StashPush, -} - -#[derive(Debug, Subcommand)] -enum StashCommands { - Push(StashPush), - Pop { - #[clap(value_parser)] - stash: Option, - }, - Apply { - #[clap(value_parser)] - stash: Option, - }, -} - -#[derive(Debug, Args)] -struct StashPush { - #[clap(short, long, value_parser)] - message: Option, -} - -fn main() { - let args = Cli::parse(); - - match args.command { - Commands::Clone { remote } => { - println!("Cloning {}", remote); - } - Commands::Push { remote } => { - println!("Pushing to {}", remote); - } - Commands::Add { path } => { - println!("Adding {:?}", path); - } - Commands::Stash(stash) => { - let stash_cmd = stash.command.unwrap_or(StashCommands::Push(stash.push)); - match stash_cmd { - StashCommands::Push(push) => { - println!("Pushing {:?}", push); - } - StashCommands::Pop { stash } => { - println!("Popping {:?}", stash); - } - StashCommands::Apply { stash } => { - println!("Applying {:?}", stash); - } - } - } - Commands::External(args) => { - println!("Calling out to {:?} with {:?}", &args[0], &args[1..]); - } - } - - // Continued program logic goes here... -} -- cgit v1.2.3