Files
rich-print/README.md

1.7 KiB

rp

Rich print files — markdown, JSON, code, and more — beautifully in your terminal.

Features

  • Syntax highlighting for 500+ languages via Pygments
  • Markdown rendering with headings, code blocks, tables, and links
  • JSON formatting with syntax highlighting
  • Pager integration with mouse scrolling support
  • Stdin support for piping content

Installation

Install globally with uv

uv tool install .

Run directly with uv

uv run rp <file>

Usage

Basic file input

rp README.md
rp config.json
rp script.py

Read from stdin

cat data.json | rp
echo '{"status": "ok"}' | rp
curl -s https://api.example.com | rp

Force file type

rp --type python script.txt
rp -t json data.txt

Guess from content

cat patch.txt | rp --guess-content
rp --guess-content snippet.txt

Pager control

rp --pager README.md      # Force pager
rp --no-pager file.py     # Disable pager

The pager prefers less -R --mouse for mouse scrolling when available, otherwise falls back to the system pager.

Show version

rp --version

Development

Setup

uv sync

Testing

uv run pytest           # Run all tests
uv run pytest -v        # Verbose output
uv run pytest tests/test_detect.py  # Single file

Linting & Type Checking

uv run ruff check src/
uv run ruff format src/
uv run mypy src/

Build

uv build

Workflow

  • main — stable release branch
  • dev — integration branch for day-to-day work
  • Short-lived branches: feature/<topic>, fix/<topic>, docs/<topic>
  • Open PRs into dev (squash merge); merge dev to main for releases

License

MIT