【问题标题】:How to set up a different pager and color mode in Mercurial?如何在 Mercurial 中设置不同的寻呼机和颜色模式?
【发布时间】:2022-08-06 21:21:46
【问题描述】:

我在.hgrc 中设置了Mercurial 以使用less 作为寻呼机以及this guide 之后的自定义颜色和模板:

[pager]
pager = LESS=\'FSrX\' less

[templates]
# ...

[color]
mode=terminfo

这很好用,我想为除hg diff 之外的所有命令保留它。仅对于此命令,我想使用完全不同的机制:

是否可以通过这种方式配置 Mercurial?

    标签: mercurial diff pager hgrc


    【解决方案1】:

    我找到了一个解决方案here,它使用extdiff extension 实现了这个设置。

    [extensions]
    hgext.extdiff =
    
    [extdiff]
    cmd.delta =
    
    [alias]
    diff = delta
    

    早些时候我有这个解决方法 - 创建一个单独的别名:

    [alias]
    d = !$HG diff "$@" | delta
    

    不幸的是,无法以这种方式替换原来的 diff 命令。虽然可以(尽管discouraged)用别名替换命令,但在这种情况下它不起作用:从diff 别名调用$HG diff 会导致无限循环。

    【讨论】:

      【解决方案2】:
      • 小心使用 2014 年到 2022 年的 Mercurial 手册,它们可能已经过时且无关紧要

      • 现在正确使用 less 作为寻呼机(没有寻呼机扩展的人工制品)

        [pager]
        pager = less -FRX
        
      • 根据新鲜 HG (6.2) 中的hg help pager,您可以使用活动寻呼机禁用某些命令使用它

      您可以通过将某些命令添加到 pager. Ignore 列表来禁用寻呼机

      即有某事。喜欢

        [pager]
        ignore = diff
      

      并完全获得差异而无需分页

      • 从另一边(与上述相反),你可以使用--config

      设置/覆盖配置选项(使用'section.name=value')

      调用 hg diff 的选项(当|如果你将 delta 作为工作寻呼机)并且为简单起见为“hg diff with delta”创建 hg-alias,如

        ddiff = diff --config pager.pager=delta $@
      

      【讨论】:

        猜你喜欢
        • 2022-01-02
        • 1970-01-01
        • 2022-11-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-11-18
        相关资源
        最近更新 更多