export function escapeHtml(text) {
return String(text)
.replace(/&/g, '&')
.replace(//g, '>')
.replace(/"/g, '"')
.replace(/'/g, ''')
}
export function highlightDiff(text, diffRanges) {
if (!diffRanges || diffRanges.length === 0) {
return escapeHtml(text)
}
let result = ''
let lastIndex = 0
diffRanges.forEach(range => {
if (range.start > lastIndex) {
result += escapeHtml(text.substring(lastIndex, range.start))
}
result += `${escapeHtml(text.substring(range.start, range.end))}`
lastIndex = range.end
})
if (lastIndex < text.length) {
result += escapeHtml(text.substring(lastIndex))
}
return result
}