summaryrefslogtreecommitdiff
path: root/cli/main.rs
diff options
context:
space:
mode:
authorLuca Casonato <lucacasonato@yahoo.com>2021-01-09 13:08:03 +0100
committerGitHub <noreply@github.com>2021-01-09 13:08:03 +0100
commit43618954766a2ba525541501422bb6e7d5ccc913 (patch)
tree0888ff00f10667acdb3c149465346767e80f0458 /cli/main.rs
parent6d7da6309eb73905ebc86ba2820c741670ac0fd3 (diff)
fix: don't error on version and help flag (#9064)
Diffstat (limited to 'cli/main.rs')
-rw-r--r--cli/main.rs13
1 files changed, 11 insertions, 2 deletions
diff --git a/cli/main.rs b/cli/main.rs
index a3b8f3a6d..c9644073b 100644
--- a/cli/main.rs
+++ b/cli/main.rs
@@ -1261,8 +1261,17 @@ pub fn main() {
std::process::exit(1);
}
- let flags =
- unwrap_or_exit(flags::flags_from_vec(args).map_err(AnyError::from));
+ let flags = match flags::flags_from_vec(args) {
+ Ok(flags) => flags,
+ Err(err @ clap::Error { .. })
+ if err.kind == clap::ErrorKind::HelpDisplayed
+ || err.kind == clap::ErrorKind::VersionDisplayed =>
+ {
+ err.write_to(&mut std::io::stdout()).unwrap();
+ std::process::exit(0);
+ }
+ Err(err) => unwrap_or_exit(Err(AnyError::from(err))),
+ };
if !flags.v8_flags.is_empty() {
init_v8_flags(&*flags.v8_flags);
}