]> git.lizzy.rs Git - rust.git/blobdiff - crates/ide_completion/src/render/const_.rs
Replace some String usages with SmolStr in completions
[rust.git] / crates / ide_completion / src / render / const_.rs
index 166ae3c16bc54028168f6443612fcfc3dbad6344..707b6533b5423e6a6556c5a07d377da56e97c2e9 100644 (file)
@@ -2,15 +2,9 @@
 
 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, CompletionKind},
-    render::RenderContext,
-};
+use crate::{item::CompletionItem, render::RenderContext};
 
 pub(crate) fn render_const(ctx: RenderContext<'_>, const_: hir::Const) -> Option<CompletionItem> {
     ConstRender::new(ctx, const_)?.render()
@@ -30,13 +24,12 @@ fn new(ctx: RenderContext<'a>, const_: hir::Const) -> Option<ConstRender<'a>> {
     }
 
     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 =
-            CompletionItem::new(CompletionKind::Reference, self.ctx.source_range(), name.clone());
-        item.kind(SymbolKind::Const)
-            .set_documentation(self.ctx.docs(self.const_))
+            CompletionItem::new(SymbolKind::Const, self.ctx.source_range(), name.clone());
+        item.set_documentation(self.ctx.docs(self.const_))
             .set_deprecated(
                 self.ctx.is_deprecated(self.const_)
                     || self.ctx.is_deprecated_assoc_item(self.const_),
@@ -46,7 +39,7 @@ fn render(self) -> Option<CompletionItem> {
         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);
             }
         }
@@ -54,10 +47,6 @@ fn render(self) -> Option<CompletionItem> {
         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)
     }