Output git colorato in eshell


10

Sto usando emacs all'interno di un terminale conio (configurato per dire che è xterm-256color) su Cygwin. list-colors-displayfunziona bene. e i colori sono visualizzati in elenchi indirizzati ecc. Ora ho impostato il colore per il git branchramo corrente yellow reverse. Tuttavia, né le finestre shell né eshell visualizzano il colore corretto; invece, il ramo corrente viene mostrato nel colore predefinito. In una ansi-termfinestra o all'esterno di emacs, all'interno dello stesso terminale, viene visualizzato come dovrebbe.

Ho questo nel mio .emacs:

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

Un modo per ottenere questi colori da visualizzare all'interno delle finestre shell o eshell?


1
Non riesco a riprodurlo in eshell con un Emacs grafico, avendo impostato l' git config --global color.ui alwaysesecuzione git diff. Potresti fornire passaggi più dettagliati?
rekado,

la mia risposta qui sotto ti aiuta o non è chiaro nulla al riguardo?
rekado,

Risposte:


5

Eshell ed shell-modeentrambi usano ansi-color.elper trasformare i codici colore ansi in facce. ansi-color.elsupporta le seguenti facce:

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

"immagine negativa" è "inversa" ed è mappata sul errorviso. Quando configuro il mio repository come ...

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

... e corro git branchvedo i miei rami locali, e il ramo corrente è reso in grassetto giallo. Quando metto il punto sul testo giallo ed eseguo describe-facevedo che in effetti è reso con la errorfaccia.

È possibile personalizzare ansi-color-faces-vectorper assegnare una faccia diversa da error"immagine negativa" / "inversa".

Non è necessario (add-hook 'eshell-preoutput-filter-functions 'ansi-color-apply)utilizzare i colori ansi in eshell.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.