From 719b1cde71cd9d7d2462de5b84f3f6787b8cdad1 Mon Sep 17 00:00:00 2001 From: Rodrigo Fernandes Date: Mon, 9 May 2016 10:42:00 +0100 Subject: [PATCH] Fix class names on highlighted elements --- src/ui/js/diff2html-ui.js | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/src/ui/js/diff2html-ui.js b/src/ui/js/diff2html-ui.js index a0471d9..fa44a82 100644 --- a/src/ui/js/diff2html-ui.js +++ b/src/ui/js/diff2html-ui.js @@ -89,7 +89,14 @@ resultNode.innerHTML = result.value; result.value = mergeStreams(originalStream, nodeStream(resultNode), text); } - $(line).html(result.value); + + var $line = $(line); + buildClassName(line.className, result.language) + .split(" ") + .map(function(className) { + $line.addClass(className); + }); + $line.html(result.value); }); }); }; @@ -181,6 +188,20 @@ * Will be removed when this part of the API is exposed */ + function buildClassName(prevClassName, language) { + var result = [prevClassName.trim()]; + + if (!prevClassName.match(/\bhljs\b/)) { + result.push('hljs'); + } + + if (prevClassName.indexOf(language) === -1) { + result.push(language); + } + + return result.join(' ').trim(); + } + /* Utility functions */ function escape(value) {