After fiddling with Emacs, I have a persistent thought that the shell would benefit considerably from more featureful completion in the style of Helm/Ivy, instead of just a list with an occasional ‘preview’. The shell is a programming environment, after all, with all the commands and executables being the library—so we need to finally treat it as such.
For starters, I want the completion to show the arguments order for a command, and one-line description for each option. Perhaps my completion config is just incomplete, but somehow I haven't seen any howtos of this scale yet.
As the shell developer cannot know in advance which commands and programs you'll use, it becomes a problem of providing a good way for developers to provide the shell a way to inspect and complete.
Bash has a very good way of doing that. Actually Debian based distributions have very good completion scripts.
git, apt and other very used programs have good completion.
For starters, I want the completion to show the arguments order for a command, and one-line description for each option. Perhaps my completion config is just incomplete, but somehow I haven't seen any howtos of this scale yet.