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 ansiStyles = colors.styles = require('./styles');
|
||||||
var defineProps = Object.defineProperties;
|
var defineProps = Object.defineProperties;
|
||||||
|
var newLineRegex = new RegExp(/[\r\n]+/g);
|
||||||
|
|
||||||
colors.supportsColor = require('./system/supports-colors').supportsColor;
|
colors.supportsColor = require('./system/supports-colors').supportsColor;
|
||||||
|
|
||||||
@ -104,13 +105,20 @@ function applyStyle() {
|
|||||||
return str;
|
return str;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var newLinesPresent = false;
|
||||||
|
if(str.indexOf('\n') != -1){
|
||||||
|
newLinesPresent = true;
|
||||||
|
}
|
||||||
|
|
||||||
var nestedStyles = this._styles;
|
var nestedStyles = this._styles;
|
||||||
|
|
||||||
var i = nestedStyles.length;
|
var i = nestedStyles.length;
|
||||||
while (i--) {
|
while (i--) {
|
||||||
var code = ansiStyles[nestedStyles[i]];
|
var code = ansiStyles[nestedStyles[i]];
|
||||||
str = code.open + str.replace(code.closeRe, code.open) + code.close;
|
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;
|
return str;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user