Skip to content

Commit

Permalink
Merge pull request #3784 from jarkonik/main
Browse files Browse the repository at this point in the history
Use `clap::ArgAction` in `true` and `false`
  • Loading branch information
tertsdiepraam authored Aug 16, 2022
2 parents c03b3c4 + 710e2af commit 5ecabb8
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 22 deletions.
28 changes: 17 additions & 11 deletions src/uu/false/src/false.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
// *
// * For the full copyright and license information, please view the LICENSE
// * file that was distributed with this source code.
use clap::{Arg, Command};
use std::io::Write;
use clap::{Arg, ArgAction, Command};
use std::{ffi::OsString, io::Write};
use uucore::error::{set_exit_code, UResult};

static ABOUT: &str = "\
Expand All @@ -26,13 +26,18 @@ pub fn uumain(args: impl uucore::Args) -> UResult<()> {
// and unwind through the standard library allocation handling machinery.
set_exit_code(1);

if let Ok(matches) = command.try_get_matches_from_mut(args) {
let error = if matches.index_of("help").is_some() {
command.print_help()
} else if matches.index_of("version").is_some() {
writeln!(std::io::stdout(), "{}", command.render_version())
} else {
Ok(())
let args: Vec<OsString> = args.collect();
if args.len() > 2 {
return Ok(());
}

if let Err(e) = command.try_get_matches_from_mut(args) {
let error = match e.kind() {
clap::ErrorKind::DisplayHelp => command.print_help(),
clap::ErrorKind::DisplayVersion => {
writeln!(std::io::stdout(), "{}", command.render_version())
}
_ => Ok(()),
};

// Try to display this error.
Expand All @@ -56,11 +61,12 @@ pub fn uu_app<'a>() -> Command<'a> {
Arg::new("help")
.long("help")
.help("Print help information")
.exclusive(true),
.action(ArgAction::Help),
)
.arg(
Arg::new("version")
.long("version")
.help("Print version information"),
.help("Print version information")
.action(ArgAction::Version),
)
}
28 changes: 17 additions & 11 deletions src/uu/true/src/true.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
// *
// * For the full copyright and license information, please view the LICENSE
// * file that was distributed with this source code.
use clap::{Arg, Command};
use std::io::Write;
use clap::{Arg, ArgAction, Command};
use std::{ffi::OsString, io::Write};
use uucore::error::{set_exit_code, UResult};

static ABOUT: &str = "\
Expand All @@ -20,13 +20,18 @@ operation causes the program to return `1` instead.
pub fn uumain(args: impl uucore::Args) -> UResult<()> {
let mut command = uu_app();

if let Ok(matches) = command.try_get_matches_from_mut(args) {
let error = if matches.index_of("help").is_some() {
command.print_help()
} else if matches.index_of("version").is_some() {
writeln!(std::io::stdout(), "{}", command.render_version())
} else {
Ok(())
let args: Vec<OsString> = args.collect();
if args.len() > 2 {
return Ok(());
}

if let Err(e) = command.try_get_matches_from_mut(args) {
let error = match e.kind() {
clap::ErrorKind::DisplayHelp => command.print_help(),
clap::ErrorKind::DisplayVersion => {
writeln!(std::io::stdout(), "{}", command.render_version())
}
_ => Ok(()),
};

if let Err(print_fail) = error {
Expand All @@ -53,11 +58,12 @@ pub fn uu_app<'a>() -> Command<'a> {
Arg::new("help")
.long("help")
.help("Print help information")
.exclusive(true),
.action(ArgAction::Help),
)
.arg(
Arg::new("version")
.long("version")
.help("Print version information"),
.help("Print version information")
.action(ArgAction::Version),
)
}

0 comments on commit 5ecabb8

Please sign in to comment.