rtk-ai/rtk

feat: add eza filter support

Open

#1,030 建立於 2026年4月4日

在 GitHub 查看
 (1 留言) (0 反應) (0 負責人)Rust (48,085 star) (2,914 fork)batch import
effort-mediumenhancementgood first issue

描述

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

貢獻者指南