I wrote this script to learn how completing-read’s complex arguments works. Compared to other clients it’s quite limited; but thanks to packages like Vertico and Orderless, it works quite well for my use cases.

Screenshot