use std::{env, path::{Path, PathBuf}};
pub fn expand_user<P: AsRef<Path>>(path: P) -> PathBuf {
let mut path_buf = PathBuf::from(path.as_ref());
if path_buf.starts_with("~") {
if let Some(home_dir) = env::var_os("HOME") {
let home = Path::new(&home_dir);
path_buf = home.join(path_buf.strip_prefix("~").unwrap());
}
}
path_buf
}
pub fn must_to_string<P: AsRef<Path>>(path: P) -> String {
if let Some(s) = path.as_ref().to_str() {
return s.to_string();
}
String::new()
}
pub fn must_get_filename<P: AsRef<Path>>(path: P) -> String {
path.as_ref().file_name().expect("Failed get filename").to_string_lossy().into_owned()
}