J'utilise emacs dans un terminal Mintty (configuré pour dire que c'est xterm-256color) sur cygwin. list-colors-display
fonctionne bien. et les couleurs sont affichées dans les listes dired, etc. Maintenant, je règle la couleur de git branch
la branche actuelle yellow reverse
. Cependant, ni les fenêtres shell ni eshell n'affichent la bonne couleur; à la place, la branche actuelle est affichée dans la couleur par défaut. Dans une ansi-term
fenêtre, ou en dehors d'emacs, à l'intérieur du même terminal, il s'affiche comme il se doit.
J'ai ceci dans mon .emacs
:
(add-hook 'eshell-preoutput-filter-functions 'ansi-color-apply)
Est-il possible d'afficher ces couleurs à l'intérieur des fenêtres shell ou eshell?
git config --global color.ui always
marchegit diff
. Pourriez-vous fournir des étapes plus détaillées?Réponses:
Eshell et les
shell-mode
deux permettentansi-color.el
de transformer les codes de couleur ansi en visages.ansi-color.el
prend en charge les visages suivants:"l'image négative" est "inversée" et elle est mappée sur le
error
visage. Quand je configure mon référentiel tel ...... et
git branch
je cours, je vois mes branches locales, et la branche actuelle est rendue en jaune gras. Quand je mets un point sur le texte jaune et quedescribe-face
je cours, je vois qu'il est en fait rendu avec leerror
visage.Vous pouvez personnaliser
ansi-color-faces-vector
pour attribuer un visage différent de celuierror
de "l'image négative" / "inverse".Vous n'avez pas besoin
(add-hook 'eshell-preoutput-filter-functions 'ansi-color-apply)
d'utiliser les couleurs ansi en eshell.la source