1
0
mirror of https://github.com/jht5945/rust_util.git synced 2025-12-28 16:10:05 +08:00

add get_home_path

This commit is contained in:
2019-07-21 22:47:03 +08:00
parent 030f5fbae4
commit 8bc701934a

View File

@@ -37,18 +37,22 @@ pub fn is_macos_or_linux() -> bool {
is_macos() || is_linux() is_macos() || is_linux()
} }
pub fn get_home() -> Option<String> { pub fn get_home_str() -> Option<String> {
match is_macos_or_linux() { match is_macos_or_linux() {
true => env::var("HOME").ok(), true => env::var("HOME").ok(),
false => None, false => None,
} }
} }
pub fn get_home_path() -> Option<PathBuf> {
Some(PathBuf::from(get_home_str()?))
}
pub fn get_absolute_path(path: &str) -> Option<PathBuf> { pub fn get_absolute_path(path: &str) -> Option<PathBuf> {
if path == "~" { if path == "~" {
return Some(PathBuf::from(get_home()?)); return Some(PathBuf::from(get_home_str()?));
} else if path.starts_with("~/") { } else if path.starts_with("~/") {
return Some(PathBuf::from(&format!("{}/{}", get_home()?, &path[2..]))); return Some(PathBuf::from(&format!("{}/{}", get_home_str()?, &path[2..])));
} }
fs::canonicalize(path).ok() fs::canonicalize(path).ok()
} }