2016-08-04 43 views
0

Ich versuche, eine Autocomplete-Funktion für eine benutzerdefinierte ausführbare Datei schreiben, die Dateiargumente aus einem bestimmten Ordner übernimmt.ZSH automatische Vervollständigung bieten vollständigen Pfad zu Dateien in einem bestimmten Ordner

$ ./my_executable <tab> sollte die Dateien im Ordner /home/me/argument_files bereitstellen.

Ich habe, dass die Arbeit mit: compdef '_files -W /home/me/argument_files' my_executable

Das Problem ist, dass ich den vollständigen Pfad zu dem Argumente Dateien my_executable zur Verfügung stellen muß. Dies liefert nur $ /home/me/my_executable file1 im Gegensatz zu

$ /home/me/my_executable /home/me/argument_files/file1.

Wie mache ich das?

Antwort

1

Verwenden Sie die compadd Option -P:

compdef '_files -P /home/me/argument_files -W /home/me/argument_files' my_executable 
+0

wie ein Charme, danke! – Sidd