less
por si só não é capaz de destacar a sintaxe, de acordo com este tópico .
No entanto, git diff
mostra bem a saída colorida em menos, seu pager padrão. Quando redireciono a saída de git diff
para um arquivo, nenhuma sequência de escape de cores é visível.
Será que git diff
sabe onde ele está sendo enviado, e formata a saída em conformidade? Como alguém faria isso?
Acabei de notar que o git colore a diff
saída (por exemplo git diff
), no entanto, ele não sabe como destacar a sintaxe em geral. por exemplo
git show 415fec6:log.tex
não habilita nenhuma sintaxe semelhante ao TeX.
Lendo as git
fontes, encontrei as seguintes dicas
em diff.h
:
int use_color;
Anteriormente, eu estava me referindo ao realce da sintaxe , mas isso não estava correto. O que quero dizer é corante de saída, veja por exemplo
git diff --color=always | less -r
(ou less -R
para ANSI). BTW: para outros comandos que não paginam por padrão ( git diff
faz), você pode git -p some_git_command