我想为 hg log
使用自定义模板,如下所示:
hg log --template '{node|short} {desc} [{date|age} by {author}]\'n --color=always
这在默认终端颜色不是很可读,所以例如我想将节点设为红色和 desc 绿色。我怎样才能做到这一点?在 git 中,我可以像这样定义这种格式:
git log --pretty=format:'%Cred%h%Creset %Cgreen%s%Creset [%ar by %an]'
在 mercurial 中是否可能发生类似的事情?
截至 2013 年,Mercurial 直接支持 colors on templates .您也可以在 hg 帮助模板上查看。
您必须在 .hgrc 上激活颜色扩展:
[extensions]
color =
然后添加一些自定义标签以供以后在模板上使用:
[color]
custom.rev = yellow
custom.author = bold
然后使用引用标签的模板(使用 {label('labelname',field)} 而不是 {field}:
hg log --template "{label('custom.rev',node|short)} {desc} [{date|age} by {label('custom.author',author)}]\n"
上面的示例以黄色突出显示节点(修订),以粗体蓝色突出提交的作者。与往常一样,您可以在 .hgrc 上创建别名:
[alias]
customlog = log --template "{label('custom.rev',node|short)} {desc} [{date|age} by {label('custom.author',author)}]\n"
更新:测试版本 2.5.4。根据changelog , 这个 workssince version 2.5 .
我是一名优秀的程序员,十分优秀!