1 个不稳定版本

0.1.0 2023年7月8日

#47#命令输出

MIT 许可证

13KB
235 代码行

recolor

recolor 是一个帮助您着色任何命令输出的工具。它使用熟悉的正则表达式,并为您提供许多灵活性和控制,以调整输出外观。

工作原理

recolor 逐行读取输入,并将您指定的正则表达式应用于每一行。它仅着色捕获组,并且如果您命名了捕获组,您可以自定义使用的颜色。

例如,以下命令将仅着色由 ping 输出的任何 IPv4 地址的第二个八位字节

$ ping google.com | recolor "\d{1,3}\.(\d{1,3})\.\d{1,3}\.\d{1,3}"

我们可以分别着色所有 4 个八位字节,recolor 有一个默认颜色集,它会为每个新的捕获组循环

如果我们想控制样式,我们可以命名我们的捕获组,并在正则表达式之后指定样式。

$ ping google.com | recolor "(?P<one>\d{1,3})\.(?P<two>\d{1,3})\.(?P<three>\d{1,3})\.(?P<four>\d{1,3})" one=red,bold two=green,underline three=yellow,dim four=black

常见问题解答

它支持多行正则表达式吗?

不支持,并且我没有任何计划。这将使代码变得非常复杂。如果您真的非常需要,我会很高兴审查一个 PR。

有哪些样式可用?

以下是您可以用作样式的所有单词的列表

black
red
green
yellow
blue
magenta
cyan
white
bright_black
bright_red
bright_green
bright_yellow
bright_blue
bright_magenta
bright_cyan
bright_white
bold | bolded
dimmed | dim
italic | italics
underline | underlined
blink | blinking
hidden
strikethrough | struckthrough | strike

您还可以指定颜色作为 CSS 风格的十六进制值,例如,红色为 #ff0000

依赖关系

~8–18MB
~247K SLoC