Git 2.3.0(2015年2月)将允许(感谢Jeff Kink (peff
)):
parse_color
:支持24位RGB值
Some terminals (like XTerm) allow full 24-bit RGB color specifications using an extension to the regular ANSI color scheme.
Let's allow users to specify hex RGB colors, enabling the all-important feature of hot pink ref decorations:
git log --format="%h%C(#ff69b4)%d%C(reset) %s"
parse_color
:识别“no$foo
”以清除$ foo
属性
You can turn on ANSI text attributes like "reverse" by putting "reverse" in your color spec. However, you cannot ask to turn reverse off.
For common cases, this does not matter. You would turn on "reverse" at the start of a colored section, and then clear all attributes with a "reset".
However, you may wish to turn on some attributes, then selectively disable others. For example:
git log --format="%C(bold ul yellow)%h%C(noul) %s"
underlines just the hash, but without the need to re-specify the rest of the attributes.
This can also help third-party programs, like contrib/diff-highlight
, that want to turn some attribute on/off without disrupting existing coloring.
Note that some attribute specifications are probably nonsensical (e.g., "bold nobold
"). We do not bother to flag such constructs, and instead let the terminal sort it out.
在Git 2.26(2020年第一季度),基本的七种颜色学会了更明亮的对应颜色(例如“
brightred
”)。
查看 commit c444f03, commit 1751b09, commit 4a28eb0 (2020年1月21日) 由 Eyal Soha (``) 提交。
(合并于 commit 87f17d7,2020年2月25日,由 Junio C Hamano -- gitster
-- 审核)
color.c
:支持亮色的aixterm颜色
签名作者:Eyal Soha
这些颜色是3比特颜色的亮色变种。前景颜色的范围不再是30-37,而是90-97,而背景颜色的范围则是100-107,而不是40-47。
git config
文档现在包括:
基本颜色包括
normal
、
black
、
red
、
green
、
yellow
、
blue
、
magenta
、
cyan
和
white
。
给定的第一个颜色是前景色,第二个是背景色。
除了normal
以外的所有基本颜色都有一个亮色变体,可以在颜色前加上bright
来指定,例如brightred
。
在 Git 2.35 (2022 年第一季度) 中,我们的调色板中添加了“default”和“reset”颜色。
请查看commit de65851(2021年10月26日),以及commit 05f1f41,commit aeefc18(2021年10月25日)由Robert Estelle (rwe
)提交。
(由Junio C Hamano -- gitster
--合并在commit 15209c8中,2021年12月15日)
color
: 允许颜色以“reset”为前缀
署名:Robert Estelle
之前,“reset”被视为一个独立的特殊颜色名称,代表 \e[m
。
现在,它可以应用于其他颜色属性,允许精确的规格说明而无需隐式属性继承。
例如,“reset green”现在呈现为 \e[;32m
,被解释为“重置所有内容;然后将前景设置为绿色”。
这意味着背景和其他属性也被重置为它们的默认值。
以前,这在单个颜色中是不可能表示的:“reset”可以单独指定,或者带有属性的颜色,但是像清除背景颜色这样的事情是不可能的。
有一个单独的更改引入了“default”颜色名称来辅助处理,但即使如此,上述内容也只能通过显式禁用每个属性来表示:
green default no-bold no-dim no-italic no-ul no-blink no-reverse no-strike
config
现在在其手册页面中包括:
伪属性reset
在应用指定的着色之前重置所有颜色和属性。例如,reset green
将导致绿色前景和默认背景,没有任何活动属性。