Подтвердить что ты не робот

Меркурийное расширение цвета в Windows Powershell

Есть ли способ включить поддержку цвета для Mercurial в Powershell в Windows 7? На странице ColorExtension говорится добавить

[color]
mode = win32

в ваш .hgrc файл, но, похоже, это не имеет значения.

Запуск hg status показывает несколько файлов, которые еще не добавлены в репозиторий, и я считаю, что они должны иметь розовый цвет (основанный на других терминалах, которые я видел). Это то, что отображается вместо:

←[0;35;1;4m? samplefile.php←[0m
←[0;35;1;4m? anotherfile.php←[0m
←[0;35;1;4m? derpderp.xml←[0m
←[0;35;1;4m? derp_model.php←[0m
←[0;35;1;4m? stillnocolor.php←[0m
4b9b3361

Ответ 1

Вероятно, вам нужно обновить до последнего меркуриального (1.6.4). Версия 1.5.4, в частности, не корректно отображала цвет win32 (и в недавних сборках исправлено множество связанных с цветом и связанных с win32 ошибок).

Вам также необходимо убедиться, что вы не указываете цветной режим ANSI. Вы можете заставить win32:

[color]
mode = win32

Ответ 2

Вы также включили ColorExtension? Это нужно и в вашем .hgrc:

[extensions]
color =

Если это тоже, вы можете убедиться, что ваши настройки подбираются с помощью:

hg --debug showconfig

Ответ 3

ColorExtension не работает в PowerShell по версии 2.8, см. https://www.mercurial-scm.org/pipermail/mercurial-devel/2013-November/054620.html:

При использовании Windows PowerShell цвет не работает (хотя он отлично работает с cmd.exe).

Похоже, что при вызове _kernel32.SetConsoleTextAttribute не работает при работе в PowerShell.

Это Mercurial ошибка 4093, которая была решена как "не исправить". Одним из способов является использование ansicon. Подробнее см. .