wordsDiffLines = wordsDiff.reduce((buffer, diffLine) => {
if ( !diffLine.added && !diffLine.removed ) {
const unchangedLines = diffLine.value.split("\n")
if ( unchangedLines.length > 6 ) {
buffer.push(unchangedLines.slice(0, 3).join("\n"));
buffer.push('\n...\n')
buffer.push(unchangedLines.slice(unchangedLines.length -3, unchangedLines.length).join("\n"));
} else {
buffer.push(diffLine.value);
}
}
else if ( diffLine.added ) {
buffer.push("<span style='color: green'>");
buffer.push(diffLine.value);
buffer.push("</span>");
}
else {
buffer.push("<span style='text-decoration: line-through'>");
buffer.push(diffLine.value);
buffer.push("</span>");
}
return buffer;
}, []);