I.e. apps like Fabric v2 which leverage invoke.program.Program.
Presently, my local dev workstation has an item in its dotfiles that says source ~/Code/oss/invoke/completion/zsh. Works great for inv. Doesn't do jack for fab.
The upshot of that Invoke completion script is that it looks to invoke --complete -- <whatever is being tab completed>. If I do the same for fab (with a local fabfile.py - without any fabfile.py, or tasks.py for invoke, things don't work at all -- not great -- needs to be another ticket) it works as well.
So the question is "how should developers using Invoke to drive their own non-inv CLI apps, distribute tab completion helper scripts?". Not sure what works great here - some silly meta-script that generates files like /completion/zsh with the correct per-project binary name(s) substituted?
I.e. apps like Fabric v2 which leverage
invoke.program.Program.Presently, my local dev workstation has an item in its dotfiles that says
source ~/Code/oss/invoke/completion/zsh. Works great forinv. Doesn't do jack forfab.The upshot of that Invoke completion script is that it looks to
invoke --complete -- <whatever is being tab completed>. If I do the same forfab(with a localfabfile.py- without anyfabfile.py, ortasks.pyfor invoke, things don't work at all -- not great -- needs to be another ticket) it works as well.So the question is "how should developers using Invoke to drive their own non-
invCLI apps, distribute tab completion helper scripts?". Not sure what works great here - some silly meta-script that generates files like/completion/zshwith the correct per-project binary name(s) substituted?