From 4ec3c557fd21ed496fb3551e032770746d3200aa Mon Sep 17 00:00:00 2001 From: SadlyNotSappho Date: Mon, 10 Jul 2023 09:04:48 -0700 Subject: [PATCH] format and add data to config string --- src/lib.rs | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 07d0da2..7da6a5f 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -10,8 +10,7 @@ pub struct ConfigFile { pub fn get_home() -> String { let home = match std::env::consts::OS { "linux" => std::env::var("HOME").expect("how is there not a $HOME"), - "windows" => std::env::var("userprofile") - .expect("yell at me if this doesn't work please"), + "windows" => std::env::var("userprofile").expect("yell at me if this doesn't work please"), _ => std::env::var("HOME").expect( "if this doesn't work, you're probably on macos, which i literally cannot test on", ), @@ -33,7 +32,9 @@ pub fn create_config(file: &String) -> bool { }; if file_path.exists() && !Path::new(&replaced).exists() { - let file_contents = "{{ \"archives\": \"{{CONFIG}/CyberModManager/Archives\", \"folders\": \"{{CONFIG}/CyberModManager/Mods\", \"game_folder\": \"{{STEAM}/steamapps/common/Cyberpunk 2077\"}"; + let config = get_config_location(); + let steam = get_steam_location(); + let file_contents = format!("{{ \"archives\": \"{}/CyberModManager/Archives\", \"folders\": \"{}/CyberModManager/Mods\", \"game_folder\": \"{}/steamapps/common/Cyberpunk 2077\"}}", config, config, steam); fs::write(replaced, file_contents).expect("couldn't write to config file"); true } else { @@ -47,7 +48,9 @@ pub fn get_steam_location() -> String { match std::env::consts::OS { "linux" => String::from(format!("{}/.local/share/Steam", get_home())), "windows" => String::from("C:\\Program Files (x86)\\Steam"), - _ => panic!("if ya tell me what OS you're on and where your steam location is, i can fix this") + _ => panic!( + "if ya tell me what OS you're on and where your steam location is, i can fix this" + ), } } pub fn get_config_location() -> String { @@ -56,7 +59,7 @@ pub fn get_config_location() -> String { match std::env::consts::OS { "linux" => String::from(format!("{}/.config", get_home())), "windows" => String::from(format!("{}\\AppData\\Roaming", get_home())), - _ => String::from(format!("{}/.config", get_home())) + _ => String::from(format!("{}/.config", get_home())), } } @@ -77,4 +80,3 @@ pub struct Config { pub latest_date: String, pub cache_folder: String, } -