Command completions are awesome when they work. A great example is the docker command completion. It helps a lot: if you don’t know the possible commands or options, it shows them to you. If you do know them, you only have to type few letters and hit <TAB>. The best is when shows options which it dynamically generates, e.g. when you want to inspect an image, “docker image inspect <TAB><TAB>” will show you the images you can inspect. A real time saver.
Using firejail made me want to have command completion for it too as it has a ton of command line options. And some of them can have dynamic updates. There’s a completion script for bash part of the firejail repo, but no zsh.
So I created one. Was an interesting experience. And definitely helps me using firejail.
Most helpful was this blog post which is one of the very few simple zsh completion examples I found.