zsh has a completion system, activated by pressing tab:
llama@llama:~$ git st<Tab>
Completing main porcelain command
stash -- stash away changes to dirty working directory
status -- show working-tree status
Completing plumbing internal helper command
stripspace -- filter out empty lines
All I've been able to figure out is that this comes from the script /usr/share/zsh/functions/Completion/Unix/_git
, where _git
is the completion command being called.
Assuming I know the name of the completion function (e.g. _git
), how could I get the output of what would happen if I entered a certain string and pressed tab? Essentially, I'm trying to take an input of ex. git st
and get the output above (programmatically, from a script).
There are many other existing questions about this for bash, but I haven't found anything explaining how to achieve this with zsh.