From cf94bdc0742c13e2a0cac864c478b8626b266e1b 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/repl.rs | 92 -------------------------------------------- 1 file changed, 92 deletions(-) delete mode 100644 vendor/clap/examples/repl.rs (limited to 'vendor/clap/examples/repl.rs') diff --git a/vendor/clap/examples/repl.rs b/vendor/clap/examples/repl.rs deleted file mode 100644 index c509adee6..000000000 --- a/vendor/clap/examples/repl.rs +++ /dev/null @@ -1,92 +0,0 @@ -use std::io::Write; - -use clap::Command; - -fn main() -> Result<(), String> { - loop { - let line = readline()?; - let line = line.trim(); - if line.is_empty() { - continue; - } - - match respond(line) { - Ok(quit) => { - if quit { - break; - } - } - Err(err) => { - write!(std::io::stdout(), "{}", err).map_err(|e| e.to_string())?; - std::io::stdout().flush().map_err(|e| e.to_string())?; - } - } - } - - Ok(()) -} - -fn respond(line: &str) -> Result { - let args = shlex::split(line).ok_or("error: Invalid quoting")?; - let matches = cli() - .try_get_matches_from(&args) - .map_err(|e| e.to_string())?; - match matches.subcommand() { - Some(("ping", _matches)) => { - write!(std::io::stdout(), "Pong").map_err(|e| e.to_string())?; - std::io::stdout().flush().map_err(|e| e.to_string())?; - } - Some(("quit", _matches)) => { - write!(std::io::stdout(), "Exiting ...").map_err(|e| e.to_string())?; - std::io::stdout().flush().map_err(|e| e.to_string())?; - return Ok(true); - } - Some((name, _matches)) => unimplemented!("{}", name), - None => unreachable!("subcommand required"), - } - - Ok(false) -} - -fn cli() -> Command<'static> { - // strip out usage - const PARSER_TEMPLATE: &str = "\ - {all-args} - "; - // strip out name/version - const APPLET_TEMPLATE: &str = "\ - {about-with-newline}\n\ - {usage-heading}\n {usage}\n\ - \n\ - {all-args}{after-help}\ - "; - - Command::new("repl") - .multicall(true) - .arg_required_else_help(true) - .subcommand_required(true) - .subcommand_value_name("APPLET") - .subcommand_help_heading("APPLETS") - .help_template(PARSER_TEMPLATE) - .subcommand( - Command::new("ping") - .about("Get a response") - .help_template(APPLET_TEMPLATE), - ) - .subcommand( - Command::new("quit") - .alias("exit") - .about("Quit the REPL") - .help_template(APPLET_TEMPLATE), - ) -} - -fn readline() -> Result { - write!(std::io::stdout(), "$ ").map_err(|e| e.to_string())?; - std::io::stdout().flush().map_err(|e| e.to_string())?; - let mut buffer = String::new(); - std::io::stdin() - .read_line(&mut buffer) - .map_err(|e| e.to_string())?; - Ok(buffer) -} -- cgit v1.2.3