A pragmatic approach to shell completion
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.
One of these is Elvish, a shell written in Go that runs on Linux, BSDs, macOS, and Windows. It is also the shell that managed to make me switch again.
But let's focus on another of its features: filtering of entries during menu completion. And not just the values but the descriptions as well. You will understand later why this is important.
Elvish only has a few completions though so I am back at the same problem I had with Fish. This time however I've got some tools under my belt.
So let's change that...