9 releases

new 0.2.1 Nov 22, 2020
0.2.0 Nov 22, 2020
0.1.6 Oct 24, 2020
0.1.5 Sep 28, 2020

#112 in Command line utilities

Download history 51/week @ 2020-09-16 30/week @ 2020-09-23 20/week @ 2020-09-30 12/week @ 2020-10-14 21/week @ 2020-10-21 27/week @ 2020-10-28 17/week @ 2020-11-04 10/week @ 2020-11-11

66 downloads per month

AGPL-3.0-or-later

77KB
2K SLoC

Rualdi

crates.io Crates.io Travis (.com) GitHub Workflow Status (branch) GitHub Workflow Status GitHub Workflow Status GitHub releases Crates.io Codecov

Rust Aliasing Directory

Table of contents

Introduction

Rualdi allows you to create aliases on directories and to provide an encapsulation of the built-in cd command function for easy change of working directory. You can also add environment variable which points on an alias. All variables sourced in your environment are prefixed by RAD_.

Inspired by zoxide code.

Examples

rada workdir                     # Add current directory with workdir as alias
rada www /var/www                # Add /var/www directory with www as alias
rada stuff ~/stuff               # Works with home tild alias

radax workdir                    # Add current directory with workdir as alias
                                 # and add environment variable named RAD_WORKDIR
                                 # in current environment and in configuration file
radax workdir . wd               # Add current directory with workdir as alias
                                 # and add environment variable named RAD_WD
                                 # in current environment and to the configuration file

radx workdir wd                  # Add environment variable named RAD_WD which points
                                 # on alias workdir in current environment
                                 # and to the configuration file
radx workdir                     # Add environment variable named RAD_WORKDIR
                                 # which points on alias workdir in current environment
                                 # and to the configuration file

radxn workdir wd                 # Add environment variable named RAD_WD which points
                                 # on alias workdir in current environment
                                 # without adding it to the configuration file

rad www/some-site                # Perform cd in /var/www/some-site
rad -                            # Go back to previous directory as cd do it

radr workdir                     # Remove workdir alias and environment variable associated if exists
radr www stuff                   # Works with multiple aliases at same time

radxr workdir                    # Remove environment variable which points on alias workdir

radl                             # List aliases and environment variables

Getting started

Step 1: Installing rualdi

From Cargo registry

cargo install rualdi -f

From source

cargo build --release
cp target/release/rualdi <path>

Where <path> is the path where you store your binaries.

On Debian

From source
cargo install cargo-deb
cargo deb
sudo dpkg -i /target/debian/rualdi_<version>_<arch>.deb
From .deb prebuilt released

You can download a precompiled .deb package from the releases page and add run:

sudo dpkg -i /target/debian/rualdi_<version>_<arch>.deb

Other (via precompiled binary) GitHub releases

Alternatively, you can also download a precompiled binary from the releases page and add it to your PATH.

Step 2: Adding rualdi to your shell

Currently only bash and zsh are supported.

bash

Add the following line to your ~/.bashrc:

eval "$(rualdi init bash)"

zsh

Add the following line to your ~/.zshrc:

eval "$(rualdi init zsh)"

Configuration

init flags

  • --cmd: change the rad command (and corresponding aliases) to something else.

Environment variables

  • $_RAD_ALIASES_DIR: directory where rualdi will store its aliases configuration file (default: platform-specific; see the dirs-next documentation for more information)
  • $_RAD_NO_ECHO: when set to 1, rad will not print the matched directory before navigating to it
  • $_RAD_RESOLVE_SYMLINKS: when set to 1, rad will resolve symlinks before print the matched directory.

Dependencies

~2.1–3MB
~54K SLoC