diff options
author | Canop <cano.petrole@gmail.com> | 2022-01-23 17:32:51 +0100 |
---|---|---|
committer | Canop <cano.petrole@gmail.com> | 2022-01-23 17:32:51 +0100 |
commit | 4cfb2d0e8568cb4594211f33a7fd5019fc36d88b (patch) | |
tree | a8f872074e74b1abbcfae66df31443528a964378 /src | |
parent | 375a29fe7526e7ab7a9aa4288772a4dca79a8c82 (diff) |
clearer error on bad default_flags in conf file
Fix #483
Diffstat (limited to 'src')
-rw-r--r-- | src/tree/tree_options.rs | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/tree/tree_options.rs b/src/tree/tree_options.rs index f745d69..97d9c9c 100644 --- a/src/tree/tree_options.rs +++ b/src/tree/tree_options.rs @@ -8,6 +8,7 @@ use { pattern::*, }, clap::ArgMatches, + crossterm::style::Stylize, std::convert::TryFrom, }; @@ -81,7 +82,18 @@ impl TreeOptions { if let Some(default_flags) = &config.default_flags { let clap_app = clap_args::clap_app().setting(clap::AppSettings::NoBinaryName); let flags_args = format!("-{}", default_flags); - let conf_matches = clap_app.get_matches_from(vec![&flags_args]); + let conf_matches = match clap_app.get_matches_from_safe(vec![&flags_args]) { + Ok(cm) => cm, + Err(e) => { + error!("bad default_flags in conf: {:?}", default_flags); + eprintln!( + "{} Invalid default_flags in configuration file: \"{}\"", + "error:".red(), + default_flags.to_string().red(), + ); + e.exit(); + } + }; self.apply_launch_args(&conf_matches); } if let Some(b) = &config.show_selection_mark { |