Skip to content

Commit

Permalink
Auto merge of #12723 - hi-rustin:rustin-patch-silent, r=weihanglo
Browse files Browse the repository at this point in the history
Add better suggestion for the unsupported silent flag
  • Loading branch information
bors committed Sep 28, 2023
2 parents 01846d9 + 5d8009a commit 0438b9c
Show file tree
Hide file tree
Showing 3 changed files with 50 additions and 1 deletion.
2 changes: 1 addition & 1 deletion src/bin/cargo/commands/vendor.rs
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ pub fn cli() -> Command {
.arg(unsupported("relative-path"))
.arg(unsupported("only-git-deps"))
.arg(unsupported("disallow-duplicates"))
.arg_quiet()
.arg_quiet_without_unknown_silent_arg_tip()
.arg_manifest_path()
.after_help(color_print::cstr!(
"Run `<cyan,bold>cargo help vendor</>` for more detailed information.\n"
Expand Down
12 changes: 12 additions & 0 deletions src/cargo/util/command_prelude.rs
Original file line number Diff line number Diff line change
Expand Up @@ -331,6 +331,18 @@ pub trait CommandExt: Sized {
}

fn arg_quiet(self) -> Self {
let unsupported_silent_arg = {
let value_parser = UnknownArgumentValueParser::suggest_arg("--quiet");
flag("silent", "")
.short('s')
.value_parser(value_parser)
.hide(true)
};
self._arg(flag("quiet", "Do not print cargo log messages").short('q'))
._arg(unsupported_silent_arg)
}

fn arg_quiet_without_unknown_silent_arg_tip(self) -> Self {
self._arg(flag("quiet", "Do not print cargo log messages").short('q'))
}

Expand Down
37 changes: 37 additions & 0 deletions tests/testsuite/run.rs
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,43 @@ fn quiet_arg() {
.run();
}

#[cargo_test]
fn unsupported_silent_arg() {
let p = project()
.file("src/main.rs", r#"fn main() { println!("hello"); }"#)
.build();

p.cargo("run -s")
.with_stderr(
"\
error: unexpected argument '--silent' found
tip: a similar argument exists: '--quiet'
Usage: cargo run [OPTIONS] [args]...
For more information, try '--help'.
",
)
.with_status(1)
.run();

p.cargo("run --silent")
.with_stderr(
"\
error: unexpected argument '--silent' found
tip: a similar argument exists: '--quiet'
Usage: cargo run [OPTIONS] [args]...
For more information, try '--help'.
",
)
.with_status(1)
.run();
}

#[cargo_test]
fn quiet_arg_and_verbose_arg() {
let p = project()
Expand Down

0 comments on commit 0438b9c

Please sign in to comment.