/ / Benutzerdefinierte zsh-Vervollständigung für eine Funktion basierend auf Standardargumenten - zsh, zsh-completion

Benutzerdefinierte zsh-Vervollständigung für eine Funktion basierend auf Standardargumenten - zsh, zsh-completion

Wie kann ich die Fertigstellung für eine Funktion basierend auf vorhandenen Beendigungsdefinitionen und Standardargumenten einrichten?

Ein vereinfachtes Beispiel (das als Alias ​​neu geschrieben werden könnte):

gpl() {
git pull origin [email protected]
}

Dies sollte den gleichen Abschluss wie nach haben git pull origin.

Antworten:

5 für die Antwort № 1
compdef -e "words[1]=(git pull origin); service=git; (( CURRENT+=2 )); _git" ggl

Dies massiert die $words, $service und $CURRENT vars, das vom Komplettierungssystem verwendet wird, und ruft dann das _git Vervollständigungsfunktion.

(Danke an Mikachu auf #zsh).