Performance related tweaks

This commit is contained in:
Josh Pike 2018-04-23 17:10:59 +07:00
parent 5fe02b870b
commit 373be07fab

View File

@ -35,6 +35,7 @@ colors.themes = {};
var ansiStyles = colors.styles = require('./styles');
var defineProps = Object.defineProperties;
var newLineRegex = new RegExp(/[\r\n]+/g);
colors.supportsColor = require('./system/supports-colors').supportsColor;
@ -104,13 +105,20 @@ function applyStyle() {
return str;
}
var newLinesPresent = false;
if(str.indexOf('\n') != -1){
newLinesPresent = true;
}
var nestedStyles = this._styles;
var i = nestedStyles.length;
while (i--) {
var code = ansiStyles[nestedStyles[i]];
str = code.open + str.replace(code.closeRe, code.open) + code.close;
str = str.replace(new RegExp(/[\r\n]+/g), code.close + '\n' + code.open);
if(newLinesPresent){
str = str.replace(newLineRegex, code.close + '\n' + code.open);
}
}
return str;