colorize bash_completion


9

Quando scrivo grepe poi premo TABdue volte, bash_completionelencherò i file e le directory nella directory corrente. Completerà anche i nomi dei file quando scrivo la lettera iniziale. È tutto molto bello, l'unico problema è che quando la directory contiene molti file e sottodirectory, può essere piuttosto caotica e disorganizzata.

Sarebbe di grande aiuto se bash_completionalmeno potesse colorare le directory in modo diverso, in modo simile a quello che ls -lAfa.

È possibile?

MODIFICARE:

ecco bash_completioncome appare il mio file di configurazione di esempio:

if [[ ${cur} == -* ]] ; then
    COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
    return 0

else
    _filedir
fi

1
Non so se questo è possibile in bashma è il comportamento predefinito in zsh.
terdon

1
nel caso in cui non sia ovvio, sto cercando una soluzione perbash
Martin Vegter,

Quale file stai mostrando?
terdon

Risposte:


7

Non esiste una funzionalità zshpredefinita come questa nella versione corrente di Bash, puoi farlo usando , è lì per impostazione predefinita.

Viene chiamato uno degli strumenti relativi al completamento compgen. Puoi finagle per mostrare i comandi correttamente colorati, ma questo è un trucco e non è praticamente utile.

$ compgen -W "$(ls --color=always *)"

Questo elencherà correttamente i file colorati, ma sta ottenendo il colore ls, quindi non prenderei in considerazione questa colorazione nativa auto_completion.

Riferimenti


per favore vedi la mia modifica. Non ne ho lsnei miei bash_completionfile di configurazione. Sembra che ci sia una funzione _filedirche elenca i file.
Martin Vegter,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.