From aad802616bf25bbeca35c59d6022f81994bfd397 Mon Sep 17 00:00:00 2001 From: Terts Diepraam Date: Fri, 30 Sep 2022 16:10:36 +0200 Subject: [PATCH] printf: update to clap 4 --- src/uu/printf/Cargo.toml | 2 +- src/uu/printf/src/printf.rs | 18 +++++++++++++----- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/src/uu/printf/Cargo.toml b/src/uu/printf/Cargo.toml index adf6fa2b8..3575e5d6a 100644 --- a/src/uu/printf/Cargo.toml +++ b/src/uu/printf/Cargo.toml @@ -18,7 +18,7 @@ edition = "2021" path = "src/printf.rs" [dependencies] -clap = { version = "3.2", features = ["wrap_help", "cargo"] } +clap = { version = "4.0", features = ["wrap_help", "cargo"] } uucore = { version=">=0.0.16", package="uucore", path="../../uucore", features=["memo"] } [[bin]] diff --git a/src/uu/printf/src/printf.rs b/src/uu/printf/src/printf.rs index 4e3e16393..7b470d7ce 100644 --- a/src/uu/printf/src/printf.rs +++ b/src/uu/printf/src/printf.rs @@ -2,7 +2,7 @@ // spell-checker:ignore (change!) each's // spell-checker:ignore (ToDO) LONGHELP FORMATSTRING templating parameterizing formatstr -use clap::{crate_version, Arg, Command}; +use clap::{crate_version, Arg, ArgAction, Command}; use uucore::error::{UResult, UUsageError}; use uucore::{format_usage, memo}; @@ -285,19 +285,27 @@ pub fn uumain(args: impl uucore::Args) -> UResult<()> { Ok(()) } -pub fn uu_app<'a>() -> Command<'a> { +pub fn uu_app() -> Command { Command::new(uucore::util_name()) .allow_hyphen_values(true) .version(crate_version!()) .about(ABOUT) .after_help(AFTER_HELP) .override_usage(format_usage(USAGE)) - .arg(Arg::new(HELP).long(HELP).help("Print help information")) + .disable_help_flag(true) + .disable_version_flag(true) + .arg( + Arg::new(HELP) + .long(HELP) + .help("Print help information") + .action(ArgAction::Help), + ) .arg( Arg::new(VERSION) .long(VERSION) - .help("Print version information"), + .help("Print version information") + .action(ArgAction::Version), ) .arg(Arg::new(options::FORMATSTRING)) - .arg(Arg::new(options::ARGUMENT).multiple_occurrences(true)) + .arg(Arg::new(options::ARGUMENT).action(ArgAction::Append)) }