Don't update active completion for editors that are not focused (#9904)

Release Notes:

- N/A
This commit is contained in:
Antonio Scandurra 2024-03-28 10:51:55 +01:00 committed by GitHub
parent eaec04632a
commit c33ee52046
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 4 additions and 1 deletions

View File

@ -764,6 +764,7 @@ mod tests {
multibuffer multibuffer
}); });
let editor = cx.add_window(|cx| Editor::for_multibuffer(multibuffer, None, cx)); 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)); let copilot_provider = cx.new_model(|_| CopilotCompletionProvider::new(copilot));
editor editor
.update(cx, |editor, cx| { .update(cx, |editor, cx| {

View File

@ -1676,7 +1676,9 @@ impl Editor {
) { ) {
self.inline_completion_provider = Some(RegisteredInlineCompletionProvider { self.inline_completion_provider = Some(RegisteredInlineCompletionProvider {
_subscription: cx.observe(&provider, |this, _, cx| { _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), provider: Arc::new(provider),
}); });