From c33ee52046ef59f6287c7952fb00a2858f757e2f Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Thu, 28 Mar 2024 10:51:55 +0100 Subject: [PATCH] Don't update active completion for editors that are not focused (#9904) Release Notes: - N/A --- crates/copilot_ui/src/copilot_completion_provider.rs | 1 + crates/editor/src/editor.rs | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/crates/copilot_ui/src/copilot_completion_provider.rs b/crates/copilot_ui/src/copilot_completion_provider.rs index c50f8aa877..ac9f2511fe 100644 --- a/crates/copilot_ui/src/copilot_completion_provider.rs +++ b/crates/copilot_ui/src/copilot_completion_provider.rs @@ -764,6 +764,7 @@ mod tests { multibuffer }); let editor = cx.add_window(|cx| Editor::for_multibuffer(multibuffer, None, cx)); + editor.update(cx, |editor, cx| editor.focus(cx)).unwrap(); let copilot_provider = cx.new_model(|_| CopilotCompletionProvider::new(copilot)); editor .update(cx, |editor, cx| { diff --git a/crates/editor/src/editor.rs b/crates/editor/src/editor.rs index ff00acb0bb..510dcc8ee5 100644 --- a/crates/editor/src/editor.rs +++ b/crates/editor/src/editor.rs @@ -1676,7 +1676,9 @@ impl Editor { ) { self.inline_completion_provider = Some(RegisteredInlineCompletionProvider { _subscription: cx.observe(&provider, |this, _, cx| { - this.update_visible_inline_completion(cx); + if this.focus_handle.is_focused(cx) { + this.update_visible_inline_completion(cx); + } }), provider: Arc::new(provider), });