Как сохранить цвет при добавлении `git difftool` на пейджер
Я не могу получить:
git difftool -b -y -x "diff --color --suppress-common-lines -y -w -W 200" master:file.txt file.txt
сохранить свой цветной вывод при прокачке less -R
, Что я делаю неправильно?
Я думаю, что я перепробовал все параметры конфигурации git color, например
git -c color.ui=always difftool --color=always -b -y -x "diff --color --suppress-common-lines -y -w -W 200" master:file.txt file.txt | less -R
Но нет цвета. Как только я снимаю трубу less -R
Я вижу цветной вывод. Есть идеи?
Редактировать: Благодаря @ Джонатан-Уэйкли, я пропустил =always
аргумент --color
вариант во внешнем difftool
diff
команда. Это теперь сохраняет цвета при конвейере меньше:
git difftool -b -y -x "/usr/local/bin/diff --color=always --suppress-common-lines -y -w -W 200" master:file.txt file.txt
1 ответ
Решение
Цвета не приходят от git
они исходят из внешнего инструмента сравнения, вот что решает, использовать цвета или нет. Так что вам нужно использовать -x "diff --color=always ..."
сказать diff
использовать цвета, даже если вывод не идет на терминал.