aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_analysis/src/completion/complete_use_tree.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_analysis/src/completion/complete_use_tree.rs')
-rw-r--r--crates/ra_analysis/src/completion/complete_use_tree.rs75
1 files changed, 0 insertions, 75 deletions
diff --git a/crates/ra_analysis/src/completion/complete_use_tree.rs b/crates/ra_analysis/src/completion/complete_use_tree.rs
deleted file mode 100644
index 5f2f6e449..000000000
--- a/crates/ra_analysis/src/completion/complete_use_tree.rs
+++ /dev/null
@@ -1,75 +0,0 @@
1use crate::completion::{CompletionContext, CompletionItem, Completions, CompletionKind, CompletionItemKind};
2
3pub(super) fn complete_use_tree_keyword(acc: &mut Completions, ctx: &CompletionContext) {
4 // complete keyword "crate" in use stmt
5 match (ctx.use_item_syntax.as_ref(), ctx.path_prefix.as_ref()) {
6 (Some(_), None) => {
7 CompletionItem::new(CompletionKind::Keyword, "crate")
8 .kind(CompletionItemKind::Keyword)
9 .lookup_by("crate")
10 .snippet("crate::")
11 .add_to(acc);
12 CompletionItem::new(CompletionKind::Keyword, "self")
13 .kind(CompletionItemKind::Keyword)
14 .lookup_by("self")
15 .add_to(acc);
16 CompletionItem::new(CompletionKind::Keyword, "super")
17 .kind(CompletionItemKind::Keyword)
18 .lookup_by("super")
19 .add_to(acc);
20 }
21 (Some(_), Some(_)) => {
22 CompletionItem::new(CompletionKind::Keyword, "self")
23 .kind(CompletionItemKind::Keyword)
24 .lookup_by("self")
25 .add_to(acc);
26 CompletionItem::new(CompletionKind::Keyword, "super")
27 .kind(CompletionItemKind::Keyword)
28 .lookup_by("super")
29 .add_to(acc);
30 }
31 _ => {}
32 }
33}
34
35#[cfg(test)]
36mod tests {
37 use crate::completion::{CompletionKind, check_completion};
38 fn check_keyword_completion(code: &str, expected_completions: &str) {
39 check_completion(code, expected_completions, CompletionKind::Keyword);
40 }
41
42 #[test]
43 fn completes_keywords_in_use_stmt() {
44 check_keyword_completion(
45 r"
46 use <|>
47 ",
48 r#"
49 crate "crate" "crate::"
50 self "self"
51 super "super"
52 "#,
53 );
54
55 check_keyword_completion(
56 r"
57 use a::<|>
58 ",
59 r#"
60 self "self"
61 super "super"
62 "#,
63 );
64
65 check_keyword_completion(
66 r"
67 use a::{b, <|>}
68 ",
69 r#"
70 self "self"
71 super "super"
72 "#,
73 );
74 }
75}