Quando digito grep
e pressiono TABduas vezes, bash_completion
listamos arquivos e diretórios no diretório atual. Também completará os nomes de arquivos quando eu digitar a letra inicial. Tudo isso é muito bom, o único problema é que, quando o diretório contém muitos arquivos e subdiretórios, ele pode ser bastante caótico e desorganizado.
Ajudaria muito se, bash_completion
pelo menos, pudesse colorir os diretórios de maneira diferente, da mesma forma que o ls -lA
faz.
Isso é possível?
EDITAR:
é assim que meu bash_completion
arquivo de configuração de amostra é:
if [[ ${cur} == -* ]] ; then
COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
return 0
else
_filedir
fi
bash
mas é o comportamento padrão emzsh
.bash
Respostas:
Não há nenhum recurso pronto para uso como este na versão atual do Bash, você pode fazer isso usando
zsh
, ele está lá por padrão.Uma das ferramentas relacionadas à conclusão é chamada
compgen
. Você pode defini-lo para mostrar os comandos corretamente coloridos, mas isso é um hack e não é praticamente útil.Isso listará corretamente os arquivos coloridos, mas está recebendo a cor
ls
, então eu não consideraria essa coloração nativaauto_completion
.Referências
fonte
ls
em meusbash_completion
arquivos de configuração. Parece que existe uma função_filedir
que lista arquivos.