aboutsummaryrefslogtreecommitdiff
path: root/crates/completion/src/render/function.rs
diff options
context:
space:
mode:
authorIgor Aleksanov <[email protected]>2020-11-03 07:33:13 +0000
committerIgor Aleksanov <[email protected]>2020-11-03 07:33:13 +0000
commit4d333ebb6372c135e5a723da899528cc22d07faa (patch)
tree7ab4c7f113a1686d7378502e2685d3529cb6f5ba /crates/completion/src/render/function.rs
parentcaf0fa20a7d895612ceee1948d6a9895e53bee4a (diff)
Get rid of do-er antipattern
Diffstat (limited to 'crates/completion/src/render/function.rs')
-rw-r--r--crates/completion/src/render/function.rs14
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
11pub(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)]
12pub(crate) struct FunctionRender<'a> { 20struct 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
19impl<'a> FunctionRender<'a> { 27impl<'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())