Extend empty diagnostic ranges by one character

Antonio Scandurra and Nathan Sobo created

Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Change summary

crates/language/src/lib.rs | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)

Detailed changes

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)))
                 }),
             )