Aller au contenu

Autocomplétion shell

L’autocomplétion économise des frappes à chaque invocation. Elle suggère les sous-commandes, les flags, les cibles CRUD, et — unique à gapline — les IDs de toutes les règles de validation compilées dans votre build, ce qui transforme --disable-rule <Tab> en menu plutôt qu’en un grep-puis-coller.

Fenêtre de terminal
gapline completion bash --install

Ouvrez un nouveau terminal ou source ~/.bashrc pour activer la complétion.

Quand --install ne peut pas atteindre le répertoire standard (partition en lecture seule, setup shell inhabituel, runner CI sans home), générez le script vous-même et redirigez-le vers le chemin qui convient.

Fenêtre de terminal
gapline completion bash > ~/.local/share/bash-completion/completions/gapline
gapline completion zsh > "${fpath[1]}/_gapline"
gapline completion fish > ~/.config/fish/completions/gapline.fish
  • Sous-commandesvalidate, read, create, update, delete, run, rules, completion.
  • Flags — formes longues (--feed, --format, --min-severity…) et alias courts (-f, -o, -w, -s).
  • Cibles CRUD — les 17 fichiers GTFS acceptés par read, create, update, delete (stops, routes, trips, stop-times, …).
  • IDs de règles de validation — chaque règle enregistrée dans le binaire courant, suggérée comme valeur de --disable-rule.
Fenêtre de terminal
gapline valid<Tab> # → validate
gapline validate --m<Tab> # → --min-severity
gapline validate --disable-rule bloc<Tab># block_id_trip_overlap
gapline read sto<Tab> # → stops stop-times
  • Rien ne se passe au <Tab>. La plupart des shells chargent les scripts au démarrage. Ouvrez un nouveau terminal ou sourcez le fichier que vous venez d’écrire.
  • Zsh affiche une erreur _arguments:comparguments. compinit doit tourner avant que le script de complétion ne soit sourcé. Vérifiez que .zshrc appelle autoload -Uz compinit && compinit avant tout gestionnaire de plugins qui source des complétions custom.
  • Les IDs de règles ne se suggèrent pas. Le complèteur dynamique appelle le binaire gapline. Lancez gapline --version pour confirmer qu’il est dans votre PATH.