diff --git a/Sources/CodeEditSourceEditor/Highlighting/StyledRangeContainer/StyledRangeStore/StyledRangeStore.swift b/Sources/CodeEditSourceEditor/Highlighting/StyledRangeContainer/StyledRangeStore/StyledRangeStore.swift index 98d5bea28..68d4056da 100644 --- a/Sources/CodeEditSourceEditor/Highlighting/StyledRangeContainer/StyledRangeStore/StyledRangeStore.swift +++ b/Sources/CodeEditSourceEditor/Highlighting/StyledRangeContainer/StyledRangeStore/StyledRangeStore.swift @@ -73,6 +73,13 @@ final class StyledRangeStore { /// - runs: The runs to insert. /// - range: The range to replace. func set(runs: [Run], for range: Range) { + let gutsRange = 0..<_guts.count(in: OffsetMetric()) + if range.clamped(to: gutsRange) != range { + let upperBound = range.clamped(to: gutsRange).upperBound + let missingCharacters = range.upperBound - upperBound + storageUpdated(replacedCharactersIn: upperBound..