aboutsummaryrefslogtreecommitdiff
path: root/crates/completion/src/render/macro_.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/completion/src/render/macro_.rs')
-rw-r--r--crates/completion/src/render/macro_.rs17
1 files changed, 6 insertions, 11 deletions
diff --git a/crates/completion/src/render/macro_.rs b/crates/completion/src/render/macro_.rs
index b1284f201..b4ab32c6e 100644
--- a/crates/completion/src/render/macro_.rs
+++ b/crates/completion/src/render/macro_.rs
@@ -1,24 +1,22 @@
1//! Renderer for macro invocations. 1//! Renderer for macro invocations.
2 2
3use hir::{Documentation, HasSource, ModPath}; 3use hir::{Documentation, HasSource};
4use ide_helpers::insert_use::{ImportScope, MergeBehaviour};
5use syntax::display::macro_label; 4use syntax::display::macro_label;
6use test_utils::mark; 5use test_utils::mark;
7 6
8use crate::{ 7use crate::{
9 item::{CompletionItem, CompletionItemKind, CompletionKind}, 8 item::{CompletionItem, CompletionItemKind, CompletionKind, ImportToAdd},
10 render::RenderContext, 9 render::RenderContext,
11}; 10};
12 11
13pub(crate) fn render_macro<'a>( 12pub(crate) fn render_macro<'a>(
14 ctx: RenderContext<'a>, 13 ctx: RenderContext<'a>,
15 // TODO kb add some object instead of a tuple? 14 import_to_add: Option<ImportToAdd>,
16 import_data: Option<(ModPath, ImportScope, Option<MergeBehaviour>)>,
17 name: String, 15 name: String,
18 macro_: hir::MacroDef, 16 macro_: hir::MacroDef,
19) -> Option<CompletionItem> { 17) -> Option<CompletionItem> {
20 let _p = profile::span("render_macro"); 18 let _p = profile::span("render_macro");
21 MacroRender::new(ctx, name, macro_).render(import_data) 19 MacroRender::new(ctx, name, macro_).render(import_to_add)
22} 20}
23 21
24#[derive(Debug)] 22#[derive(Debug)]
@@ -40,10 +38,7 @@ impl<'a> MacroRender<'a> {
40 MacroRender { ctx, name, macro_, docs, bra, ket } 38 MacroRender { ctx, name, macro_, docs, bra, ket }
41 } 39 }
42 40
43 fn render( 41 fn render(&self, import_to_add: Option<ImportToAdd>) -> Option<CompletionItem> {
44 &self,
45 import_data: Option<(ModPath, ImportScope, Option<MergeBehaviour>)>,
46 ) -> Option<CompletionItem> {
47 // FIXME: Currently proc-macro do not have ast-node, 42 // FIXME: Currently proc-macro do not have ast-node,
48 // such that it does not have source 43 // such that it does not have source
49 if self.macro_.is_proc_macro() { 44 if self.macro_.is_proc_macro() {
@@ -55,7 +50,7 @@ impl<'a> MacroRender<'a> {
55 .kind(CompletionItemKind::Macro) 50 .kind(CompletionItemKind::Macro)
56 .set_documentation(self.docs.clone()) 51 .set_documentation(self.docs.clone())
57 .set_deprecated(self.ctx.is_deprecated(self.macro_)) 52 .set_deprecated(self.ctx.is_deprecated(self.macro_))
58 .import_data(import_data) 53 .add_import(import_to_add)
59 .detail(self.detail()); 54 .detail(self.detail());
60 55
61 let needs_bang = self.needs_bang(); 56 let needs_bang = self.needs_bang();