zsh verfügt über ein Vervollständigungssystem, das durch Drücken der Tabulatortaste aktiviert wird:
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
Ich konnte nur herausfinden, dass dies aus dem Skript stammt /usr/share/zsh/functions/Completion/Unix/_git
, in dem _git
der Abschlussbefehl aufgerufen wird.
Angenommen, ich kenne den Namen der Abschlussfunktion (z. B. _git
), wie könnte ich die Ausgabe dessen erhalten, was passieren würde, wenn ich eine bestimmte Zeichenfolge eingeben und die Tabulatortaste drücken würde? Im Wesentlichen versuche ich, eine Eingabe von ex zu nehmen. git st
und erhalten Sie die Ausgabe oben (programmgesteuert aus einem Skript).
Es gibt viele andere bestehende Fragen über diese für bash, aber ich habe nichts gefunden , zu erklären , wie dies mit zsh zu erreichen.
zsh
autocomplete
Türknauf
quelle
quelle
Antworten:
Dies kann mithilfe der zsh-Capture-Vervollständigung erfolgen . Die Datei README.md des Repositorys enthält mehrere Beispiele:
Beachten Sie, dass das Paket selbst angibt, dass es sich um einen Proof of Concept handelt und daher Fehler in seiner Ausführung enthalten kann.
quelle