Mache zsh komplette Argumente aus einer Datei

8

zsh ist großartig, aber sein Komplettsystem ist sehr vielfältig. Und der Dokumentation fehlen gute Beispiele. Gibt es eine Vorlage zum Ausfüllen für eine bestimmte Anwendung? Der Abschluss würde seine Matchdaten aus einer Datei erhalten, getrennt durch Zeilenumbrüche?

Ich habe versucht, ein älteres Beispiel von mir zu modifizieren, das Spieldaten "live" aufnimmt:

%Vor%

Ich könnte dort cat my_file anstelle von mpc aufrufen und so weiter. Aber würde es eine elegantere Art geben, diese einfache Aufgabe zu erledigen? Und diese Vervollständigung ist dort placement-spezifisch: Können Sie ein Beispiel angeben, bei dem zsh versuchen würde, zu einem beliebigen Zeitpunkt zu vervollständigen, nachdem der Programmname erkannt wurde?

Die Match-Daten haben Whitespaces und so weiter, die Completion sollte dem WS entkommen. Beispiel dafür:

%Vor%

Wenn diese Ergänzung für einen Befehl Say konfiguriert würde, sollten wir diese Art von Verhalten aus zsh herausholen:

%Vor%     
progo 26.06.2013, 11:35
quelle

1 Antwort

15

Einfache Fertigstellungsbedürfnisse werden mit _describe besser angegangen, sie paaren ein Array mit Abschlussoptionen und einer Beschreibung für sie (Sie können mehrere Array- / Beschreibungspaare verwenden, lesen Sie das Handbuch).

( _arguments ist großartig, aber zu komplex.)

[...]

Erstellen Sie zuerst eine Datei

%Vor%

Dann erstellen Sie eine Datei _simple irgendwo in Ihrem $fpath :

%Vor%

dann

%Vor%

es funktioniert. Stellen Sie nur sicher, dass die Vervollständigungsdatei _simple irgendwo in Ihrer fpath platziert ist.

Beachten Sie, dass : in der Optionsliste verwendet werden soll, um eine Option von ihrer (individuellen) Beschreibung zu trennen ( oh:noes ). Das funktioniert nicht mit _describe , es sei denn, Sie geben es an ( oh\:yes ). Das auskommentierte Beispiel _arguments verwendet das : nicht als Trennzeichen.

    
Francisco 26.06.2013, 12:42
quelle

Tags und Links