Agregar un comando de activación para la función de autocompletar en zsh

Agregar un comando de activación para la función de autocompletar en zsh

Cuando defines un alias como alias g=git, el shell lo seleccionará y ejecutará la función de autocompletar correspondiente. Ahora, existe un programa llamado hub, que es básicamente un superconjunto de git, con algunas funciones adicionales específicas de github. La forma recomendada de utilizar hubes alias git=hub. Por supuesto, esto no activará la función de autocompletar para git, lo cual tiene sentido.

Ahora, si quisiera tener el activador de autocompletar de git para hub, la única forma que conozco es editando /usr/share/zsh/functions/Completion/Unix/_gity agregando hubla primera línea como activador. Si bien esto funciona, no es práctico, ya que este archivo se sobrescribirá con la próxima versión de zsh. Suponiendo que Hub no proporcionará una función de finalización de zsh en el corto plazo, ¿hay otra forma de agregar hubcomandos de activación para la función de autocompletar de git?

Respuesta1

Puede definir una carpeta de autocompletar adicional que puede contener sus definiciones personalizadas. Si tiene algo similar al .zshrc predeterminado, entonces solo necesita actualizar el$frutaantes de llamarcarga automática -combinación Uz.

Ejemplo:

...
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
...

Luego debería poder copiar su _git actualizado en su carpeta personal de autocompletar y se usará en lugar del original.

información relacionada