Add default method for CompletionProvider::resolve_completions (#32045)

Release Notes:

- N/A
This commit is contained in:
Michael Sloan 2025-06-05 13:15:06 -06:00 committed by GitHub
parent 894f3b9d15
commit 03a030fd00
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 11 additions and 65 deletions

View file

@ -1,7 +1,5 @@
use std::cell::RefCell;
use std::ops::Range;
use std::path::{Path, PathBuf};
use std::rc::Rc;
use std::sync::Arc;
use std::sync::atomic::AtomicBool;
@ -912,16 +910,6 @@ impl CompletionProvider for ContextPickerCompletionProvider {
})
}
fn resolve_completions(
&self,
_buffer: Entity<Buffer>,
_completion_indices: Vec<usize>,
_completions: Rc<RefCell<Box<[Completion]>>>,
_cx: &mut Context<Editor>,
) -> Task<Result<bool>> {
Task::ready(Ok(true))
}
fn is_completion_trigger(
&self,
buffer: &Entity<language::Buffer>,
@ -1077,7 +1065,7 @@ mod tests {
use project::{Project, ProjectPath};
use serde_json::json;
use settings::SettingsStore;
use std::ops::Deref;
use std::{ops::Deref, rc::Rc};
use util::{path, separator};
use workspace::{AppState, Item};

View file

@ -10,9 +10,7 @@ use parking_lot::Mutex;
use project::{CompletionIntent, CompletionSource, lsp_store::CompletionDocumentation};
use rope::Point;
use std::{
cell::RefCell,
ops::Range,
rc::Rc,
sync::{
Arc,
atomic::{AtomicBool, Ordering::SeqCst},
@ -326,16 +324,6 @@ impl CompletionProvider for SlashCommandCompletionProvider {
}
}
fn resolve_completions(
&self,
_: Entity<Buffer>,
_: Vec<usize>,
_: Rc<RefCell<Box<[project::Completion]>>>,
_: &mut Context<Editor>,
) -> Task<Result<bool>> {
Task::ready(Ok(true))
}
fn is_completion_trigger(
&self,
buffer: &Entity<Buffer>,

View file

@ -15,7 +15,6 @@ use language::{
use project::{Completion, CompletionResponse, CompletionSource, search::SearchQuery};
use settings::Settings;
use std::{
cell::RefCell,
ops::Range,
rc::Rc,
sync::{Arc, LazyLock},
@ -73,16 +72,6 @@ impl CompletionProvider for MessageEditorCompletionProvider {
})
}
fn resolve_completions(
&self,
_buffer: Entity<Buffer>,
_completion_indices: Vec<usize>,
_completions: Rc<RefCell<Box<[Completion]>>>,
_cx: &mut Context<Editor>,
) -> Task<anyhow::Result<bool>> {
Task::ready(Ok(false))
}
fn is_completion_trigger(
&self,
_buffer: &Entity<Buffer>,
@ -255,7 +244,7 @@ impl MessageEditor {
{
if !candidates.is_empty() {
return cx.spawn(async move |_, cx| {
let completion_response = Self::resolve_completions_for_candidates(
let completion_response = Self::completions_for_candidates(
&cx,
query.as_str(),
&candidates,
@ -273,7 +262,7 @@ impl MessageEditor {
{
if !candidates.is_empty() {
return cx.spawn(async move |_, cx| {
let completion_response = Self::resolve_completions_for_candidates(
let completion_response = Self::completions_for_candidates(
&cx,
query.as_str(),
candidates,
@ -292,7 +281,7 @@ impl MessageEditor {
}]))
}
async fn resolve_completions_for_candidates(
async fn completions_for_candidates(
cx: &AsyncApp,
query: &str,
candidates: &[StringMatchCandidate],

View file

@ -282,16 +282,6 @@ impl CompletionProvider for ConsoleQueryBarCompletionProvider {
}
}
fn resolve_completions(
&self,
_buffer: Entity<Buffer>,
_completion_indices: Vec<usize>,
_completions: Rc<RefCell<Box<[Completion]>>>,
_cx: &mut Context<Editor>,
) -> gpui::Task<anyhow::Result<bool>> {
Task::ready(Ok(false))
}
fn apply_additional_edits_for_completion(
&self,
_buffer: Entity<Buffer>,

View file

@ -20325,11 +20325,13 @@ pub trait CompletionProvider {
fn resolve_completions(
&self,
buffer: Entity<Buffer>,
completion_indices: Vec<usize>,
completions: Rc<RefCell<Box<[Completion]>>>,
cx: &mut Context<Editor>,
) -> Task<Result<bool>>;
_buffer: Entity<Buffer>,
_completion_indices: Vec<usize>,
_completions: Rc<RefCell<Box<[Completion]>>>,
_cx: &mut Context<Editor>,
) -> Task<Result<bool>> {
Task::ready(Ok(false))
}
fn apply_additional_edits_for_completion(
&self,

View file

@ -12,7 +12,6 @@ use language::{
};
use project::lsp_store::CompletionDocumentation;
use project::{Completion, CompletionResponse, CompletionSource, Project, ProjectPath};
use std::cell::RefCell;
use std::fmt::Write as _;
use std::ops::Range;
use std::path::Path;
@ -671,16 +670,6 @@ impl CompletionProvider for RustStyleCompletionProvider {
}]))
}
fn resolve_completions(
&self,
_buffer: Entity<Buffer>,
_completion_indices: Vec<usize>,
_completions: Rc<RefCell<Box<[Completion]>>>,
_cx: &mut Context<Editor>,
) -> Task<Result<bool>> {
Task::ready(Ok(true))
}
fn is_completion_trigger(
&self,
buffer: &Entity<language::Buffer>,