From 9e728d6e3773a7fa78d5f7f874941abd6bb8f495 Mon Sep 17 00:00:00 2001 From: Khan Winter <35942988+thecoolwinter@users.noreply.github.com> Date: Fri, 11 Apr 2025 13:11:32 -0500 Subject: [PATCH] Fix StyledRangeStore Crash --- .../StyledRangeStore/StyledRangeStore.swift | 7 +++++++ 1 file changed, 7 insertions(+) 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..