Function xplr::lua::util::shorten

source ·
pub fn shorten<'a>(util: Table<'a>, lua: &Lua) -> Result<Table<'a>>
Expand description

Shorten the given absolute path using the following rules:

  • either relative to your home dir if it makes sense
  • or relative to the current working directory
  • or absolute path if it makes the most sense

Type: Similar to xplr.util.relative_to

Example:

xplr.util.shorten("/home/username/.config")
-- "~/.config"

xplr.util.shorten("/present/working/directory")
-- "."

xplr.util.shorten("/present/working/directory/foo")
-- "foo"

xplr.util.shorten("/present/working/directory/foo", { with_prefix_dots = true })
-- "./foo"

xplr.util.shorten("/present/working/directory", { without_suffix_dots = true })
-- "../directory"

xplr.util.shorten("/present/working/directory", { base = "/present/foo/bar" })
-- "../../working/directory"

xplr.util.shorten("/tmp")
-- "/tmp"