Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/azzamsa/toor

Find project root 🫚
https://github.com/azzamsa/toor

Last synced: 6 days ago
JSON representation

Find project root 🫚

Awesome Lists containing this project

README

        


Toor

Find project root.


Build status






Sponsor me


---

Say goodbye to the tedious dance of `cd ..; cd..; cd.. (10x)` or convoluted aliases like `..`, `....`, `........`.
Embrace simplicity with just one command -- introducing `toor`. Bind it to your favorite shell, and voila!
A single `r` keystroke transports you straight to the root directory. Effortlessly elevate your command line experience with a touch of magic.

## Features

- Fancy error message and colorful output.
- Cross-platform and single binary.

## Usage

```bash
🦄 toor --help

rust on master is 📦 v0.1.0 via 🦀 v1.74.0
🦄 toor
/home/user/playground/rust

~/playground
🦄 toor
Error: toor::no_project_root (link)

× Project root is not found.
help: Make sure the project root exists.
```

### Integration With Other Tools

#### Fish Shell

```fish
#
# toor
function r # root
set project_root (toor 2>/dev/null)

if test -n "$project_root"
# If successful, change to the project root directory
cd "$project_root"
echo "Changed to project root: $project_root"
else
# If not successful, stay in current directory
echo "Project root not found. I dont' go anywhere 📍"
end
end
```

## Installation

### From Binaries

The [release page](https://github.com/azzamsa/toor/releases) includes
pre-compiled binaries for GNU/Linux, macOS, and Windows.

### From Source

Using [cargo-binstall](https://github.com/cargo-bins/cargo-binstall)

```bash
$ cargo binstall toor
```

Using Rust's package manager [cargo](https://github.com/rust-lang/cargo):

```bash
$ cargo install toor
```

## Development

```bash
git clone https://github.com/azzamsa/toor

# Build
cd toor
cargo build

# Run unit tests and integration tests
cargo test

# Install
cargo install --path .
```

## Contributing

To learn more read [the development guide](docs/dev/README.md)

## Origin of The Name

The term "toor" is a whimsical variation of "root".

## Credits

- [bbatsov's `projectile-project-root`](https://github.com/bbatsov/projectile)
- [Noto Emoji](https://github.com/googlefonts/noto-emoji)