
Quiero usar estos complementos usando zinit para cargar completaciones de git en zsh
zinit wait lucid for \
OMZL::git.zsh \
OMZP::git
Pero no me importan los alias, realmente hay demasiados alias y ya tengo los míos propios.
¿Cómo puedo omitir estas definiciones de alias?
Intenté deshabilitar el comando de alias mientras se cargaba el complemento, pero no funciona
zinit wait lucid for \
atinit"alias alias=" \
atload"unalias alias" \
OMZL::git.zsh \
OMZP::git
Algunas ideas ?
Respuesta1
Encontré esta solución que parece funcionar bien.
zinit wait lucid for \
atinit'save_aliases=$(alias -L)' \
atload'unalias -m "*"; eval ${save_aliases}; unset save_aliases' \
OMZP::git
También me deshice de la biblioteca OMZL::git.zsh porque estoy usando powerlevel10k (era redundante)
Pero después de agregar este truco a otros complementos como kube o git, hubo un efecto secundario ya que el sistema de carga de complementos se realiza de forma asincrónica.
Terminé con esto que parece funcionar bien hasta ahora, simplemente le puse un alias alias
al comando nada justo antes de que se cargara el complemento (make stage).
zinit ice as"completion"
zinit wait lucid depth=1 for \
make'alias alias=' \
OMZP::docker \
make'alias alias=' \
OMZP::docker-compose
Nota: el comando de alias se restaura al final del proceso, por lo que supongo que los comandos agregados para crear el escenario están limitados a la carga zinit.