Given a directory, return the relative path that is relative to this
directory. For example, the path foo/bar.txt relative to the directory
foo/ is bar.txt, and the path /a/b/c.txt relative to
/d/e/ is ../../a/b/c.txt.
Arguments
- x
A vector of paths to be converted to relative paths.
- dir
Path to a directory.
- use..
Whether to use double-dots (
..) in the relative path. A double-dot indicates the parent directory (starting from the directory provided by thedirargument).- error
Whether to signal an error if a path cannot be converted to a relative path.
Value
A vector of relative paths if the conversion succeeded; otherwise the
original paths when error = FALSE, and an error when error = TRUE.
Examples
xfun::relative_path("foo/bar.txt", "foo/")
#> [1] "bar.txt"
xfun::relative_path("foo/bar/a.txt", "foo/haha/")
#> [1] "../bar/a.txt"
xfun::relative_path(getwd())
#> [1] "."