rtk-ai/rtk

feat: add eza filter support

Open

#1030 opened on Apr 4, 2026

View on GitHub
 (1 comment) (0 reactions) (0 assignees)Rust (48,085 stars) (2,914 forks)batch import
effort-mediumenhancementgood first issue

Description

Summary

eza is a modern ls replacement with icon, git, and tree support. It's the recommended ls alternative in many developer environments (Oh My Zsh eza plugin aliases lseza automatically). RTK handles ls already but not eza.

Current Behavior

eza --icons --git /path and eza --tree --icons --level=2 /path both pass through RTK unfiltered.

Flat listing (eza --icons --git):

1on1   AGENTS.md   automations   bets   boards   CLAUDE.md   daily   decisions   docs   ...

Tree listing (eza --tree --icons --level=2):

/Users/.../ops
├── 1on1
├── agent-skills
│   ├── closeout-core
│   ├── commit-craft-core
│   └── debrief-core
├── AGENTS.md
├── automations
│   ├── codex-tasks.md
...
(can grow to 100+ lines on large projects)

Expected Behavior

rtk eza should follow the same filtering strategy as rtk ls:

  • Truncate long flat listings with ... (X more entries)
  • Truncate deep/wide trees, preserving top levels
  • --tree --level=N with small N (1–2): likely fine to pass through
  • --tree without --level: truncate aggressively — trees can be enormous
  • --oneline / -1: already minimal, pass through
  • Flag-aware: eza --long (detailed metadata) should preserve more content since detail was explicitly requested

Why It Fits RTK's Scope

Plain text, highly predictable line structure, same use case as ls which RTK already handles. eza is increasingly the default in modern developer setups. Estimated savings: ~24K tokens across 517 commands in session history (ls -la alias resolving to eza).

Environment

  • eza 0.x (macOS + Linux)
  • Common invocations: eza --icons --git, eza --tree --icons --level=2, eza -la

Contributor guide