Estou tentando alterar o local padrão dos arquivos de cache de conclusão zsh no macOS. Eu li a documentação do zsh após a conclusão, que diz "alternativamente, um nome de arquivo explícito pode ser fornecido por 'compinit -d dumpfile'". Eu configurei a variável ZCOMPCACHE e continuei com o seguinte código:
ZCOMPCACHE="$HOME/.cache/zsh/zcompcache"
# Create the parent directory if it doesn't exist
[[ -d $ZCOMPCACHE ]] || mkdir -p $ZCOMPCACHE
# Set the custom location for zcompdump files
_comp_files=($HOME/.cache/zsh/zcompcache(Nm-20))
if (( $#_comp_files )); then
compinit -i -C -d "$HOME/.cache/zsh/zcompcache/.zcompdump-${ZSH_VERSION}"
else
compinit -i -d "$HOME/.cache/zsh/zcompcache/.zcompdump-${ZSH_VERSION}"
fi
# `unset` the temporary variable
unset _comp_files
O código funciona e cria o diretório zcompcache em .cache/zsh e despeja o arquivo de cache nesse local.
No entanto, ainda estou recebendo um arquivo .zcompdump despejado em meu diretório $HOME, embora eu tenha definido um local específico.
Eu costumava usar oh-my-zsh, mas achei muito inchado para os meus requisitos. Poderia haver alguma configuração residual da configuração anterior do oh-my-zsh que pode estar causando o .zcompdump adicional em meu diretório $HOME?