This commit is contained in:
Vap0r1ze 2017-11-21 00:39:26 +00:00 committed by GitHub
commit d478d80ea6

View file

@ -1,4 +1,5 @@
'use strict';
const os = require('os');
const escapeStringRegexp = require('escape-string-regexp');
const ansiStyles = require('ansi-styles');
const supportsColor = require('supports-color');
@ -6,6 +7,7 @@ const supportsColor = require('supports-color');
const template = require('./templates.js');
const isSimpleWindowsTerm = process.platform === 'win32' && !(process.env.TERM || '').toLowerCase().startsWith('xterm');
const isWindows10 = process.platform === 'win32' && os.release().startsWith('10');
// `supportsColor.level` → `ansiStyles.color[name]` mapping
const levelMapping = ['ansi', 'ansi', 'ansi256', 'ansi16m'];
@ -52,6 +54,11 @@ if (isSimpleWindowsTerm) {
ansiStyles.blue.open = '\u001B[94m';
}
// Use full reset on Windows 10 as it does not currently support the standard bold close sequence
if (isWindows10) {
ansiStyles.bold.close = '\u001B[0m';
}
for (const key of Object.keys(ansiStyles)) {
ansiStyles[key].closeRe = new RegExp(escapeStringRegexp(ansiStyles[key].close), 'g');