From 4d333ebb6372c135e5a723da899528cc22d07faa Mon Sep 17 00:00:00 2001 From: Igor Aleksanov Date: Tue, 3 Nov 2020 10:33:13 +0300 Subject: Get rid of do-er antipattern --- crates/completion/src/render/macro_.rs | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) (limited to 'crates/completion/src/render/macro_.rs') diff --git a/crates/completion/src/render/macro_.rs b/crates/completion/src/render/macro_.rs index 066185559..96be59cc3 100644 --- a/crates/completion/src/render/macro_.rs +++ b/crates/completion/src/render/macro_.rs @@ -9,8 +9,16 @@ use crate::{ render::RenderContext, }; +pub(crate) fn render_macro<'a>( + ctx: RenderContext<'a>, + name: String, + macro_: hir::MacroDef, +) -> Option { + MacroRender::new(ctx, name, macro_).render() +} + #[derive(Debug)] -pub(crate) struct MacroRender<'a> { +struct MacroRender<'a> { ctx: RenderContext<'a>, name: String, macro_: hir::MacroDef, @@ -20,11 +28,7 @@ pub(crate) struct MacroRender<'a> { } impl<'a> MacroRender<'a> { - pub(crate) fn new( - ctx: RenderContext<'a>, - name: String, - macro_: hir::MacroDef, - ) -> MacroRender<'a> { + fn new(ctx: RenderContext<'a>, name: String, macro_: hir::MacroDef) -> MacroRender<'a> { let docs = ctx.docs(macro_); let docs_str = docs.as_ref().map_or("", |s| s.as_str()); let (bra, ket) = guess_macro_braces(&name, docs_str); @@ -32,7 +36,7 @@ impl<'a> MacroRender<'a> { MacroRender { ctx, name, macro_, docs, bra, ket } } - pub(crate) fn render(&self) -> Option { + fn render(&self) -> Option { // FIXME: Currently proc-macro do not have ast-node, // such that it does not have source if self.macro_.is_proc_macro() { -- cgit v1.2.3