我很高兴使用最新的 ruby 3.0;以及可以访问更新的命令行解释器,该解释器可以进行语法突出显示和着色。
但是,颜色对我来说有点难看。我怎样才能改变它们? IRB 的命令行选项允许我使用
--nocolorize
关闭着色,但我不知道配置文件在哪里,可以让我更改默认值(例如,使蓝色变浅。)
有些是硬编码的;但其中大部分都在常量内,因此可以编辑(即使它是私有的)。这应该可以让你用青色改变所有讨厌的蓝色。唯一的缺点是关键字确实被硬编码为使用
CYAN
,但我们可以作弊并将 CYAN
常量本身更改为其他内容(例如 BLUE
- nil
和 true
等内容的可读性不是这样)对我来说很重要,但请随意更改为其他内容),并希望没有其他插件依赖于 CYAN
实际上是青色的:D
module IRB::Color
TOKEN_SEQ_EXPRS.each do |token, (seq, exprs)|
seq[0] = CYAN if seq[0] == BLUE
end
remove_const :CYAN
CYAN = BLUE
end
您可以将其放入
$HOME/.irbrc
中,使其在未来所有 irb
会话中发挥作用。
不用说,这是一个黑客行为,如果
IRB::Color
将来发生变化,这很可能会停止工作。
据我所知阅读源代码,颜色在上一个版本或 IRB 中是硬编码的,因此还没有可用的配置。