Ja, Drush auch kann Autocompletition, zu deutsch “Autovervollständigung” und das anscheinenend nicht erst seit gestern, obwohl erst gestern entdeckt…
Tab-Vervollständigung
Ganz genau genommen, spricht man in diesem Fall der Autovervollständigung von einer Befehlszeilenergänzung bzw. Tab-Vervollständigung. Es besteht auch im Drush-Kontext die Möglichkeit Drush-Befehle, globale Drush-Optionen und den spezifischen Optionen zu einem Drush-Befehlen durch “tabben” (dem ein- oder zweimaligen Drücken der Tabulator Taste) in der Shell zu vervollständigen.
Beispiele
Tab-Vervollständigung von globalen Drush-Optionen:
florian@box:/var/www/example.com/drupal$ drush @git --<tab><tab>
--alias-path --backend
--backup-location --cache-class-<bin>
--cache-default-class --choice
--command-specific --complete-debug
--config --confirm-rollback
[...]
Tab-Vervollständigung von Drush-Befehlen, die mit sql- beginnen:
florian@box:/var/www/example.com/drupal$ drush @git sql-<tab><tab>
sql-cli sql-conf sql-connect sql-create sql-drop
sql-dump sql-query sql-sanitize sql-sync
Vervollständigung der Optionen, die mit dem Befehl sql-dump nutzbar sind:
florian@box:/var/www/example.com/drupal$ drush @git sql-dump --<tab><tab>
--create-db --data-only --gzip --result-file --structure-tables-key
--tables-list --database --db-url --ordered-dump --skip-tables-key
--tables-key
Einrichtung
In der ersten ebene des Drush Verzeichnisses befindet sich die Datei drush.complete.sh, diese muss in meinem Fall von meiner benutzten Shell, der Bash ausgewertet werden.
Dazu inkludieren wir global, also für alle User verwendbar unter Debian oder Ubuntu diese Datei im Verzeichnis /etc/bash_completion.d durch einen symbolischen Link:
cd /etc/bash_completion.d
sudo ln -s /path/to/drush/drush.complete.sh
Um die Wirkung zu testen muss ein neue Shell gestartet werden damit die Konfigurations-Dateien und -Verzeichnisse erneut augewertet werden:
Auf noch effizienteres Arbeiten mit Drush!
Siehe auch