diff --git a/crates/language/src/lib.rs b/crates/language/src/lib.rs index 0b48b698a4f6e18f722ecc822319abec95fafe97..fd7f8d44b112fc112a1a43b35774cb60668aa10d 100644 --- a/crates/language/src/lib.rs +++ b/crates/language/src/lib.rs @@ -710,8 +710,12 @@ impl Buffer { end = last_edit_new_end + (end - last_edit_old_end); } - let range = content.clip_point_utf16(start, Bias::Left) + let mut range = content.clip_point_utf16(start, Bias::Left) ..content.clip_point_utf16(end, Bias::Right); + if range.start == range.end { + range.end.column += 1; + range.end = content.clip_point_utf16(range.end, Bias::Right); + } Some((range, (severity, diagnostic.message))) }), )