print error message when no config file found (#2168)

fixed #2195
This commit is contained in:
Ever 2023-04-07 03:28:20 +08:00 committed by Vincent Prouillet
parent 18fbbe532a
commit 201d674da1
1 changed files with 12 additions and 4 deletions

View File

@ -2,6 +2,7 @@ use std::path::{Path, PathBuf};
use std::time::Instant;
use cli::{Cli, Command};
use errors::anyhow;
use utils::net::{get_available_port, port_is_available};
use clap::{CommandFactory, Parser};
@ -13,10 +14,17 @@ mod messages;
mod prompt;
fn get_config_file_path(dir: &Path, config_path: &Path) -> (PathBuf, PathBuf) {
let root_dir = dir
.ancestors()
.find(|a| a.join(config_path).exists())
.unwrap_or_else(|| panic!("could not find directory containing config file"));
let root_dir = dir.ancestors().find(|a| a.join(config_path).exists()).unwrap_or_else(|| {
messages::unravel_errors(
"",
&anyhow!(
"{} not found in current directory or ancestors, current_dir is {}",
config_path.display(),
dir.display()
),
);
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