Closing before and reopening the style after a line break

This commit is contained in:
Martin Heidegger 2015-12-16 00:15:35 +09:00
parent c2ef5b8c13
commit ee9405d00f
2 changed files with 9 additions and 0 deletions

View file

@ -83,6 +83,11 @@ function applyStyle() {
// otherwise only the part of the string until said closing code
// will be colored, and the rest will simply be 'plain'.
str = code.open + str.replace(code.closeRe, code.open) + code.close;
// Close the coloring before a line break and reopening after next line
// To fix a bleed issue on macs
// see https://github.com/chalk/chalk/pull/92
str = str.replace(/\n/gm, code.close + '\n' + code.open);
}
// Reset the original 'dim' if we changed it to work around the Windows dimmed gray issue.

View file

@ -61,6 +61,10 @@ describe('chalk', function () {
it('don\'t output escape codes if the input is empty', function () {
assert.equal(chalk.red(), '');
});
it('line breaks should open and close colors', function () {
assert.equal(chalk.grey('hello\nworld'), '\u001b[90mhello\u001b[39m\n\u001b[90mworld\u001b[39m');
});
});
describe('chalk on windows', function () {