From 5b23a3bd703954e655e1b465679698eca8ceefe6 Mon Sep 17 00:00:00 2001 From: MeexReay Date: Thu, 19 Jun 2025 14:59:14 +0300 Subject: [PATCH] Fix: fix and improve get_config_path function --- src/chat/config.rs | 53 +++++++++++++++------------------------------- 1 file changed, 17 insertions(+), 36 deletions(-) diff --git a/src/chat/config.rs b/src/chat/config.rs index 26bb9e1..dcdf051 100644 --- a/src/chat/config.rs +++ b/src/chat/config.rs @@ -66,44 +66,25 @@ pub struct Config { pub debug_logs: bool, } +#[cfg(target_os = "windows")] pub fn get_config_path() -> PathBuf { - let mut config_dir = PathBuf::from_str(".").unwrap(); + use std::env; + env::var("APPDATA") + .ok() + .and_then(|o| Some(PathBuf::from_str(&o).ok()?.join("bRAC"))) + .unwrap_or("bRAC/config.yml".into()) +} - #[cfg(not(target_os = "windows"))] - if let Some(dir) = { - let home_dir = { - use homedir::my_home; - my_home().ok().flatten() - }; - - #[cfg(target_os = "linux")] - let config_dir = { - let home_dir = home_dir.map(|o| o.join("bRAC")); - home_dir.map(|o| o.join(".config")) - }; - - #[cfg(target_os = "macos")] - let config_dir = { - let home_dir = home_dir.map(|o| o.join("bRAC")); - home_dir.map(|o| o.join(".config")) - }; - - config_dir - } { - config_dir = dir; - } - - #[cfg(target_os = "windows")] - if let Some(dir) = { - use std::env; - env::var("APPDATA") - .ok() - .and_then(|o| Some(PathBuf::from_str(&o).ok()?.join("bRAC"))) - } { - config_dir = dir; - } - - config_dir.join("config.yml") +#[cfg(any(target_os = "macos", target_os = "linux"))] +pub fn get_config_path() -> PathBuf { + use homedir::my_home; + my_home() + .ok() + .flatten() + .map(|o| o.join(".config")) + .map(|o| o.join("bRAC")) + .unwrap_or("bRAC".into()) + .join("config.yml") } pub fn load_config(path: PathBuf) -> Config {