← Back to context

Comment by massysett

2 hours ago

I spent countless hours poring over the multiple man pages for zsh, along with books such as "From Bash to Zsh" and the book Peter Stephenson wrote. I wrote up decent completions for some software I wrote for personal use. My software is completely non-interactive and relied on complex trees of commands. My thinking was that completions would make it usable. But my completions were buggy and I didn't fix them for years (I'd use the completions, hit TAB, get some error messages, and say "oops, let me do this without the completions." For years.)

Years ago I thought this was fun. Now I've given up on learning zsh _arguments and the like. Instead I have made my software more interactive (an LLM helps here) and wrote it in Common Lisp (even without an LLM) so that I get decent completion behavior in SLIME for free.

I actually do like reading these things. But big shells like Bash and Zsh are brutal, especially with their random grab-bags of features that come from multiple shells of years long gone.