less
сам не способен делать подсветку синтаксиса, согласно этой теме .
Тем не менее, git diff
приятно показывает цветной вывод меньше, его пейджер по умолчанию. Когда я перенаправляю вывод git diff
в файл, не отображаются цветовые escape-последовательности.
Знает ли он git diff
, куда он отправляется, и соответственно форматирует вывод? Как можно это сделать?
Я только что заметил, что git окрашивает diff
вывод (например git diff
), однако, он не знает, как вообще подсвечивать синтаксис. например
git show 415fec6:log.tex
не включает какой-либо TeX-подобный синтаксис.
Читая git
источники, я обнаружил следующие подсказки
в diff.h
:
int use_color;
Ранее я имел в виду подсветку синтаксиса , но это было не правильно. То, что я имею в виду, это выходная окраска, например
git diff --color=always | less -r
(или less -R
для ANSI). Кстати: для других команд, которые не разбивают на страницы по умолчанию ( git diff
делает), вы можете включить его:git -p some_git_command