use hir::{AsAssocItem, HasSource};
use ide_db::SymbolKind;
-use syntax::{
- ast::{Const, HasName},
- display::const_label,
-};
+use syntax::{ast::Const, display::const_label};
use crate::{item::CompletionItem, render::RenderContext};
}
fn render(self) -> Option<CompletionItem> {
- let name = self.name()?;
+ let name = self.const_.name(self.ctx.db())?.to_smol_str();
let detail = self.detail();
let mut item =
let db = self.ctx.db();
if let Some(actm) = self.const_.as_assoc_item(db) {
if let Some(trt) = actm.containing_trait_or_trait_impl(db) {
- item.trait_name(trt.name(db).to_string());
+ item.trait_name(trt.name(db).to_smol_str());
item.insert_text(name);
}
}
Some(item.build())
}
- fn name(&self) -> Option<String> {
- self.ast_node.name().map(|name| name.text().to_string())
- }
-
fn detail(&self) -> String {
const_label(&self.ast_node)
}