workspace 0.4.1

a command-line project manager
use std::path::PathBuf;

pub trait Tilde {
    fn tilde_format(&self) -> String;
}

impl Tilde for PathBuf {
    fn tilde_format(&self) -> String {
        let path = self.display().to_string();
        let home_dir = match dirs::home_dir() {
            Some(dir) => dir.display().to_string(),
            None => String::new(),
        };
        if path.starts_with(home_dir.as_str()) {
            path.replacen(home_dir.as_str(), "~", 1)
        } else {
            path
        }
    }
}