zsh ha un sistema di completamento, attivato premendo 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
Tutto quello che sono riuscito a capire è che questo proviene dallo script /usr/share/zsh/functions/Completion/Unix/_git
, dove _git
viene chiamato il comando di completamento.
Supponendo che conosco il nome della funzione di completamento (ad es. _git
), Come potrei ottenere l'output di cosa succederebbe se inserissi una determinata stringa e premessi tab? In sostanza, sto cercando di dare un contributo di ex. git st
e ottenere l'output sopra (a livello di codice, da uno script).
Ci sono molte altre domande esistenti su questo per bash, ma non ho trovato nulla che spieghi come ottenere questo risultato con zsh.