Remember that there is a third type of quotes in bash/zsh: the $'string' variant, which expands sequences such as \n. You may want to include those semantics in "string", so we're down to two different quote types instead of 3.
You have all completion functions in a single 1482-line shell script, which is of course the opposite of getting rid of bloat. Zsh does this nicely, by putting completion for each command in its own file. That file is read every time the user presses TAB, so it doesn't have to keep all the 35778 lines of completion scripts in memory.
I fail to see your problem with wild card expansion. In zsh, when I type "echo *.txt" and press TAB, it will expand to a space-separated list of all *.txt files in the current directory. Some of your other gripes with zsh makes it sound like its configuration was deliberately crippled for compatibility or it at least failed to execute /usr/share/zsh/$ZSH_VERSION/zshrc_default.
With that said, I'm excited about the promise of fish. The syntax highlighting alone will be enough for me to recommend it to novices.
As for myself, I've grown too used to all the little details that make zsh so powerful, so I probably won't be switching until fish syntax is as bloated as other shells. Which is probably not what you want.
Copyright © 2017, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds