Skip to content

Instantly share code, notes, and snippets.

@arnab
Last active December 12, 2015 02:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save arnab/4700669 to your computer and use it in GitHub Desktop.
Save arnab/4700669 to your computer and use it in GitHub Desktop.
$(selector).prettyTextDiff({
// options
});
diff_match_patch.prototype.diff_prettyHtml = function(diffs) {
var html = [];
var pattern_amp = /&/g;
var pattern_lt = /</g;
var pattern_gt = />/g;
var pattern_para = /\n/g;
for (var x = 0; x < diffs.length; x++) {
var op = diffs[x][0]; // Operation (insert, delete, equal)
var data = diffs[x][1]; // Text of change.
//var text = data.replace(pattern_amp, '&amp;').replace(pattern_lt, '&lt;')
// .replace(pattern_gt, '&gt;').replace(pattern_para, '&para;<br>');
var text = data.replace(pattern_amp, '&amp;').replace(pattern_lt, '&lt;')
.replace(pattern_gt, '&gt;').replace(pattern_para, '<br>');
switch (op) {
case DIFF_INSERT:
html[x] = '<ins style="background:#e6ffe6;">' + text + '</ins>';
break;
case DIFF_DELETE:
html[x] = '<del style="background:#ffe6e6;">' + text + '</del>';
break;
case DIFF_EQUAL:
html[x] = '<span>' + text + '</span>';
break;
}
}
return html.join('');
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment