O comando dircolors
é específico do GNU coreutils, então você vai encontrá-lo no Linux não embutido e no Cygwin, mas não em outros sistemas unix como o OSX. As configurações geradas no seu .zshrc
não são portáveis para o OSX.
Como você está usando as cores padrão, pode passar uma string vazia para o
list-colors
para obter cores nas conclusões dos arquivos.
Para cores com o comando ls
real , defina a variável de ambiente CLICOLOR
no OSX e também defina LSCOLORS
(consulte o manual para o formato) se você quiser alterar as cores.
if whence dircolors >/dev/null; then
eval "$(dircolors -b)"
zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}
alias ls='ls --color'
else
export CLICOLOR=1
zstyle ':completion:*:default' list-colors ''
fi
Se você quiser definir cores não padrão ( dircolors
com um argumento de arquivo), minha recomendação seria codificar a saída de dircolors -b ~/.dircolors
em seu .zshrc
e usar essas configurações para zsh e GNU ls.
LS_COLORS=…
zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}
if whence dircolors >/dev/null; then
export LS_COLORS
alias ls='ls --color'
else
export CLICOLOR=1
LSCOLORS=…
fi