3 releases (breaking)

0.3.0 Jan 9, 2024
0.2.0 Dec 22, 2023
0.1.0 Nov 30, 2023

#2862 in Command line utilities

31 downloads per month

MIT license

19KB
141 lines

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

🦄 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

#
# 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 includes pre-compiled binaries for GNU/Linux, macOS, and Windows.

From Source

Using cargo-binstall

$ cargo binstall toor

Using Rust's package manager cargo:

$ cargo install toor

Development

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

Origin of The Name

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

Credits

Dependencies

~4.5–6MB
~114K SLoC