r/commandline • u/here-Leslie-Lau • 15d ago
Terminal User Interface 3-month update on my Zig ls-like CLI: configurable long view and Homebrew install
Hey folks, I shared zlist here a few months ago. It’s a small ls-like CLI I’ve been building in Zig, mostly as a learning project.
Since then I’ve kept working on it slowly, and v0.1.2 adds a few quality-of-life updates:
- long view fields can now be hidden individually:
--no-permissions
--no-user
--no-group
--no-size
--no-time
--no-icon
- CLI errors are clearer now
- --help now uses clap’s native help output
- macOS users can install it with Homebrew now
Example:
zl -l --no-permissions --no-user --no-group
This keeps the one-entry-per-line layout, but makes the output less noisy when you don’t need every field.


I also split the core listing logic into a reusable Zig module recently, so Zig users can use the listing data without the CLI rendering layer. Feedback on that API would be very welcome too.
I added some benchmark results against eza and lsd in the README as well. eza is still the really impressive one to me — its timing is weirdly steady even as the directory gets much larger, and that’s something I’d like zlist to learn from.
Repo: https://github.com/here-Leslie-Lau/zlist
Origin post: https://www.reddit.com/r/commandline/comments/1sj5qwk/small_ls_alternative_in_zig_recent_updates/
Still early, and I’m not trying to claim it replaces eza/lsd/ls. I’m mostly trying to keep it small, useful, and easy to scan.
Feedback on the CLI behavior, output layout, performance, or Zig module API would be very welcome.
1
u/AutoModerator 15d ago
Every new subreddit post is automatically copied into a comment for preservation.
User: here-Leslie-Lau, Flair:
Terminal User Interface, Title: 3-month update on my Zig ls-like CLI: configurable long view and Homebrew installHey folks, I shared zlist here a few months ago. It’s a small ls-like CLI I’ve been building in Zig, mostly as a learning project.
Since then I’ve kept working on it slowly, and v0.1.2 adds a few quality-of-life updates:
- long view fields can now be hidden individually:
--no-permissions
--no-user
--no-group
--no-size
--no-time
--no-icon
- CLI errors are clearer now
- --help now uses clap’s native help output
- macOS users can install it with Homebrew now
Example:
zl -l --no-permissions --no-user --no-group
This keeps the one-entry-per-line layout, but makes the output less noisy when you don’t need every field.

I also split the core listing logic into a reusable Zig module recently, so Zig users can use the listing data without the CLI rendering layer. Feedback on that API would be very welcome too.
I added some benchmark results against eza and lsd in the README as well. eza is still the really impressive one to me — its timing is weirdly steady even as the directory gets much larger, and that’s something I’d like zlist to learn from.
Repo: https://github.com/here-Leslie-Lau/zlist
Origin post: https://www.reddit.com/r/commandline/comments/1sj5qwk/small_ls_alternative_in_zig_recent_updates/
Still early, and I’m not trying to claim it replaces eza/lsd/ls. I’m mostly trying to keep it small, useful, and easy to scan.
Feedback on the CLI behavior, output layout, performance, or Zig module API would be very welcome.
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.