comment appeler les commands git sans 'git' devant?

Comment puis-je dire à mon zsh d'essayer automatiquement une command avec git devant, si la command est introuvable? Par exemple, je veux exécuter le $ status et s'il n'y a pas de status dans $PATH , mon zsh devrait essayer le git status .

Cela semble fragile – vous pourriez prendre l'habitude de taper foo au lieu de git foo , puis un jour une nouvelle command foo apparaît et foo plus git foo – mais cela peut être fait. Lorsqu'une command n'est pas trouvée avec une search normale (alias, fonction, builtin, exécutable sur PATH ), zsh appelle la fonction command_not_found_handler (si elle est définie). Cette fonction reçoit la command et les arguments de la command comme arguments.

 command_not_found_handler () { git "$@" } 

Si vous voulez effectuer un filtrage plus sophistiqué, la command est dans $1 et ses arguments peuvent être appelés "$@[2,$#]" .

 command_not_found_handler () { if …; then git "$1" "$@[2,$#]" fi } 

Je suggère que ne pas créer des problèmes pour vous-même, il suffit de vérifier oh-my-zsh , et mettez

 plugins=(git) 

dans votre file .zshrc , vous pouvez voir le statut git en tapant gst .

… et beaucoup d'autres, checkout git.plugin.zsh