diff options
Diffstat (limited to 'crates/completion/src/render/macro_.rs')
-rw-r--r-- | crates/completion/src/render/macro_.rs | 18 |
1 files changed, 11 insertions, 7 deletions
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::{ | |||
9 | render::RenderContext, | 9 | render::RenderContext, |
10 | }; | 10 | }; |
11 | 11 | ||
12 | pub(crate) fn render_macro<'a>( | ||
13 | ctx: RenderContext<'a>, | ||
14 | name: String, | ||
15 | macro_: hir::MacroDef, | ||
16 | ) -> Option<CompletionItem> { | ||
17 | MacroRender::new(ctx, name, macro_).render() | ||
18 | } | ||
19 | |||
12 | #[derive(Debug)] | 20 | #[derive(Debug)] |
13 | pub(crate) struct MacroRender<'a> { | 21 | struct MacroRender<'a> { |
14 | ctx: RenderContext<'a>, | 22 | ctx: RenderContext<'a>, |
15 | name: String, | 23 | name: String, |
16 | macro_: hir::MacroDef, | 24 | macro_: hir::MacroDef, |
@@ -20,11 +28,7 @@ pub(crate) struct MacroRender<'a> { | |||
20 | } | 28 | } |
21 | 29 | ||
22 | impl<'a> MacroRender<'a> { | 30 | impl<'a> MacroRender<'a> { |
23 | pub(crate) fn new( | 31 | fn new(ctx: RenderContext<'a>, name: String, macro_: hir::MacroDef) -> MacroRender<'a> { |
24 | ctx: RenderContext<'a>, | ||
25 | name: String, | ||
26 | macro_: hir::MacroDef, | ||
27 | ) -> MacroRender<'a> { | ||
28 | let docs = ctx.docs(macro_); | 32 | let docs = ctx.docs(macro_); |
29 | let docs_str = docs.as_ref().map_or("", |s| s.as_str()); | 33 | let docs_str = docs.as_ref().map_or("", |s| s.as_str()); |
30 | let (bra, ket) = guess_macro_braces(&name, docs_str); | 34 | let (bra, ket) = guess_macro_braces(&name, docs_str); |
@@ -32,7 +36,7 @@ impl<'a> MacroRender<'a> { | |||
32 | MacroRender { ctx, name, macro_, docs, bra, ket } | 36 | MacroRender { ctx, name, macro_, docs, bra, ket } |
33 | } | 37 | } |
34 | 38 | ||
35 | pub(crate) fn render(&self) -> Option<CompletionItem> { | 39 | fn render(&self) -> Option<CompletionItem> { |
36 | // FIXME: Currently proc-macro do not have ast-node, | 40 | // FIXME: Currently proc-macro do not have ast-node, |
37 | // such that it does not have source | 41 | // such that it does not have source |
38 | if self.macro_.is_proc_macro() { | 42 | if self.macro_.is_proc_macro() { |