A tool that returns to a landmark parent directory.
A tool that outputs a parent directory with a landmark
Ret
Ret is a tool that goes up the directory chain and returns the first directory with a landmark.
A landmark is an important property of the directory, such as the existence of a configuration file, being the user’s home directory, or being on a different drive.
This project is hosted on GitHub.
This project is on Hackage.
How to use
You can use this to go back to your project root in a jiffy by using your shell’s command substitution syntax, e.g.:
cd $(ret)
or
cd (ret)
You can specify a set of landmark names as the arguments to ret
to only use them. You can also specify a set of default landmark names in $XDG_CONFIG_HOME/ret/landmarks.txt
, one per line.
You are invited to contribute more landmark specifications! Look in the source code, it’s easy.
Shell integration
After installing (see below), you can make using ret
even more convenient by defining a shell function that does cd
for you.
e.g.
ret() {
cd $(command ret $@)
}
or
function ret
cd (command ret $argv)
end
Ret tries to get your current directory from your shell as a symbolic name using the $PWD
environment variable.
Installing
This project is hosted on Hackage. You can install it via:
cabal install ret
This project is also redistributed for Nix in Nixpkgs under haskellPackages.ret
.
Building
Clone the repository and run this in it:
cabal build