editor: Do not use `hide_mouse_while_typing` for single line editor (#27536)

Smit Barmase created

Release Notes:

- N/A

Change summary

crates/editor/src/editor.rs | 18 ++++++++++++++----
1 file changed, 14 insertions(+), 4 deletions(-)

Detailed changes

crates/editor/src/editor.rs 🔗

@@ -1409,6 +1409,14 @@ impl Editor {
             code_action_providers.push(Rc::new(project) as Rc<_>);
         }
 
+        let hide_mouse_while_typing = if !matches!(mode, EditorMode::SingleLine { .. }) {
+            EditorSettings::get_global(cx)
+                .hide_mouse_while_typing
+                .unwrap_or(true)
+        } else {
+            false
+        };
+
         let mut this = Self {
             focus_handle,
             show_cursor_when_unfocused: false,
@@ -1571,9 +1579,7 @@ impl Editor {
             text_style_refinement: None,
             load_diff_task: load_uncommitted_diff,
             mouse_cursor_hidden: false,
-            hide_mouse_while_typing: EditorSettings::get_global(cx)
-                .hide_mouse_while_typing
-                .unwrap_or(true),
+            hide_mouse_while_typing,
         };
         if let Some(breakpoints) = this.breakpoint_store.as_ref() {
             this._subscriptions
@@ -16684,7 +16690,11 @@ impl Editor {
             self.scroll_manager.vertical_scroll_margin = editor_settings.vertical_scroll_margin;
             self.show_breadcrumbs = editor_settings.toolbar.breadcrumbs;
             self.cursor_shape = editor_settings.cursor_shape.unwrap_or_default();
-            self.hide_mouse_while_typing = editor_settings.hide_mouse_while_typing.unwrap_or(true);
+            self.hide_mouse_while_typing = if !matches!(self.mode, EditorMode::SingleLine { .. }) {
+                editor_settings.hide_mouse_while_typing.unwrap_or(true)
+            } else {
+                false
+            };
 
             if !self.hide_mouse_while_typing {
                 self.mouse_cursor_hidden = false;