diff options
Diffstat (limited to 'crates/ide/src/completion/complete_keyword.rs')
-rw-r--r-- | crates/ide/src/completion/complete_keyword.rs | 29 |
1 files changed, 10 insertions, 19 deletions
diff --git a/crates/ide/src/completion/complete_keyword.rs b/crates/ide/src/completion/complete_keyword.rs index a80708935..22ada3cf2 100644 --- a/crates/ide/src/completion/complete_keyword.rs +++ b/crates/ide/src/completion/complete_keyword.rs | |||
@@ -10,30 +10,21 @@ use crate::completion::{ | |||
10 | pub(super) fn complete_use_tree_keyword(acc: &mut Completions, ctx: &CompletionContext) { | 10 | pub(super) fn complete_use_tree_keyword(acc: &mut Completions, ctx: &CompletionContext) { |
11 | // complete keyword "crate" in use stmt | 11 | // complete keyword "crate" in use stmt |
12 | let source_range = ctx.source_range(); | 12 | let source_range = ctx.source_range(); |
13 | match (ctx.use_item_syntax.as_ref(), ctx.path_prefix.as_ref()) { | 13 | |
14 | (Some(_), None) => { | 14 | if ctx.use_item_syntax.is_some() { |
15 | if ctx.path_qual.is_none() { | ||
15 | CompletionItem::new(CompletionKind::Keyword, source_range, "crate::") | 16 | CompletionItem::new(CompletionKind::Keyword, source_range, "crate::") |
16 | .kind(CompletionItemKind::Keyword) | 17 | .kind(CompletionItemKind::Keyword) |
17 | .insert_text("crate::") | 18 | .insert_text("crate::") |
18 | .add_to(acc); | 19 | .add_to(acc); |
19 | CompletionItem::new(CompletionKind::Keyword, source_range, "self") | ||
20 | .kind(CompletionItemKind::Keyword) | ||
21 | .add_to(acc); | ||
22 | CompletionItem::new(CompletionKind::Keyword, source_range, "super::") | ||
23 | .kind(CompletionItemKind::Keyword) | ||
24 | .insert_text("super::") | ||
25 | .add_to(acc); | ||
26 | } | ||
27 | (Some(_), Some(_)) => { | ||
28 | CompletionItem::new(CompletionKind::Keyword, source_range, "self") | ||
29 | .kind(CompletionItemKind::Keyword) | ||
30 | .add_to(acc); | ||
31 | CompletionItem::new(CompletionKind::Keyword, source_range, "super::") | ||
32 | .kind(CompletionItemKind::Keyword) | ||
33 | .insert_text("super::") | ||
34 | .add_to(acc); | ||
35 | } | 20 | } |
36 | _ => {} | 21 | CompletionItem::new(CompletionKind::Keyword, source_range, "self") |
22 | .kind(CompletionItemKind::Keyword) | ||
23 | .add_to(acc); | ||
24 | CompletionItem::new(CompletionKind::Keyword, source_range, "super::") | ||
25 | .kind(CompletionItemKind::Keyword) | ||
26 | .insert_text("super::") | ||
27 | .add_to(acc); | ||
37 | } | 28 | } |
38 | 29 | ||
39 | // Suggest .await syntax for types that implement Future trait | 30 | // Suggest .await syntax for types that implement Future trait |