]> git.lizzy.rs Git - rust.git/blobdiff - crates/ide_completion/src/completions/attribute/cfg.rs
Replace some String usages with SmolStr in completions
[rust.git] / crates / ide_completion / src / completions / attribute / cfg.rs
index 171babc698e89052523977f0bd5f450e9b322e3e..1a10531a1bd61665ba4a45b60ac294b3e34a26b4 100644 (file)
@@ -5,16 +5,14 @@
 use syntax::SyntaxKind;
 
 use crate::{
-    completions::Completions, context::CompletionContext, item::CompletionKind, CompletionItem,
-    CompletionItemKind,
+    completions::Completions, context::CompletionContext, CompletionItem, CompletionItemKind,
 };
 
 pub(crate) fn complete_cfg(acc: &mut Completions, ctx: &CompletionContext) {
     let add_completion = |item: &str| {
         let mut completion =
-            CompletionItem::new(CompletionKind::Attribute, ctx.source_range(), item);
+            CompletionItem::new(CompletionItemKind::Attribute, ctx.source_range(), item);
         completion.insert_text(format!(r#""{}""#, item));
-        completion.kind(CompletionItemKind::Attribute);
         acc.add(completion.build());
     };
 
@@ -33,13 +31,11 @@ pub(crate) fn complete_cfg(acc: &mut Completions, ctx: &CompletionContext) {
         Some("target_endian") => ["little", "big"].into_iter().for_each(add_completion),
         Some(name) => {
             if let Some(krate) = ctx.krate {
-                krate.potential_cfg(ctx.db).get_cfg_values(&name).iter().for_each(|s| {
-                    let mut item = CompletionItem::new(
-                        CompletionKind::Attribute,
-                        ctx.source_range(),
-                        s.as_str(),
-                    );
-                    item.insert_text(format!(r#""{}""#, s));
+                krate.potential_cfg(ctx.db).get_cfg_values(&name).cloned().for_each(|s| {
+                    let insert_text = format!(r#""{}""#, s);
+                    let mut item =
+                        CompletionItem::new(CompletionItemKind::Attribute, ctx.source_range(), s);
+                    item.insert_text(insert_text);
 
                     acc.add(item.build());
                 })
@@ -47,12 +43,9 @@ pub(crate) fn complete_cfg(acc: &mut Completions, ctx: &CompletionContext) {
         }
         None => {
             if let Some(krate) = ctx.krate {
-                krate.potential_cfg(ctx.db).get_cfg_keys().iter().for_each(|s| {
-                    let item = CompletionItem::new(
-                        CompletionKind::Attribute,
-                        ctx.source_range(),
-                        s.as_str(),
-                    );
+                krate.potential_cfg(ctx.db).get_cfg_keys().cloned().for_each(|s| {
+                    let item =
+                        CompletionItem::new(CompletionItemKind::Attribute, ctx.source_range(), s);
                     acc.add(item.build());
                 })
             }