Skip to content

Instantly share code, notes, and snippets.

@rsteube
rsteube / a_pragmatic_approach_to_shell_completion.md
Last active April 7, 2023 17:35
A pragmatic approach to shell completion

The rise of new shells

One of the biggest improvements to my terminal experience was the switch from [Bash] to [Zsh]. The reason for this is the astonishing amount of completions provided by the community. As well as something I didn't know of before: menu completion. A mode where you can cycle through the possible values. But like [vim] [Zsh] is quite tough on new users.

Then there was [Fish]. A shell that is more accessible to new users and thus calls itself friendly. But one major catch: the break from [POSIX]. This is actually a good thing yet the lack of completions at the time prevented me to make the switch.

Now there is a new generation of shells that allow passing structured data through a pipe. This is a major thing and well worth its own article.