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 {
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,
}