Farbige Git-Ausgabe in Eshell


10

Ich verwende Emacs in einem Mintty-Terminal (konfiguriert, um zu sagen, dass es xterm-256color ist) auf Cygwin. list-colors-displayfunktioniert gut. und Farben werden in dired Auflistungen usw. angezeigt. Jetzt stelle ich die Farbe für den git branchaktuellen Zweig ein yellow reverse. Weder Shell- noch Eshell-Fenster zeigen jedoch die richtige Farbe an. Stattdessen wird der aktuelle Zweig in der Standardfarbe angezeigt. In einem ansi-termFenster oder außerhalb von Emacs innerhalb desselben Terminals wird es so angezeigt, wie es sollte.

Ich habe dies in meinem .emacs:

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

Gibt es eine Möglichkeit, diese Farben in den Shell- oder Eshell-Fenstern anzuzeigen?


1
Ich kann dies nicht in eshell mit einem grafischen Emacs reproduzieren, nachdem ich das git config --global color.ui alwaysLaufen eingestellt habe git diff. Könnten Sie detailliertere Schritte bereitstellen?
rekado

Hilft Ihnen meine Antwort unten oder ist etwas unklar?
rekado

Antworten:


5

Eshell und shell-modebeide verwenden ansi-color.el, um Ansi-Farbcodes in Gesichter umzuwandeln. ansi-color.elunterstützt die folgenden Gesichter:

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

"Negatives Bild" ist "umgekehrt" und wird dem errorGesicht zugeordnet. Wenn ich mein Repository wie ...

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

... und laufe git branchich sehe meine lokalen Zweige, und der aktuelle Zweig ist fett gelb dargestellt. Wenn ich auf den gelben Text zeige und laufe, describe-facesehe ich, dass er tatsächlich mit dem errorGesicht gerendert wird .

Sie können anpassen ansi-color-faces-vector, um ein anderes Gesicht als error"Negativbild" / "Umkehren" zuzuweisen .

Sie müssen keine (add-hook 'eshell-preoutput-filter-functions 'ansi-color-apply)Ansi-Farben in Eshell verwenden.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.