rgrc 0.4.3

Rusty Generic Colouriser
Documentation

rgrc - Rusty Generic Colouriser

Rust License: MIT

A fast, Rust-based command-line tool that colorizes the output of other commands using regex-based rules. Drop-in replacement for grc with better performance.

Features

  • πŸš€ Fast: 10x faster than original grc
  • 🎨 Rich Colorization: ANSI colors with count/replace support
  • πŸ”§ Compatible: Works with existing grc configuration files
  • 🐚 Shell Integration: Auto-generates aliases
  • πŸ“– 80+ Commands: Pre-configured for common tools

Quick Start

Installation

Cargo:

cargo install rgrc

Homebrew:

brew tap lazywalker/rgrc
brew install rgrc

Arch Linux:

yay -S rgrc
# Colorize any command
rgrc ping -c 4 google.com
rgrc docker ps
rgrc df -h

# Set up aliases (recommended)
echo 'eval "$(rgrc --aliases)"' >> ~/.bashrc
source ~/.bashrc

# Then use commands directly
ping -c 4 google.com  # automatically colorized
docker ps             # automatically colorized

Supported Commands

System: df, free, ps, top, vmstat, iostat, uptime, mount Network: ping, traceroute, netstat, ss, ip, curl, dig Development: gcc, make, docker, kubectl, git, mvn, go Files: ls, find, du, fdisk, lsof, stat

See full list in share/ directory

Options

rgrc [OPTIONS] COMMAND [ARGS...]

--color=on|off|auto     Control color output (default: auto)
--aliases               Generate shell aliases
--all-aliases           Generate all aliases
--except=CMD,...        Exclude commands from aliases
--completions SHELL     Print completion script (bash|zsh|fish|ash)
--version, -v           Show version
--help, -h              Show help

Configuration

Custom Rules

Create ~/.config/rgrc/conf.mycommand:

regexp=^ERROR
colours=red,bold

regexp=^WARNING
colours=yellow

regexp=^INFO
colours=green

Add to ~/.rgrc:

mycommand
conf.mycommand

Shell Completions

# Bash
rgrc --completions bash > /etc/bash_completion.d/rgrc

# Zsh
rgrc --completions zsh > ~/.zfunc/_rgrc

# Fish
rgrc --completions fish > ~/.config/fish/completions/rgrc.fish

Advanced Features

Count/Replace

# Match only once per line
regexp=^\s*#
colours=cyan
count=once

# Replace matched text (with backreferences)
regexp=(ERROR|WARN|INFO)
colours=red,yellow,green
replace=[\1]

# Stop processing after match
regexp=^FATAL
colours=red,bold
count=stop

Count options: once, more (default), stop Replace: Supports \1, \2, etc.

Development

# Build
cargo build --release

# Test
cargo test

# Install locally
make release && sudo make install

License

MIT - see LICENSE for details.

Credits

Inspired by grc by Radovan GarabΓ­k and grc-rs by Lars Christensen.