Zsh zinit carrega o plugin OhMyZsh ignorando aliases

Zsh zinit carrega o plugin OhMyZsh ignorando aliases

Quero usar esses plug-ins usando zinit para carregar conclusões do git no zsh

zinit wait lucid for \
  OMZL::git.zsh \
  OMZP::git

Mas eu não me importo com os aliases, há muitos aliases que eu já tenho os meus.

Como posso pular essas definições de alias?

Tentei desabilitar o comando alias durante o carregamento do plugin, mas não funcionou

zinit wait lucid for \
  atinit"alias alias=" \
  atload"unalias alias" \
  OMZL::git.zsh \
  OMZP::git

Alguma ideia ?

Responder1

Encontrei esta solução que parece funcionar bem

zinit wait lucid for \
  atinit'save_aliases=$(alias -L)' \
  atload'unalias -m "*"; eval ${save_aliases}; unset save_aliases' \
  OMZP::git

Também me livrei da biblioteca OMZL::git.zsh porque estou usando powerlevel10k (era redundante)

Mas depois de adicionar esse truque a outros plug-ins, como plug-ins kube ou git, houve um efeito colateral, pois o sistema de carregamento de plug-ins é feito de forma assíncrona.

Acabei com isso que parece funcionar bem até agora, simplesmente coloquei o alias aliasdo comando em nada antes do plugin ser carregado (make stage).

zinit ice as"completion"
zinit wait lucid depth=1 for \
  make'alias alias=' \
  OMZP::docker \
  make'alias alias=' \
  OMZP::docker-compose

Nota: o comando alias é restaurado no final do processo, então acho que os comandos adicionados ao make stage têm como escopo o carregamento do zinit.

informação relacionada