Adicionando um comando trigger à função autocomplete no zsh

2

Quando você define um alias como alias g=git , o shell o selecionará e executará a função de preenchimento automático correspondente. Agora, existe um programa chamado hub , que é basicamente um superset do git, com alguma funcionalidade adicional específica do github. A maneira recomendada de usar hub é alias git=hub . É claro que isso não acionará a função autocomplete do git, o que faz sentido.

Agora, se eu quiser ter o gatilho de preenchimento automático do git para hub, a única maneira que conheço é editar /usr/share/zsh/functions/Completion/Unix/_git e adicionar hub na primeira linha como acionador. Embora isso funcione, não é prático, pois esse arquivo será substituído pela próxima versão zsh. Assumindo que o hub não irá fornecer uma função de conclusão zsh em breve, existe outra maneira de adicionar hub aos comandos de acionamento para a função de preenchimento automático do git?

    
por mkaito 02.06.2012 / 11:01

1 resposta

-1

Você pode definir uma pasta adicional de preenchimento automático que pode ter suas definições personalizadas nela. Se você tem algo parecido com o padrão .zshrc, basta atualizar o $ fpath antes de chamar autoload -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
...

Deverá então poder copiar o seu _git atualizado para a sua pasta pessoal de preenchimento automático e será utilizado no lugar do original.

    
por 31.01.2013 / 15:35