I’ve always been addicted to staring at a screen all day, writing — whether it’s code or a story. But this passion comes with a cost, at least for me. I struggle with eye strain and painful migraines, and it genuinely hurts to use these devices, no matter how many “protective layers” I add. By that, I mean things like enabling dark mode, blocking blue light from screens, and wearing anti-reflective glasses. They help, sure — but not enough. A fraction of the discomfort always remains.
And it gets even worse WHEN WORKING IN THE TERMINAL.
All that plain white output gets me dizzy. It forces me to take frequent breaks throughout the day. I just can’t stand looking at walls of unstyled, uncolored text. Ironically, it ends up being distracting.
Of course, I’ve tried to fix this. I added an Oh My Zsh syntax-highlighting plugin, switched to most as a pager for man pages, and installed tools like bat, eza, and grc.
And yes — it helped.
My terminal looks better now, and spending time in it has become easier.
But still… some commands remain stubbornly plain.
Maybe this sounds like overreacting — and maybe you’re right — but I just want a fully colored terminal experience. You can’t blame me for that, right?
That’s why I built this function, colored-help, which automatically colorizes help output to improve readability via bat. At first, I implemented it with a Zsh preexec hook, but I ran into strange issues: commands wouldn’t exit cleanly with q or Ctrl+C, and — help outputs would linger on the screen. So, I turned to my beloved ChatGPT, which introduced me to ZLE widgets — and that changed everything.
Terms explained
bat — A modern replacement for cat with syntax highlighting, Git integration, and prettier output formatting.
eza — A modern alternative to ls with colors, icons, tree views, and improved file metadata display.
most — A terminal pager similar to less, but with syntax highlighting and support for multiple windows.
grc — A tool that adds color and formatting to the output of many common command-line programs.
ZLE (Zsh Line Editor) — The interactive command-line editor built into Zsh. It allows you to create custom widgets, keybindings, and shell behaviors.
preexec hook — A Zsh hook function that runs automatically right before a command executes.
Why am I sharing this?
Because I’d really appreciate your feedback. What do you think of my approach? Is there a better way to implement this? I’m also thinking of extending it. Are there other tools or “10x hacks” I might be missing?
Please don’t hesitate to share your thoughts — I’d genuinely love to hear them.


Top comments (0)