Ok(directory) => PathBuf::from(directory),
Err(_) => match env::var(default_value) {
Ok(directory) => PathBuf::from(directory),
- Err(_) => match env::var("HOME") {
- Ok(directory) => PathBuf::from(directory).join(home_fallback),
- Err(_) => panic!(
- "Could not find required directory, {} or {} should be set and readable.",
- user_override, default_value
- ),
- },
+ Err(_) => env::var("HOME")
+ .map_or_else(
+ |_| panic!("Could not find required directory, {user_override} or {default_value} should be set and readable"),
+ |directory| PathBuf::from(directory).join(home_fallback)
+ )
},
}
.join(path)