diff options
author | Igor Aleksanov <[email protected]> | 2020-11-03 07:33:13 +0000 |
---|---|---|
committer | Igor Aleksanov <[email protected]> | 2020-11-03 07:33:13 +0000 |
commit | 4d333ebb6372c135e5a723da899528cc22d07faa (patch) | |
tree | 7ab4c7f113a1686d7378502e2685d3529cb6f5ba /crates/completion/src/render/function.rs | |
parent | caf0fa20a7d895612ceee1948d6a9895e53bee4a (diff) |
Get rid of do-er antipattern
Diffstat (limited to 'crates/completion/src/render/function.rs')
-rw-r--r-- | crates/completion/src/render/function.rs | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/crates/completion/src/render/function.rs b/crates/completion/src/render/function.rs index 9d9bbe309..4fa6eafd7 100644 --- a/crates/completion/src/render/function.rs +++ b/crates/completion/src/render/function.rs | |||
@@ -8,8 +8,16 @@ use crate::{ | |||
8 | render::{builder_ext::Params, RenderContext}, | 8 | render::{builder_ext::Params, RenderContext}, |
9 | }; | 9 | }; |
10 | 10 | ||
11 | pub(crate) fn render_fn<'a>( | ||
12 | ctx: RenderContext<'a>, | ||
13 | local_name: Option<String>, | ||
14 | fn_: hir::Function, | ||
15 | ) -> CompletionItem { | ||
16 | FunctionRender::new(ctx, local_name, fn_).render() | ||
17 | } | ||
18 | |||
11 | #[derive(Debug)] | 19 | #[derive(Debug)] |
12 | pub(crate) struct FunctionRender<'a> { | 20 | struct FunctionRender<'a> { |
13 | ctx: RenderContext<'a>, | 21 | ctx: RenderContext<'a>, |
14 | name: String, | 22 | name: String, |
15 | fn_: hir::Function, | 23 | fn_: hir::Function, |
@@ -17,7 +25,7 @@ pub(crate) struct FunctionRender<'a> { | |||
17 | } | 25 | } |
18 | 26 | ||
19 | impl<'a> FunctionRender<'a> { | 27 | impl<'a> FunctionRender<'a> { |
20 | pub(crate) fn new( | 28 | fn new( |
21 | ctx: RenderContext<'a>, | 29 | ctx: RenderContext<'a>, |
22 | local_name: Option<String>, | 30 | local_name: Option<String>, |
23 | fn_: hir::Function, | 31 | fn_: hir::Function, |
@@ -28,7 +36,7 @@ impl<'a> FunctionRender<'a> { | |||
28 | FunctionRender { ctx, name, fn_, ast_node } | 36 | FunctionRender { ctx, name, fn_, ast_node } |
29 | } | 37 | } |
30 | 38 | ||
31 | pub(crate) fn render(self) -> CompletionItem { | 39 | fn render(self) -> CompletionItem { |
32 | let params = self.params(); | 40 | let params = self.params(); |
33 | CompletionItem::new(CompletionKind::Reference, self.ctx.source_range(), self.name.clone()) | 41 | CompletionItem::new(CompletionKind::Reference, self.ctx.source_range(), self.name.clone()) |
34 | .kind(self.kind()) | 42 | .kind(self.kind()) |