Quando você define um alias como alias g=git
, o shell o seleciona e executa a função de preenchimento automático correspondente. Agora, existe um programa chamado hub
, que é basicamente um conjunto supserset do git, com algumas funcionalidades adicionais específicas do github. A maneira recomendada de usar hub
é alias git=hub
. Claro, isso não acionará a função de preenchimento automático do git, o que faz sentido.
Agora, se eu quisesse ter o gatilho de preenchimento automático do git para hub, a única maneira que conheço é editando /usr/share/zsh/functions/Completion/Unix/_git
e adicionando hub
a primeira linha como gatilho. Embora funcione, não é prático, pois esse arquivo será substituído na próxima versão do zsh. Supondo que o hub não forneça uma função de conclusão zsh tão cedo, existe outra maneira de adicionar hub
comandos de gatilho para a função de preenchimento automático do git?
Responder1
Você pode definir uma pasta de preenchimento automático adicional que pode conter suas definições personalizadas. Se você tiver algo semelhante ao .zshrc padrão, basta atualizar o$fcaminhoantes de ligarautoload -Uz compinit.
Exemplo:
...
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
...
Você poderá então copiar seu _git atualizado para sua pasta pessoal de preenchimento automático e ele será usado no lugar do original.