zsh dispose d'un système de complétion, activé en appuyant sur 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
Tout ce que j'ai pu comprendre, c'est que cela vient du script /usr/share/zsh/functions/Completion/Unix/_git, où _gitest appelée la commande d'achèvement.
En supposant que je connaisse le nom de la fonction d'achèvement (par exemple _git), comment puis-je obtenir la sortie de ce qui se passerait si j'entrais une certaine chaîne et appuyais sur tab? Essentiellement, j'essaye de prendre une entrée d'ex. git stet obtenez la sortie ci-dessus (par programme, à partir d'un script).
Il y a beaucoup d' autres existants des questions sur ce pour bash, mais je n'ai rien trouvé qui explique comment atteindre cet objectif avec zsh.