Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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