Compare commits
2 Commits
6949f0b52d
...
4ec3c557fd
Author | SHA1 | Date |
---|---|---|
SadlyNotSappho | 4ec3c557fd | |
SadlyNotSappho | 7e748a8979 |
28
src/lib.rs
28
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 i'm not going to touch windows"),
|
||||
"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 {
|
||||
|
@ -41,7 +42,25 @@ pub fn create_config(file: &String) -> bool {
|
|||
}
|
||||
}
|
||||
|
||||
pub fn get_steam_location() -> () {
|
||||
pub fn get_steam_location() -> String {
|
||||
// windows: C:\Program Files (x86)\Steam
|
||||
// linux: ~/.local/share/Steam
|
||||
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"
|
||||
),
|
||||
}
|
||||
}
|
||||
pub fn get_config_location() -> String {
|
||||
// windows: ~\AppData\Roaming
|
||||
// linux: ~/.config
|
||||
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())),
|
||||
}
|
||||
}
|
||||
|
||||
pub fn read_config(file: &String) -> Config {
|
||||
|
@ -61,4 +80,3 @@ pub struct Config {
|
|||
pub latest_date: String,
|
||||
pub cache_folder: String,
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue