Skip to content
Permalink
Browse files

Close #92 PR: Closing before and reopening the style after a line break.

  • Loading branch information...
martinheidegger authored and sindresorhus committed Jan 17, 2016
1 parent 139f8b6 commit 05f87e25e108726ee469aa56cc88fcc160a911ed
Showing with 9 additions and 0 deletions.
  1. +5 −0 index.js
  2. +4 −0 test.js
@@ -79,6 +79,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.
@@ -68,6 +68,10 @@ describe('chalk', function () {
assert.equal(chalk.reset(chalk.red.bgGreen.underline.bind(null)('foo') + 'foo'), '\u001b[0m\u001b[31m\u001b[42m\u001b[4mfoo\u001b[24m\u001b[49m\u001b[39mfoo\u001b[0m');
assert.equal(chalk.red.blue.black.call(null), '');
});

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 () {

0 comments on commit 05f87e2

Please sign in to comment.
You can’t perform that action at this time.