Eshell'de renkli git çıktı


10

Cygwin bir nane (xterm-256color demek için yapılandırılmış) terminal içinde emacs kullanıyorum. list-colors-displayiyi çalışıyor. ve renkler direkli listelerde vb. görüntülenir. Şimdi git branchgeçerli dalın rengini ayarladım yellow reverse. Ancak, ne kabuk ne de kabuk pencereleri doğru rengi göstermez; bunun yerine, geçerli dal varsayılan renkle gösterilir. Bir ansi-termpencerede veya emac'ların dışında, aynı terminalin içinde olması gerektiği gibi görüntülenir.

Bu benim var .emacs:

(add-hook 'eshell-preoutput-filter-functions  'ansi-color-apply)

Bu renklerin kabuk veya eshell pencerelerinin içinde görüntülenmesini sağlamanın herhangi bir yolu var mı?


1
Bunu, set git config --global color.ui alwaysçalıştıran bir grafik Emacs ile eshell çoğaltamam git diff. Daha ayrıntılı adımlar atabilir misiniz?
rekado

Aşağıdaki cevabım size yardımcı oluyor mu veya bununla ilgili bir şey belirsiz mi?
rekado

Yanıtlar:


5

Eshell ve shell-modeher ikisi de ansi-color.elansi renk kodlarını yüzlere dönüştürmek için kullanır . ansi-color.elaşağıdaki yüzleri destekler:

Parameter  Description        Face used by default
  0        default            default
  1        bold               bold
  2        faint              default
  3        italic             italic
  4        underlined         underline
  5        slowly blinking    success
  6        rapidly blinking   warning
  7        negative image     error

"negatif görüntü" "geri" dir ve erroryüzle eşleştirilir . Depomu böyle yapılandırdığımda ...

[color]
        ui = always
[color "branch"]
        current = yellow reverse

... ve koşuyorum git branchyerel şubelerimi görüyorum ve mevcut dal koyu sarı renkte işleniyor. Sarı metne işaret ettiğimde ve koştuğumda describe-facebunun aslında erroryüzle oluşturulduğunu görüyorum .

"Negatif görüntü" / "geri" ansi-color-faces-vectordışında farklı bir yüz atamak için özelleştirebilirsiniz error.

(add-hook 'eshell-preoutput-filter-functions 'ansi-color-apply)Eshell'de ansi renklerini kullanmanıza gerek yoktur.

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.