Windows Powershell中的Mercurial颜色扩展

时间:2010-10-21 03:08:04

标签: windows powershell mercurial dvcs

有没有办法在Windows 7的Powershell中为Mercurial启用颜色支持? 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

3 个答案:

答案 0 :(得分:15)

您可能需要更新到最新的mercurial(1.6.4)。版本1.5.4特别没有正确地执行win32颜色(并且在最近的版本中已经修复了很多与颜色相关且与win32相关的错误。)

您还需要确保未指定ANSI颜色模式。你可以强制win32:

[color]
mode = win32

答案 1 :(得分:4)

您是否也确保启用ColorExtension?你在.hgrc中也需要这个:

[extensions]
color =

如果那也是你可以确保你的设置被拿起:

hg --debug showconfig

答案 2 :(得分:0)

自版本2.8起,

ColorExtension在PowerShell中无效,请参阅https://www.mercurial-scm.org/pipermail/mercurial-devel/2013-November/054620.html

  

使用Windows PowerShell时,颜色不起作用(虽然它与cmd.exe完全正常)。

     

虽然被调用,但在PowerShell中运行时_kernel32.SetConsoleTextAttribute无效。

这是Mercurial bug 4093,已被解决为“无法修复”。一种解决方法是使用ansicon。有关详细信息,请参阅this答案。