use std::path::PathBuf;
pub fn config_dir() -> PathBuf {
let home = dirs::home_dir().expect("Failed to get home directory");
home.join(".sgdkx").join("data")
}
pub fn sgdk_dir() -> PathBuf {
config_dir().join("SGDK")
}
pub fn toolchain_dir() -> Option<PathBuf> {
let d = config_dir().join("m68k-elf-toolchain");
d.join("bin").is_dir().then_some(d)
}
pub fn jre_dir() -> Option<PathBuf> {
let d = config_dir().join("jre");
d.join("bin").is_dir().then_some(d)
}
pub fn is_installed() -> bool {
sgdk_dir().join("bin").is_dir()
}
pub fn installed_version() -> Option<String> {
let text = std::fs::read_to_string(config_dir().join("config.toml")).ok()?;
let doc: toml_edit::DocumentMut = text.parse().ok()?;
doc.get("sgdk")?
.as_inline_table()?
.get("version")?
.as_str()
.map(str::to_string)
}