aboutsummaryrefslogtreecommitdiff
path: root/crates/completion/src/lib.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/completion/src/lib.rs')
-rw-r--r--crates/completion/src/lib.rs60
1 files changed, 24 insertions, 36 deletions
diff --git a/crates/completion/src/lib.rs b/crates/completion/src/lib.rs
index b72fd249d..786cd2640 100644
--- a/crates/completion/src/lib.rs
+++ b/crates/completion/src/lib.rs
@@ -1,39 +1,27 @@
1//! `completions` crate provides utilities for generating completions of user input. 1//! `completions` crate provides utilities for generating completions of user input.
2 2
3mod completion_config; 3mod config;
4mod completion_item; 4mod item;
5mod completion_context; 5mod context;
6mod presentation; 6mod presentation;
7mod patterns; 7mod patterns;
8mod generated_lint_completions; 8mod generated_lint_completions;
9#[cfg(test)] 9#[cfg(test)]
10mod test_utils; 10mod test_utils;
11 11
12mod complete_attribute; 12mod completions;
13mod complete_dot;
14mod complete_record;
15mod complete_pattern;
16mod complete_fn_param;
17mod complete_keyword;
18mod complete_snippet;
19mod complete_qualified_path;
20mod complete_unqualified_path;
21mod complete_postfix;
22mod complete_macro_in_item_position;
23mod complete_trait_impl;
24mod complete_mod;
25 13
26use ide_db::base_db::FilePosition; 14use ide_db::base_db::FilePosition;
27use ide_db::RootDatabase; 15use ide_db::RootDatabase;
28 16
29use crate::{ 17use crate::{
30 completion_context::CompletionContext, 18 context::CompletionContext,
31 completion_item::{CompletionKind, Completions}, 19 item::{CompletionKind, Completions},
32}; 20};
33 21
34pub use crate::{ 22pub use crate::{
35 completion_config::CompletionConfig, 23 config::CompletionConfig,
36 completion_item::{CompletionItem, CompletionItemKind, CompletionScore, InsertTextFormat}, 24 item::{CompletionItem, CompletionItemKind, CompletionScore, InsertTextFormat},
37}; 25};
38 26
39//FIXME: split the following feature into fine-grained features. 27//FIXME: split the following feature into fine-grained features.
@@ -118,28 +106,28 @@ pub fn completions(
118 } 106 }
119 107
120 let mut acc = Completions::default(); 108 let mut acc = Completions::default();
121 complete_attribute::complete_attribute(&mut acc, &ctx); 109 completions::attribute::complete_attribute(&mut acc, &ctx);
122 complete_fn_param::complete_fn_param(&mut acc, &ctx); 110 completions::fn_param::complete_fn_param(&mut acc, &ctx);
123 complete_keyword::complete_expr_keyword(&mut acc, &ctx); 111 completions::keyword::complete_expr_keyword(&mut acc, &ctx);
124 complete_keyword::complete_use_tree_keyword(&mut acc, &ctx); 112 completions::keyword::complete_use_tree_keyword(&mut acc, &ctx);
125 complete_snippet::complete_expr_snippet(&mut acc, &ctx); 113 completions::snippet::complete_expr_snippet(&mut acc, &ctx);
126 complete_snippet::complete_item_snippet(&mut acc, &ctx); 114 completions::snippet::complete_item_snippet(&mut acc, &ctx);
127 complete_qualified_path::complete_qualified_path(&mut acc, &ctx); 115 completions::qualified_path::complete_qualified_path(&mut acc, &ctx);
128 complete_unqualified_path::complete_unqualified_path(&mut acc, &ctx); 116 completions::unqualified_path::complete_unqualified_path(&mut acc, &ctx);
129 complete_dot::complete_dot(&mut acc, &ctx); 117 completions::dot::complete_dot(&mut acc, &ctx);
130 complete_record::complete_record(&mut acc, &ctx); 118 completions::record::complete_record(&mut acc, &ctx);
131 complete_pattern::complete_pattern(&mut acc, &ctx); 119 completions::pattern::complete_pattern(&mut acc, &ctx);
132 complete_postfix::complete_postfix(&mut acc, &ctx); 120 completions::postfix::complete_postfix(&mut acc, &ctx);
133 complete_macro_in_item_position::complete_macro_in_item_position(&mut acc, &ctx); 121 completions::macro_in_item_position::complete_macro_in_item_position(&mut acc, &ctx);
134 complete_trait_impl::complete_trait_impl(&mut acc, &ctx); 122 completions::trait_impl::complete_trait_impl(&mut acc, &ctx);
135 complete_mod::complete_mod(&mut acc, &ctx); 123 completions::mod_::complete_mod(&mut acc, &ctx);
136 124
137 Some(acc) 125 Some(acc)
138} 126}
139 127
140#[cfg(test)] 128#[cfg(test)]
141mod tests { 129mod tests {
142 use crate::completion_config::CompletionConfig; 130 use crate::config::CompletionConfig;
143 use crate::test_utils; 131 use crate::test_utils;
144 132
145 struct DetailAndDocumentation<'a> { 133 struct DetailAndDocumentation<'a> {