From 507303456fca28232ebc5b12f25350017ee28fd2 Mon Sep 17 00:00:00 2001 From: Sebastian McKenzie Date: Mon, 27 Jul 2015 00:19:36 +0100 Subject: [PATCH] prepend ansi reset to code frame when highlighted - fixes #2058 --- packages/babel/src/helpers/code-frame.js | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/packages/babel/src/helpers/code-frame.js b/packages/babel/src/helpers/code-frame.js index 176c1ca394..fbed6262bf 100644 --- a/packages/babel/src/helpers/code-frame.js +++ b/packages/babel/src/helpers/code-frame.js @@ -77,9 +77,8 @@ function highlight(text) { export default function (lines: number, lineNumber: number, colNumber: number, opts = {}): string { colNumber = Math.max(colNumber, 0); - if (opts.highlightCode && chalk.supportsColor) { - lines = highlight(lines); - } + var highlighted = opts.highlightCode && chalk.supportsColor; + if (highlighted) lines = highlight(lines); lines = lines.split(NEWLINE); @@ -91,7 +90,7 @@ export default function (lines: number, lineNumber: number, colNumber: number, o end = lines.length; } - return lineNumbers(lines.slice(start, end), { + var frame = lineNumbers(lines.slice(start, end), { start: start + 1, before: " ", after: " | ", @@ -107,4 +106,10 @@ export default function (lines: number, lineNumber: number, colNumber: number, o params.before = params.before.replace(/^./, ">"); } }).join("\n"); + + if (highlighted) { + frame = chalk.reset() + frame; + } + + return frame; }