Fixes #447
@ -11,6 +11,11 @@ support them.
`--list-languages` now shows filenames associated with languages
(e.g. `Cargo.lock` is TOML) in addition to extensions.
### Display
Symlinks are now expanded before calculating relative paths, resulting
in relative paths being shown in more cases.
### Build
Difftastic is now built with Ubuntu 20.04 on GitHub, so prebuilt
@ -242,8 +242,15 @@ pub enum FileArgument {
DevNull,
}
fn try_canonicalize(path: &Path) -> PathBuf {
path.canonicalize().unwrap_or_else(|_| path.into())
fn relative_to_current(path: &Path) -> PathBuf {
if let Ok(current_path) = std::env::current_dir() {
let path = try_canonicalize(path);
let current_path = try_canonicalize(¤t_path);
if let Ok(rel_path) = path.strip_prefix(current_path) {
return rel_path.into();