lag*_*lex 3 console colors windows-console node.js
我正在调试debug和colors.js以获得比有限的4-6种颜色更多的颜色,但我仍然坚持要弄清楚这种着色语法
args[0] = ' \u001b[9' + c + 'm' + name + ' '
+ '\u001b[3' + c + 'm\u001b[90m'
+ args[0] + '\u001b[3' + c + 'm'
+ ' +' + exports.humanize(ms) + '\u001b[0m';
Run Code Online (Sandbox Code Playgroud)
'blue' : ['\x1B[34m', '\x1B[39m'],
'cyan' : ['\x1B[36m', '\x1B[39m'],
'green' : ['\x1B[32m', '\x1B[39m'],
'magenta' : ['\x1B[35m', '\x1B[39m'],
'red' : ['\x1B[31m', '\x1B[39m'],
'yellow' : ['\x1B[33m', '\x1B[39m'],
Run Code Online (Sandbox Code Playgroud)
我知道Windows控制台允许的颜色比这六个更多,如图color /?所示
0 = Black 8 = Gray
1 = Blue 9 = Light Blue
2 = Green A = Light Green
3 = Aqua B = Light Aqua
4 = Red C = Light Red
5 = Purple D = Light Purple
6 = Yellow E = Light Yellow
7 = White F = Bright White
Run Code Online (Sandbox Code Playgroud)
我如何理解这种语法并添加windows提供的额外颜色?
这些是ANSI终端转义码.具体来说,它们是"选择图形再现"(SGR)转义码,包括:
\x1B(ESC)组成[,m,结束代码并表明这是一个SGR代码.有许多可能的数字命令(以及除SGR之外的许多其他转义码),但最相关的是:
因此,例如,可以使用代码在绿色背景(eww!)上选择亮紫色文本\x1B[35;1;42m.