format and add data to config string

This commit is contained in:
SadlyNotSappho 2023-07-10 09:04:48 -07:00
parent 7e748a8979
commit 4ec3c557fd
1 changed files with 8 additions and 6 deletions

View File

@ -10,8 +10,7 @@ pub struct ConfigFile {
pub fn get_home() -> String { pub fn get_home() -> String {
let home = match std::env::consts::OS { let home = match std::env::consts::OS {
"linux" => std::env::var("HOME").expect("how is there not a $HOME"), "linux" => std::env::var("HOME").expect("how is there not a $HOME"),
"windows" => std::env::var("userprofile") "windows" => std::env::var("userprofile").expect("yell at me if this doesn't work please"),
.expect("yell at me if this doesn't work please"),
_ => std::env::var("HOME").expect( _ => std::env::var("HOME").expect(
"if this doesn't work, you're probably on macos, which i literally cannot test on", "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() { 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"); fs::write(replaced, file_contents).expect("couldn't write to config file");
true true
} else { } else {
@ -47,7 +48,9 @@ pub fn get_steam_location() -> String {
match std::env::consts::OS { match std::env::consts::OS {
"linux" => String::from(format!("{}/.local/share/Steam", get_home())), "linux" => String::from(format!("{}/.local/share/Steam", get_home())),
"windows" => String::from("C:\\Program Files (x86)\\Steam"), "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 { pub fn get_config_location() -> String {
@ -56,7 +59,7 @@ pub fn get_config_location() -> String {
match std::env::consts::OS { match std::env::consts::OS {
"linux" => String::from(format!("{}/.config", get_home())), "linux" => String::from(format!("{}/.config", get_home())),
"windows" => String::from(format!("{}\\AppData\\Roaming", 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 latest_date: String,
pub cache_folder: String, pub cache_folder: String,
} }