editor: Ignore whitespaces in selection highlight (#25236)

smit created

This PR prevents whitespace selections from being highlighted.

Before:
<img
src="https://github.com/user-attachments/assets/79812ae5-6709-4e93-b203-b8f1d5ffbf7b"
alt="image" width="400px" />

After:
<img
src="https://github.com/user-attachments/assets/77540ef9-65df-476e-9cca-b2cef14f5f3a"
alt="image" width="400px" />


Release Notes:

- Fixed an issue where whitespace selections were incorrectly
highlighted.

Change summary

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

Detailed changes

crates/editor/src/editor.rs 🔗

@@ -4720,9 +4720,13 @@ impl Editor {
                         return None;
                     }
                     let buffer = editor.buffer().read(cx).snapshot(cx);
+                    let query = buffer.text_for_range(selection.range()).collect::<String>();
+                    if query.trim().is_empty() {
+                        editor.clear_background_highlights::<SelectedTextHighlight>(cx);
+                        return None;
+                    }
                     Some(cx.background_spawn(async move {
                         let mut ranges = Vec::new();
-                        let query = buffer.text_for_range(selection.range()).collect::<String>();
                         let selection_anchors = selection.range().to_anchors(&buffer);
                         for range in [buffer.anchor_before(0)..buffer.anchor_after(buffer.len())] {
                             for (search_buffer, search_range, excerpt_id) in