L'auto-complétion en Bash - partie 5
Cet article est la suite de: L’auto complétion programmable en bash: partie 4.
Les bases de l’auto complétion programmable
Une application peut proposer ses services d’auto complétion en déposant
un fichier bash dans le dossier /etc/bash_completion.d/
.
On y voit un tas de fichiers, pour des programmes bien connus:
[~]⇒ ls /etc/bash_completion.d/
abook
ant
apache2.2-common
apache2ctl
apt
...
git
...
Il suffit juste de savoir quoi mettre dedans. Allons-y:
Le fichier sera chargé automatiquement au lancement de bash. Donc pour que ça fonctionne maintenant, soit vous le sourcez, soit vous lancez une nouvelle console et, - roulements de tambours-
[~]⇒ mytool [TAB]
compile new test
[~]⇒ mytool
Magique, non ? Il faut noter que l’auto complétion fonctionnera aussi avec des options:
[~]⇒ mytool c[TAB] -[TAB]
mytool compile --verbose
Donc, comment ça marche ? Voici la traduction de l’aide de complete
,
simplifiée au maximum:
complete [options] name
Spécifie comment les arguments doivent être complétés, pour chaque name.
L’option -W
permet de lui passer une liste de mots. Finalement c’était
facile ? Humm… En fait ce sera rarement aussi simple. Pour continuer notre
jeu de rôle, disons que l’option --verbose
peut s’appliquer uniquement
à l’argument new
, et pas aux deux autres. Du coup, notre commande
complete
ne suffit plus. Il va falloir trouver autre chose et c’est ce
qu’on verra dans un prochain article.
À demain.