Zsh zinit carga el complemento OhMyZsh omitiendo alias

Zsh zinit carga el complemento OhMyZsh omitiendo alias

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

información relacionada