pub(super) mod util {
use std::io::Write;
pub fn get_config() -> std::collections::HashMap<String, String> {
let binding = directories::ProjectDirs::from("com", "lc332", "dc_rs").unwrap();
let config_file = format!(
"{}{}",
binding.config_dir().to_str().unwrap_or("."),
"/dc_rs.toml"
);
let _ = std::fs::create_dir_all(binding.config_dir());
let file = std::fs::OpenOptions::new()
.write(true)
.create_new(true)
.open(&config_file);
if file.is_ok() {
writeln!(file.as_ref().unwrap(), "prompt = \">>> \"").unwrap();
std::mem::drop(file);
} else {
std::mem::drop(file)
}
let config = config::Config::builder()
.add_source(config::File::with_name(&config_file))
.add_source(config::Environment::with_prefix("DC_CONF"))
.build()
.unwrap();
config
.try_deserialize::<std::collections::HashMap<String, String>>()
.unwrap()
}
}