From 14d9788ba3eb7df4ce55b116117a8e9ddc53ee2c Mon Sep 17 00:00:00 2001 From: Agus Zubiaga Date: Tue, 11 Feb 2025 13:47:34 -0300 Subject: [PATCH] edit predictions: Don't animate cursor when jumping in eager mode without LSP completions (#24664) We should only do this in "holding modifier" mode OR when there's a language server completions menu. Release Notes: - N/A --- crates/editor/src/editor.rs | 34 +++++++++++++++++++++------------- 1 file changed, 21 insertions(+), 13 deletions(-) diff --git a/crates/editor/src/editor.rs b/crates/editor/src/editor.rs index a95d276113d80c27469d70bc03409f93a008d9f5..15414e5b111f89adef4d9a33d7bc3d38b681a60e 100644 --- a/crates/editor/src/editor.rs +++ b/crates/editor/src/editor.rs @@ -5457,19 +5457,27 @@ impl Editor { }; if &accept_keystroke.modifiers == modifiers { - if let Some(completion) = self.active_inline_completion.as_ref() { - if self.edit_prediction_preview.start( - &completion.completion, - &position_map.snapshot, - self.selections - .newest_anchor() - .head() - .to_display_point(&position_map.snapshot), - ) { - self.request_autoscroll(Autoscroll::fit(), cx); - self.update_visible_inline_completion(window, cx); - cx.notify(); - } + let Some(completion) = self.active_inline_completion.as_ref() else { + return; + }; + + if !self.edit_prediction_requires_modifier() && !self.has_visible_completions_menu() { + return; + } + + let transitioned = self.edit_prediction_preview.start( + &completion.completion, + &position_map.snapshot, + self.selections + .newest_anchor() + .head() + .to_display_point(&position_map.snapshot), + ); + + if transitioned { + self.request_autoscroll(Autoscroll::fit(), cx); + self.update_visible_inline_completion(window, cx); + cx.notify(); } } else if self.edit_prediction_preview.end( self.selections