lessen sí mismo no es capaz de resaltar la sintaxis, de acuerdo con este hilo .
Sin embargo, git diffmuestra muy bien la salida en color en menos, su buscapersonas predeterminado. Cuando redirijo la salida git diffa un archivo, no se ven secuencias de escape de color.
¿ git diffSabe a dónde se envía y formatea la salida en consecuencia? ¿Cómo haría uno eso?
Acabo de notar que git colorea la diffsalida (por ejemplo git diff), sin embargo, no sabe cómo resaltar la sintaxis en general. p.ej
git show 415fec6:log.tex
no habilita ninguna sintaxis similar a TeX.
Leyendo las gitfuentes, encontré las siguientes pistas
en diff.h:
int use_color;
Anteriormente me refería al resaltado de sintaxis , pero eso no era correcto. Lo que quiero decir es salida de color, ver por ejemplo

git diff --color=always | less -r (o less -Rpara ANSI). Por cierto: para otros comandos que no paginan por defecto (lo git diffhace), puede git -p some_git_command