From 6b52917e753f84886a2867c9781eb3c30659c0aa Mon Sep 17 00:00:00 2001 From: "gcp-cherry-pick-bot[bot]" <98988430+gcp-cherry-pick-bot[bot]@users.noreply.github.com> Date: Thu, 28 Mar 2024 10:52:33 +0100 Subject: [PATCH] Don't update active completion for editors that are not focused (cherry-pick #9904) (#9907) Cherry-picked Don't update active completion for editors that are not focused (#9904) Release Notes: - N/A Co-authored-by: Antonio Scandurra --- 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 c50f8aa8774b65a28ced45621aafd512d0c2a178..ac9f2511fea5390aa5ac58fd8071829f5eb45a37 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 739f770a2795fada17b324538dee8faa452f1522..e883a75d4c5d91aa9cf7d701f7fc3028c410f2da 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), });