diff options
author | Kirill Bulatov <[email protected]> | 2020-11-27 10:22:10 +0000 |
---|---|---|
committer | Kirill Bulatov <[email protected]> | 2020-11-27 16:30:10 +0000 |
commit | f75f07019bd754e4fcc40c6144cc83911bbf21c8 (patch) | |
tree | be61aa6b64ebd854037d551c9aaddcddfd0d7041 /crates/completion/src/render/function.rs | |
parent | f4ae3650d855554575f866264a3c8197dfd12835 (diff) |
Group import data in a struct
Diffstat (limited to 'crates/completion/src/render/function.rs')
-rw-r--r-- | crates/completion/src/render/function.rs | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/crates/completion/src/render/function.rs b/crates/completion/src/render/function.rs index 07e99058a..542383d7e 100644 --- a/crates/completion/src/render/function.rs +++ b/crates/completion/src/render/function.rs | |||
@@ -1,22 +1,21 @@ | |||
1 | //! Renderer for function calls. | 1 | //! Renderer for function calls. |
2 | 2 | ||
3 | use hir::{HasSource, ModPath, Type}; | 3 | use hir::{HasSource, Type}; |
4 | use ide_helpers::insert_use::{ImportScope, MergeBehaviour}; | ||
5 | use syntax::{ast::Fn, display::function_declaration}; | 4 | use syntax::{ast::Fn, display::function_declaration}; |
6 | 5 | ||
7 | use crate::{ | 6 | use crate::{ |
8 | item::{CompletionItem, CompletionItemKind, CompletionKind}, | 7 | item::{CompletionItem, CompletionItemKind, CompletionKind, ImportToAdd}, |
9 | render::{builder_ext::Params, RenderContext}, | 8 | render::{builder_ext::Params, RenderContext}, |
10 | }; | 9 | }; |
11 | 10 | ||
12 | pub(crate) fn render_fn<'a>( | 11 | pub(crate) fn render_fn<'a>( |
13 | ctx: RenderContext<'a>, | 12 | ctx: RenderContext<'a>, |
14 | import_data: Option<(ModPath, ImportScope, Option<MergeBehaviour>)>, | 13 | import_to_add: Option<ImportToAdd>, |
15 | local_name: Option<String>, | 14 | local_name: Option<String>, |
16 | fn_: hir::Function, | 15 | fn_: hir::Function, |
17 | ) -> CompletionItem { | 16 | ) -> CompletionItem { |
18 | let _p = profile::span("render_fn"); | 17 | let _p = profile::span("render_fn"); |
19 | FunctionRender::new(ctx, local_name, fn_).render(import_data) | 18 | FunctionRender::new(ctx, local_name, fn_).render(import_to_add) |
20 | } | 19 | } |
21 | 20 | ||
22 | #[derive(Debug)] | 21 | #[derive(Debug)] |
@@ -39,10 +38,7 @@ impl<'a> FunctionRender<'a> { | |||
39 | FunctionRender { ctx, name, fn_, ast_node } | 38 | FunctionRender { ctx, name, fn_, ast_node } |
40 | } | 39 | } |
41 | 40 | ||
42 | fn render( | 41 | fn render(self, import_to_add: Option<ImportToAdd>) -> CompletionItem { |
43 | self, | ||
44 | import_data: Option<(ModPath, ImportScope, Option<MergeBehaviour>)>, | ||
45 | ) -> CompletionItem { | ||
46 | let params = self.params(); | 42 | let params = self.params(); |
47 | CompletionItem::new(CompletionKind::Reference, self.ctx.source_range(), self.name.clone()) | 43 | CompletionItem::new(CompletionKind::Reference, self.ctx.source_range(), self.name.clone()) |
48 | .kind(self.kind()) | 44 | .kind(self.kind()) |
@@ -50,7 +46,7 @@ impl<'a> FunctionRender<'a> { | |||
50 | .set_deprecated(self.ctx.is_deprecated(self.fn_)) | 46 | .set_deprecated(self.ctx.is_deprecated(self.fn_)) |
51 | .detail(self.detail()) | 47 | .detail(self.detail()) |
52 | .add_call_parens(self.ctx.completion, self.name, params) | 48 | .add_call_parens(self.ctx.completion, self.name, params) |
53 | .import_data(import_data) | 49 | .add_import(import_to_add) |
54 | .build() | 50 | .build() |
55 | } | 51 | } |
56 | 52 | ||