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