editor: Update CompletionProvider return type. (#1270)
This commit is contained in:
parent
aa0f6d6222
commit
62748aad9b
2 changed files with 8 additions and 12 deletions
|
|
@ -194,10 +194,10 @@ impl CompletionProvider for ExampleLspStore {
|
||||||
trigger: CompletionContext,
|
trigger: CompletionContext,
|
||||||
_: &mut Window,
|
_: &mut Window,
|
||||||
cx: &mut Context<InputState>,
|
cx: &mut Context<InputState>,
|
||||||
) -> Task<Result<Vec<CompletionResponse>>> {
|
) -> Task<Result<CompletionResponse>> {
|
||||||
let trigger_character = trigger.trigger_character.unwrap_or_default();
|
let trigger_character = trigger.trigger_character.unwrap_or_default();
|
||||||
if trigger_character.is_empty() {
|
if trigger_character.is_empty() {
|
||||||
return Task::ready(Ok(vec![]));
|
return Task::ready(Ok(CompletionResponse::Array(vec![])));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Simulate to delay for fetching completions
|
// Simulate to delay for fetching completions
|
||||||
|
|
@ -232,7 +232,7 @@ impl CompletionProvider for ExampleLspStore {
|
||||||
completion_item(&range, "/sad", "😢", "Insert 😢"),
|
completion_item(&range, "/sad", "😢", "Insert 😢"),
|
||||||
completion_item(&range, "/launch", "🚀", "Insert 🚀"),
|
completion_item(&range, "/launch", "🚀", "Insert 🚀"),
|
||||||
];
|
];
|
||||||
return Ok(vec![CompletionResponse::Array(items)]);
|
return Ok(CompletionResponse::Array(items));
|
||||||
}
|
}
|
||||||
|
|
||||||
let items = items
|
let items = items
|
||||||
|
|
@ -246,9 +246,7 @@ impl CompletionProvider for ExampleLspStore {
|
||||||
})
|
})
|
||||||
.collect::<Vec<_>>();
|
.collect::<Vec<_>>();
|
||||||
|
|
||||||
let responses = vec![CompletionResponse::Array(items)];
|
Ok(CompletionResponse::Array(items))
|
||||||
|
|
||||||
Ok(responses)
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@ pub trait CompletionProvider {
|
||||||
trigger: CompletionContext,
|
trigger: CompletionContext,
|
||||||
window: &mut Window,
|
window: &mut Window,
|
||||||
cx: &mut Context<InputState>,
|
cx: &mut Context<InputState>,
|
||||||
) -> Task<Result<Vec<CompletionResponse>>>;
|
) -> Task<Result<CompletionResponse>>;
|
||||||
|
|
||||||
fn resolve_completions(
|
fn resolve_completions(
|
||||||
&self,
|
&self,
|
||||||
|
|
@ -111,11 +111,9 @@ impl InputState {
|
||||||
self._context_menu_task = cx.spawn_in(window, async move |editor, cx| {
|
self._context_menu_task = cx.spawn_in(window, async move |editor, cx| {
|
||||||
let mut completions: Vec<CompletionItem> = vec![];
|
let mut completions: Vec<CompletionItem> = vec![];
|
||||||
if let Some(provider_responses) = provider_responses.await.ok() {
|
if let Some(provider_responses) = provider_responses.await.ok() {
|
||||||
for resp in provider_responses {
|
match provider_responses {
|
||||||
match resp {
|
CompletionResponse::Array(items) => completions.extend(items),
|
||||||
CompletionResponse::Array(items) => completions.extend(items),
|
CompletionResponse::List(list) => completions.extend(list.items),
|
||||||
CompletionResponse::List(list) => completions.extend(list.items),
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue