Function pathdiff::diff_paths [] [src]

pub fn diff_paths(path: &Path, base: &Path) -> Option<PathBuf>

Construct a relative path from a provided base directory path to the provided path

use pathdiff::diff_paths;
use std::path::*;

let baz: PathBuf = "/foo/bar/baz".into();
let bar: PathBuf = "/foo/bar".into();
let quux: PathBuf = "/foo/bar/quux".into();
assert_eq!(diff_paths(&bar, &baz), Some("../".into()));
assert_eq!(diff_paths(&baz, &bar), Some("baz".into()));
assert_eq!(diff_paths(&quux, &baz), Some("../quux".into()));
assert_eq!(diff_paths(&baz, &quux), Some("../baz".into()));
assert_eq!(diff_paths(&bar, &quux), Some("../".into()));