From 373be07fab9f71edd44c04b2ade5e4aa74f893c2 Mon Sep 17 00:00:00 2001 From: Josh Pike Date: Mon, 23 Apr 2018 17:10:59 +0700 Subject: [PATCH] Performance related tweaks --- lib/colors.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/lib/colors.js b/lib/colors.js index 13b0085..7fa952f 100644 --- a/lib/colors.js +++ b/lib/colors.js @@ -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;