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