From c1f7cf859a635cdb5a2ca9e2a2afb6a6158a7679 Mon Sep 17 00:00:00 2001 From: Jeremiah Russell Date: Wed, 22 Oct 2025 17:30:57 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20fix(cli):=20load=20config=20file?= =?UTF-8?q?=20only=20if=20it=20exists?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - only load config file if it exists - prevents error when config file is not present --- src/cli/main.rs | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/cli/main.rs b/src/cli/main.rs index 7b017e3..7e9e9e0 100644 --- a/src/cli/main.rs +++ b/src/cli/main.rs @@ -428,17 +428,19 @@ fn get_config() -> Result<(Config, ClientConfig)> { let path = home_dir.join(".cull-gmail/cull-gmail.toml"); log::info!("Loading config from {}", path.display()); - let config_file = config::File::with_name(path.to_path_buf().to_str().unwrap()); - // let config_file = config_file.required(false); - log::info!("Optional Config file {config_file:?}"); - - let configurations = config::Config::builder() + let mut config_builder = config::Config::builder() .set_default("credential_file", "credential.json")? .set_default("config_root", "h:.cull-gmail")? .set_default("rules", "rules.toml")? .set_default("execute", true)? - .set_default("token_cache_env", "CULL_GMAIL_TOKEN_CACHE")? - .add_source(config_file) + .set_default("token_cache_env", "CULL_GMAIL_TOKEN_CACHE")?; + + if path.exists() { + let config_file = config::File::with_name(path.to_path_buf().to_str().unwrap()); + log::info!("Config file {config_file:?}"); + config_builder = config_builder.add_source(config_file); + } + let configurations = config_builder .add_source(config::Environment::with_prefix("APP")) .build()?;