qali 0.3.1

QALI: Quick ALIasing in the terminal
Documentation

QALI (q)

Quick Aliasing

Crates.io Crates.io

Note: we're currently in the stage of initial development.

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

Currently, a Rust installation is required

cargo install qali

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:

  • Command: one liners, eg. q -s hi "echo hi"
  • Shell: Shell scripts, eg. q -s hi hello.sh (EXPERIMENTAL)
  • Python: Python scripts, eg. q -s hi hello.py (EXPERIMENTAL)
  • URI: open URI in default application, eg. q -s hi https://beta.sayhello.so (EXPERIMENTAL)

Examples:

Set an alias

Example: set gs as git status

q -s gs "git status"

Set p as python if p doesn't exist

q p python 

Set hi to ./hi.py with qali

qali set hi ./hi.py

Execute an command via alias

Execute aliases interactively Method 1:q

Method 2:qali select

Example: execute git status

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.)

q -- p --version

List all existing commands

qali list

Remove a command

Example: remove gs as git status:

qali remove gs

Features to implement

  • Better output formatting
  • Subcommands
  • Change storage method to json or other serde formats
  • Allow users to set descriptions for each command
  • Linking to shell scripts
  • Linking to python scripts(support for python environments)
  • TUI to navigate existing commands
  • Implement fuzzy finding
  • More customizable options eg. print-only