use references in CompletionItem's builder

This commit is contained in:
yonip23 2021-03-11 17:46:41 +02:00
parent db6364fecc
commit 99c4a41cd1
17 changed files with 183 additions and 166 deletions

View file

@ -40,24 +40,27 @@ impl<'a> MacroRender<'a> {
fn render(&self, import_to_add: Option<ImportEdit>) -> Option<CompletionItem> {
let mut builder =
CompletionItem::new(CompletionKind::Reference, self.ctx.source_range(), &self.label())
.kind(SymbolKind::Macro)
.set_documentation(self.docs.clone())
.set_deprecated(self.ctx.is_deprecated(self.macro_))
.add_import(import_to_add)
.set_detail(self.detail());
CompletionItem::new(CompletionKind::Reference, self.ctx.source_range(), &self.label());
builder
.kind(SymbolKind::Macro)
.set_documentation(self.docs.clone())
.set_deprecated(self.ctx.is_deprecated(self.macro_))
.add_import(import_to_add)
.set_detail(self.detail());
let needs_bang = self.needs_bang();
builder = match self.ctx.snippet_cap() {
match self.ctx.snippet_cap() {
Some(cap) if needs_bang => {
let snippet = self.snippet();
let lookup = self.lookup();
builder.insert_snippet(cap, snippet).lookup_by(lookup)
builder.insert_snippet(cap, snippet).lookup_by(lookup);
}
None if needs_bang => {
builder.insert_text(self.banged_name());
}
None if needs_bang => builder.insert_text(self.banged_name()),
_ => {
cov_mark::hit!(dont_insert_macro_call_parens_unncessary);
builder.insert_text(&self.name)
builder.insert_text(&self.name);
}
};