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.