bash_completion'ı renklendir


9

Ben yazarken grepdaha sonra basını ve TABiki kez, bash_completiongeçerli dizinde dosya ve dizinleri listeler. İlk harfi yazdığımda dosya adlarını da tamamlayacak. Hepsi çok güzel, tek sorun, dizin birçok dosya ve alt dizin içerdiğinde, oldukça kaotik ve düzensiz olabilir.

bash_completionEn azından dizinleri farklı bir şekilde renklendirebiliyorsa çok yardımcı olurdu ls -lA.

Mümkün mü?

DÜZENLE:

benim örnek bash_completionyapılandırma dosyası böyle görünüyor:

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

else
    _filedir
fi

1
Bunun mümkün olup olmadığını bilmiyorum bashama varsayılan davranıştır zsh.
terdon

1
belli değilse, bir çözüm arıyorumbash
Martin Vegter

Hangi dosyayı gösteriyorsunuz?
terdon

Yanıtlar:


7

Bash'in mevcut sürümünde kutudan çıkmış bir özellik yok zsh, bunu kullanarak yapabilirsiniz , varsayılan olarak oradadır.

Tamamlama ile ilgili araçlardan biri denir compgen. Komutları doğru renklendirilmiş göstermek için taklit edebilirsiniz, ancak bu bir hack ve pratik olarak kullanışlı değil.

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

Bu, dosyaları düzgün bir şekilde listeleyecektir, ancak rengi alıyor ls, bu yüzden bu yerel renklendirmeyi düşünmeyeceğim auto_completion.

Referanslar


lütfen düzenlememe bakın. Ben hiç yok lsbenim de bash_completionyapılandırma dosyaları. _filedirDosyaları listeleyen bir işlev var gibi görünüyor .
Martin Vegter
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.