La commande bench completions génère un script de complétion statique pour votre shell (bash ou zsh). Une fois activée, appuyer sur la touche dans votre terminal suggère automatiquement les commandes et options disponibles pour bench.
completion.sh qui nécessitait un démarrage Python complet à chaque appui sur (~1 seconde). Le nouveau script généré est entièrement statique : la complétion s'exécute en pur bash, sans lancer Python (~1 ms).bench installé via docli.Lancez la commande sans argument depuis votre répertoire bench :
bench completions
Le programme vous pose quelques questions pour déterminer votre shell et le fichier de configuration à modifier (.bashrc, .zshrc, etc.), puis ajoute la ligne source nécessaire.
Passez directement le flag correspondant à votre shell :
# Pour zsh
bench completions --zsh
# Pour bash
bench completions --bash
Ajoutez --yes pour confirmer automatiquement la modification du fichier de configuration sans invite :
bench completions --zsh --yes
bench completions --bash --yes
bench completions parcourt l'arbre Click de bench pour lister toutes les commandes et options natives.get_app_groups()). Cette opération prend environ 1 à 2 secondes quelle que soit le nombre d'applications.get_app_groups(), la commande utilise une exploration parallèle des sorties --help.case bash pures. La complétion au runtime ne lance aucun processus Python.completion.sh| Critère | completion.sh (supprimé) | bench completions |
|---|---|---|
| Coût par appui sur Tab | ~1 s (démarrage Python) | ~1 ms (pur bash) |
| Compatible Click 8 | Non | Oui |
| Fonctionne hors répertoire bench | Non (chemin codé en dur) | Oui |
Effet de bord cd | Oui | Non |
| Outils externes requis | ls, cut, xargs | Aucun |
| Installation | Source manuelle | bench completions |
Pour désactiver la complétion, supprimez la ligne source ... ajoutée dans votre fichier ~/.bashrc ou ~/.zshrc, puis rechargez votre shell :
source ~/.bashrc # ou ~/.zshrc