2 votes

Ajout d'une commande de déclenchement à la fonction d'autocomplétion en zsh

Lorsque vous définissez un alias comme alias g=git le Shell le récupérera et exécutera la fonction d'autocomplétion correspondante. Maintenant, il y a un programme appelé hub qui est fondamentalement un supserset de git, avec quelques fonctionnalités supplémentaires, spécifiques à github. La façon recommandée d'utiliser hub est de alias git=hub . Bien entendu, cela ne déclenchera pas la fonction d'autocomplétion pour git, ce qui est logique.

Maintenant, si je voulais que la complétion automatique de git se déclenche pour le hub, le seul moyen que je connaisse est d'éditer /usr/share/zsh/functions/Completion/Unix/_git et en ajoutant hub dans la première ligne comme déclencheur. Bien que cela fonctionne, ce n'est pas pratique, car ce fichier sera écrasé avec la prochaine version de zsh. En supposant que Hub ne fournira pas de fonction de complétion de zsh dans un avenir proche, existe-t-il un autre moyen d'ajouter une fonction de complétion de zsh ? hub aux commandes de déclenchement de la fonction d'autocomplétion de git ?

-1voto

Matthew Franglen Points 331

Vous pouvez définir un dossier d'autocomplétion supplémentaire qui peut contenir vos définitions personnalisées. Si vous avez quelque chose de similaire au fichier .zshrc par défaut, il vous suffit de mettre à jour le fichier $fpath avant d'appeler autoload -Uz compinit .

Exemple :

...
zstyle ':completion:*' use-compctl true
zstyle ':completion:*' verbose true
zstyle :compinstall filename "$HOME/.zshrc"

fpath=($HOME/autocomplete $fpath)

autoload -Uz compinit
compinit
# End of lines added by compinstall
...

Vous devriez alors pouvoir copier votre _git mis à jour dans votre dossier autocomplete personnel, et il sera utilisé à la place de l'original.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X