Skip to content

Ret is a tool that goes up the directory chain and returns the first directory with a landmark.

License

Notifications You must be signed in to change notification settings

schuelermine/ret

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Ret is a tool that goes up the directory chain and returns the first directory with a landmark.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published