diff --git a/src/bin/cargo/commands/vendor.rs b/src/bin/cargo/commands/vendor.rs index 05e0d7defd5..3f9c2dcaf3e 100644 --- a/src/bin/cargo/commands/vendor.rs +++ b/src/bin/cargo/commands/vendor.rs @@ -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 `cargo help vendor` for more detailed information.\n" diff --git a/src/cargo/util/command_prelude.rs b/src/cargo/util/command_prelude.rs index dcfabb3c259..bd8889bef2c 100644 --- a/src/cargo/util/command_prelude.rs +++ b/src/cargo/util/command_prelude.rs @@ -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')) } diff --git a/tests/testsuite/run.rs b/tests/testsuite/run.rs index 2d65bb7f7de..da4a8afe62c 100644 --- a/tests/testsuite/run.rs +++ b/tests/testsuite/run.rs @@ -46,9 +46,9 @@ fn unsupported_silent_arg() { p.cargo("run -s") .with_stderr( "\ -error: unexpected argument '-s' found +error: unexpected argument '--silent' found - tip: to pass '-s' as a value, use '-- -s' + tip: a similar argument exists: '--quiet' Usage: cargo run [OPTIONS] [args]... @@ -63,7 +63,7 @@ For more information, try '--help'. "\ error: unexpected argument '--silent' found - tip: to pass '--silent' as a value, use '-- --silent' + tip: a similar argument exists: '--quiet' Usage: cargo run [OPTIONS] [args]...