2014-04-22 3 views
2

Supposons que j'ai une commande git-local (il pourrait être une fonction Bash ou un binaire /usr/local/bin) et suppose que je voudrais git-local avoir la même touche de tabulation que la commande git a. Enfin, supposons que je suis efficace (lire paresseux) et je ne veux pas aller chercher le code que le git utilise pour recopier manuellement et gonfler mon .bashrc (ou n'importe quel fichier externe je le colle et la source) . Y a-t-il un moyen simple que je peux utiliser git-local utiliser la même autocomplétion que git?bash completion de copie (sans copier le code réel)

Répondre

3

8.7 Programmable Completion Builtins:

Si l'option -p est fourni, ou si aucune option sont fournies, les spécifications d'achèvement actuelles sont imprimées d'une manière qui leur permet d'être réutilisés comme entrée.

Quelque chose comme

$(complete -p git | awk '$NF="git-local"') 

peut-être?

.: par exemple

$ complete -p foobar 
-bash: complete: foobar: no completion specification 
$ complete -p traceroute 
complete -F _known_hosts traceroute 
$ $(complete -p traceroute | awk '$NF="foobar"') 
$ complete -p foobar 
complete -F _known_hosts foobar 
+0

Merci, pour une raison quelconque de '$ git' complète -p je reçois' bash: complet: git: pas specification' d'achèvement. Doit être quelque chose de mal avec ma configuration. –

Questions connexes