You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

32 lines
788 B

use std::path::PathBuf;
pub struct Settings {
pub config_path : PathBuf,
pub repo_path : PathBuf,
pub json_path : PathBuf,
}
impl Settings {
pub fn new(config_dir: Option<PathBuf>) -> Settings {
let config_dir = match config_dir {
Some(x) => x,
None => {
let mut dir = dirs::config_dir().expect("cannot open config dir");
dir.push("gitmoji-rust");
dir
}
};
let mut repo_dir = config_dir.clone();
repo_dir.push("gitmoji");
let mut json_file = config_dir.clone();
json_file.push("gitmoji.json");
Settings {
config_path: config_dir,
repo_path: repo_dir,
json_path: json_file,
}
}
}