Skip to content

Commit

Permalink
Fixes #2250; Error instead of panic when root directory or config fil…
Browse files Browse the repository at this point in the history
…e not present (#2262)
  • Loading branch information
Raymi306 authored and Keats committed Dec 18, 2023
1 parent 1de1dd5 commit 2cd133b
Showing 1 changed file with 16 additions and 7 deletions.
23 changes: 16 additions & 7 deletions src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -26,18 +26,27 @@ fn get_config_file_path(dir: &Path, config_path: &Path) -> (PathBuf, PathBuf) {
std::process::exit(1);
});

// if we got here we found root_dir so config file should exist so we can unwrap safely
let config_file = root_dir
.join(config_path)
.canonicalize()
.unwrap_or_else(|_| panic!("could not find directory containing config file"));
// if we got here we found root_dir so config file should exist so we could theoretically unwrap safely
let config_file_uncanonicalized = root_dir.join(config_path);
let config_file = config_file_uncanonicalized.canonicalize().unwrap_or_else(|e| {
messages::unravel_errors(
&format!("Could not find canonical path of {}", config_file_uncanonicalized.display()),
&e.into(),
);
std::process::exit(1);
});

(root_dir.to_path_buf(), config_file)
}

fn main() {
let cli = Cli::parse();
let cli_dir: PathBuf = cli.root.canonicalize().unwrap_or_else(|_| {
panic!("Could not find canonical path of root dir: {}", cli.root.display())
let cli_dir: PathBuf = cli.root.canonicalize().unwrap_or_else(|e| {
messages::unravel_errors(
&format!("Could not find canonical path of root dir: {}", cli.root.display()),
&e.into(),
);
std::process::exit(1);
});

match cli.command {
Expand Down

0 comments on commit 2cd133b

Please sign in to comment.