L'auto-complétion programmable en Bash - partie 10
Cet article est la suite de: L’auto complétion programmable en bash: partie 9.
Complétion des options longues
Aujourd’hui j’ai envie de voir comment on pourrait utiliser
l’auto-complétion pour les options longues, du genre
--format=documentation
.
L’option --format=
peut prendre deux valeurs: dot
ou documentation
.
Je veux donc obtenir ceci:
$ mytool test -[TAB]
$ mytool test --format=[TAB]
documentation dot
$ mytool test --format=do
$ mytool test --format=doc[TAB]
$ mytool test --format=documentation
Voici une manière d’obtenir ça:
La fonction _mytool_long_options
prend un paramètre obligatoire et
un second optionnel. Le premier est le mot avant le signe =
et le
second est l’éventuel mot après le signe =
:
J’ai ajouté deux elif
, qui regarde si le mot sous le curseur ($cur
)
ou le mot précédent ($pre
) est le caractère =
. Dans ce cas,
on appelle la fonction _mytool_long_options
qui s’occupe de gérer
la complétion des options du style --foo=bar
:
Même si cela fonctionne, je pense pouvoir trouver plus simple, et c’est ce que j’espère faire dans un prochain article.
À demain.