mirror of
https://github.com/flynx/colors.js.git
synced 2025-12-27 05:42:05 +00:00
Performance related tweaks
This commit is contained in:
parent
5fe02b870b
commit
373be07fab
@ -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;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user