QALI (q)

Quick Aliasing

Crates.io Crates.io

asciicast

Purpose

QALI can... - Shorten long & complex commands - Act as a namespace for your custom scripts (stop worrying about conflicting names with system commands!) - Make you type less - Reduce your mental workload

Installation

Homebrew (for macOS)

shell brew tap JettChenT/qali brew intall qali

From release

download the latest release of your platform, unzip, and move q and qali binaries to your bin folder (usually /usr/local/bin)

Cargo

A Rust installation is required shell cargo install qali

Note for windows users:

To run the QALI on a windows machine without encoding errors, use windows terminal.

q.exe works...

but qali.exe somehow gets detected as a trojan virus (I wish I know how to make one (>_<)

This can be solved by allowing the "virus" in windows defender.

Luckily, qali.exe is not required for simple actions such as setting and executing an alias.

The Commands

This installs two separate binaries : q and qali.

The command q is meant for actions with the highest usage frequency, such as setting and alias or executing a command.

The command qali is meant as a companion allowing for subcommands and more functionality without influencing the namespace in q which is set reserved completly by the users.

Usage

q --help

qali --help

Supported alias types:

Examples:

Set an alias

Example: set gs as git status shell q -s gs "git status"

Set p as python if p doesn't exist shell q p python

Set hi to ./hi.py with qali shell qali set hi ./hi.py

Execute aliases interactively (fuzzy select)

Method 1: q

Method 2: qali select

Execute aliases directly

Example: execute git status shell q gs Execute python --version (As of now, use -- when executing a command to stop flags meant for the program being parsed as flags for qali itself.) shell q -- p --version

List all existing commands

qali list

Alternatively, you can set q -s ls "qali list" to shorten this.

Remove a command

Example: remove gs as git status:

qali remove gs

Alternatively, you can set q -s rm "qali remove" to shorten this.

Features to implement