Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide_completion/src/completions/snippet.rs')
| -rw-r--r-- | crates/ide_completion/src/completions/snippet.rs | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/crates/ide_completion/src/completions/snippet.rs b/crates/ide_completion/src/completions/snippet.rs index 9812f25b40..1dace20102 100644 --- a/crates/ide_completion/src/completions/snippet.rs +++ b/crates/ide_completion/src/completions/snippet.rs @@ -104,13 +104,15 @@ fn add_custom_completions( let import_scope = ImportScope::find_insert_use_container_with_macros(&ctx.token.parent()?, &ctx.sema)?; ctx.config.snippets.iter().filter(|snip| snip.scope == scope).for_each(|snip| { - // FIXME: Support multiple imports - let import = match snip.imports(ctx, &import_scope) { - Ok(mut imports) => imports.pop(), + let imports = match snip.imports(ctx, &import_scope) { + Ok(imports) => imports, Err(_) => return, }; let mut builder = snippet(ctx, cap, &snip.label, &snip.snippet); - builder.add_import(import).detail(snip.description.as_deref().unwrap_or_default()); + for import in imports.into_iter() { + builder.add_import(import); + } + builder.detail(snip.description.as_deref().unwrap_or_default()); builder.add_to(acc); }); None @@ -132,7 +134,7 @@ mod tests { &["ControlFlow::Break(())".into()], &[], &["core::ops::ControlFlow".into()], - None, + crate::SnippetScope::Expr, ) .unwrap()], ..TEST_CONFIG |