Git 2.3.0(2015 年 2 月)将允许(感谢Jeff Kink ( peff
)):
parse_color
: 支持 24 位 RGB 值
某些终端(如 XTerm)允许使用对常规 ANSI 颜色方案的扩展来实现完整的 24 位 RGB 颜色规范。
让我们允许用户指定十六进制 RGB 颜色,从而启用粉红色 ref 装饰的最重要功能:
git log --format="%h%C(#ff69b4)%d%C(reset) %s"
parse_color
: 识别“ no$foo
”清除$foo
属性
您可以通过在颜色规范中添加“reverse”来打开 ANSI 文本属性,例如“reverse”。但是,您不能要求关闭倒车。
对于常见情况,这无关紧要。您将在彩色部分的开头打开“反转”,然后使用“重置”清除所有属性。
但是,您可能希望打开某些属性,然后有选择地禁用其他属性。例如:
git log --format="%C(bold ul yellow)%h%C(noul) %s"
仅在哈希下划线,但无需重新指定其余属性。
这也可以帮助第三方程序,例如contrib/diff-highlight
想要在不破坏现有颜色的情况下打开/关闭某些属性的程序。
请注意,某些属性规范可能是无意义的(例如,“ bold nobold
”)。我们不费心标记此类结构,而是让终端对其进行分类。
使用 Git 2.26(2020 年第一季度),基本的 7 种颜色学习了更亮的对应物(例如“ brightred
”)。
请参阅Eyal Soha (``)的提交 c444f03、提交 1751b09、提交 4a28eb0(2020 年 1 月 21 日) 。(由Junio C Hamano 合并 -- --在87f17d7 提交中,2020 年 2 月 25 日)
gitster
color.c
: 支持明亮的 aixterm 颜色
签字人:Eyal Soha
这些颜色是 3 位颜色的明亮变体。
它们分别位于 90-97 和 100-107 范围,而不是前景的 30-37 范围和背景的 40-47 范围。
该git config
文档现在包括:
接受的基本颜色是normal
、black
、red
、green
、yellow
、
blue
、magenta
和。
给出的第一个颜色是前景;第二个是背景。cyan
white
除了有一个明亮的变体之外的所有基本颜色normal
,可以通过在颜色前面加上前缀来指定bright
,例如brightred
。
在 Git 2.35(2022 年第一季度)中,“ default
”和“ reset
”颜色已添加到我们的调色板中。
请参阅Robert Estelle ( ) 的 commit de65851 ( 2021 年 10 月 26 日)和commit 05f1f41、commit aeefc18(2021 年 10 月 25 日)。(由Junio C Hamano 合并——在提交 15209c8中,2021 年 12 月 15 日)rwe
gitster
color
: 允许颜色以“reset”为前缀
签字人:罗伯特·埃斯特尔
"reset" 以前被视为一个独立的特殊颜色名称,代表\e[m
.
现在,它可以应用于其他颜色属性,允许精确的规范而无需隐式属性继承。
例如,“reset green”现在呈现\e[;32m
,这被解释为“reset all; then set foreground to green”。
这意味着背景和其他属性也被重置为默认值。
以前,这是不可能用单一颜色表示的:“reset”可以单独指定,也可以是带有属性的颜色,但是像清除背景颜色这样的事情是不可能的。
有一个单独的更改引入了“默认”颜色名称来帮助实现这一点,但即便如此,上述内容也只能通过显式禁用每个属性来表示:green default no-bold no-dim no-italic no- ul no-blink no-reverse no-strike
config
现在在其手册页中包含:
伪reset
属性在应用指定的颜色之前重置所有颜色和属性。例如,reset green
将导致绿色前景和没有任何活动属性的默认背景。