Меркурийное расширение цвета в 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
Ответы
Ответ 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. Подробнее см. .