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 hub
es 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/_git
y agregando hub
la 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 hub
comandos 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.