Unnamed repository; edit this file 'description' to name the repository.
Merge pull request #21982 from A4-Tacks/kw-not-snippet
minor: Fix self kw is snippet in type location
Chayim Refael Friedman 6 weeks ago
parent b41a134 · parent e864158 · commit c6bd2d9
-rw-r--r--crates/ide-completion/src/render.rs15
1 files changed, 9 insertions, 6 deletions
diff --git a/crates/ide-completion/src/render.rs b/crates/ide-completion/src/render.rs
index f37b73a28a..b946441991 100644
--- a/crates/ide-completion/src/render.rs
+++ b/crates/ide-completion/src/render.rs
@@ -590,14 +590,17 @@ pub(crate) fn render_type_keyword_snippet(
let mut item =
CompletionItem::new(CompletionItemKind::Keyword, source_range, label, ctx.edition);
- let cap = ctx.config.snippet_cap;
- if let Some(cap) = cap {
+ let insert_text = if !snippet.contains('$') {
+ item.insert_text(snippet);
+ snippet
+ } else if let Some(cap) = ctx.config.snippet_cap {
item.insert_snippet(cap, snippet);
- }
-
- let insert_text = if cap.is_some() { snippet } else { label }.to_owned();
- adds_ret_type_arrow(ctx, path_ctx, &mut item, insert_text);
+ snippet
+ } else {
+ label
+ };
+ adds_ret_type_arrow(ctx, path_ctx, &mut item, insert_text.to_owned());
item
}