ret: A tool that returns to a landmark parent directory

[ mit, program, tool ] [ Propose Tags ]

A tool that outputs a parent directory with a landmark


[Skip to Readme]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1.4.2, 0.1.5.0, 0.1.5.1, 0.1.5.2, 0.2.0.0, 0.2.1.0, 0.2.2.0, 0.3.0.0, 0.3.0.1, 0.4.0.0, 0.5.0.0 (info)
Change log CHANGELOG.md
Dependencies base (>=4.15 && <4.19), case-insensitive (>=1.2 && <1.3), containers (>=0.6 && <0.7), directory (>=1.3 && <1.4), filepath (>=1.4 && <1.5), unix (>=2.7 && <2.9) [details]
License MIT
Copyright ⓒ 2023 Anselm Schüler
Author Anselm Schüler
Maintainer mail@anselmschueler.com
Category Tool
Home page https://github.com/schuelermine/ret
Bug tracker https://github.com/schuelermine/ret/issues
Source repo this: git clone https://github.com/schuelermine/ret(tag v0.5.0.0)
head: git clone https://github.com/schuelermine/ret -b b0
Uploaded by anselmschueler at 2023-08-13T18:52:32Z
Distributions NixOS:0.5.0.0
Executables ret
Downloads 382 total (25 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
Last success reported on 2023-08-13 [all 1 reports]

Readme for ret-0.5.0.0

[back to package description]

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