Remove Name::to_smol_str

This commit is contained in:
Lukas Wirth 2024-07-16 12:43:58 +02:00
parent df5f1777b8
commit 2346a80ab4
54 changed files with 288 additions and 190 deletions

View file

@ -2,6 +2,7 @@
use hir::{AsAssocItem, HirDisplay};
use ide_db::SymbolKind;
use syntax::ToSmolStr;
use crate::{item::CompletionItem, render::RenderContext};
@ -13,7 +14,8 @@ pub(crate) fn render_const(ctx: RenderContext<'_>, const_: hir::Const) -> Option
fn render(ctx: RenderContext<'_>, const_: hir::Const) -> Option<CompletionItem> {
let db = ctx.db();
let name = const_.name(db)?;
let (name, escaped_name) = (name.unescaped().to_smol_str(), name.to_smol_str());
let (name, escaped_name) =
(name.unescaped().display(db).to_smolstr(), name.display(db).to_smolstr());
let detail = const_.display(db).to_string();
let mut item = CompletionItem::new(SymbolKind::Const, ctx.source_range(), name);
@ -24,7 +26,7 @@ fn render(ctx: RenderContext<'_>, const_: hir::Const) -> Option<CompletionItem>
if let Some(actm) = const_.as_assoc_item(db) {
if let Some(trt) = actm.container_or_implemented_trait(db) {
item.trait_name(trt.name(db).to_smol_str());
item.trait_name(trt.name(db).display_no_db().to_smolstr());
}
}
item.insert_text(escaped_name);

View file

@ -4,7 +4,7 @@ use hir::{db::HirDatabase, AsAssocItem, HirDisplay};
use ide_db::{SnippetCap, SymbolKind};
use itertools::Itertools;
use stdx::{format_to, to_lower_snake_case};
use syntax::{format_smolstr, AstNode, SmolStr};
use syntax::{format_smolstr, AstNode, SmolStr, ToSmolStr};
use crate::{
context::{CompletionContext, DotAccess, DotAccessKind, PathCompletionCtx, PathKind},
@ -64,7 +64,7 @@ fn render(
),
format_smolstr!("{}.{}", receiver.display(ctx.db()), name.display(ctx.db())),
),
_ => (name.unescaped().to_smol_str(), name.to_smol_str()),
_ => (name.unescaped().display(db).to_smolstr(), name.display(db).to_smolstr()),
};
let has_self_param = func.self_param(db).is_some();
let mut item = CompletionItem::new(
@ -148,7 +148,7 @@ fn render(
item.set_documentation(ctx.docs(func))
.set_deprecated(ctx.is_deprecated(func) || ctx.is_deprecated_assoc_item(func))
.detail(detail)
.lookup_by(name.unescaped().to_smol_str());
.lookup_by(name.unescaped().display(db).to_smolstr());
if let Some((cap, (self_param, params))) = complete_call_parens {
add_call_parens(&mut item, completion, cap, call, escaped_call, self_param, params);
@ -161,7 +161,7 @@ fn render(
None => {
if let Some(actm) = assoc_item {
if let Some(trt) = actm.container_or_implemented_trait(db) {
item.trait_name(trt.name(db).to_smol_str());
item.trait_name(trt.name(db).display_no_db().to_smolstr());
}
}
}
@ -219,7 +219,7 @@ pub(super) fn add_call_parens<'b>(
params.iter().enumerate().format_with(", ", |(index, param), f| {
match param.name(ctx.db) {
Some(n) => {
let smol_str = n.to_smol_str();
let smol_str = n.display_no_db().to_smolstr();
let text = smol_str.as_str().trim_start_matches('_');
let ref_ = ref_of_param(ctx, text, param.ty());
f(&format_args!("${{{}:{ref_}{text}}}", index + offset))

View file

@ -2,7 +2,7 @@
use hir::HirDisplay;
use ide_db::{documentation::Documentation, SymbolKind};
use syntax::{format_smolstr, SmolStr};
use syntax::{format_smolstr, SmolStr, ToSmolStr};
use crate::{
context::{PathCompletionCtx, PathKind, PatternContext},
@ -46,7 +46,8 @@ fn render(
ctx.source_range()
};
let (name, escaped_name) = (name.unescaped().to_smol_str(), name.to_smol_str());
let (name, escaped_name) =
(name.unescaped().display(ctx.db()).to_smolstr(), name.display(ctx.db()).to_smolstr());
let docs = ctx.docs(macro_);
let docs_str = docs.as_ref().map(Documentation::as_str).unwrap_or_default();
let is_fn_like = macro_.is_fn_like(completion.db);

View file

@ -3,7 +3,7 @@
use hir::{db::HirDatabase, Name, StructKind};
use ide_db::{documentation::HasDocs, SnippetCap};
use itertools::Itertools;
use syntax::SmolStr;
use syntax::{SmolStr, ToSmolStr};
use crate::{
context::{ParamContext, ParamKind, PathCompletionCtx, PatternContext},
@ -31,7 +31,8 @@ pub(crate) fn render_struct_pat(
}
let name = local_name.unwrap_or_else(|| strukt.name(ctx.db()));
let (name, escaped_name) = (name.unescaped().to_smol_str(), name.to_smol_str());
let (name, escaped_name) =
(name.unescaped().display(ctx.db()).to_smolstr(), name.display(ctx.db()).to_smolstr());
let kind = strukt.kind(ctx.db());
let label = format_literal_label(name.as_str(), kind, ctx.snippet_cap());
let lookup = format_literal_lookup(name.as_str(), kind);
@ -63,7 +64,11 @@ pub(crate) fn render_variant_pat(
),
None => {
let name = local_name.unwrap_or_else(|| variant.name(ctx.db()));
(name.unescaped().to_smol_str(), name.to_smol_str())
let it = (
name.unescaped().display(ctx.db()).to_smolstr(),
name.display(ctx.db()).to_smolstr(),
);
it
}
};
@ -184,7 +189,7 @@ fn render_record_as_pat(
None => {
format!(
"{name} {{ {}{} }}",
fields.map(|field| field.name(db).to_smol_str()).format(", "),
fields.map(|field| field.name(db).display_no_db().to_smolstr()).format(", "),
if fields_omitted { ", .." } else { "" },
name = name
)

View file

@ -2,7 +2,7 @@
use hir::{AsAssocItem, HirDisplay};
use ide_db::SymbolKind;
use syntax::SmolStr;
use syntax::{SmolStr, ToSmolStr};
use crate::{item::CompletionItem, render::RenderContext};
@ -32,11 +32,11 @@ fn render(
let name = type_alias.name(db);
let (name, escaped_name) = if with_eq {
(
SmolStr::from_iter([&name.unescaped().to_smol_str(), " = "]),
SmolStr::from_iter([&name.to_smol_str(), " = "]),
SmolStr::from_iter([&name.unescaped().display(db).to_smolstr(), " = "]),
SmolStr::from_iter([&name.display_no_db().to_smolstr(), " = "]),
)
} else {
(name.unescaped().to_smol_str(), name.to_smol_str())
(name.unescaped().display(db).to_smolstr(), name.display_no_db().to_smolstr())
};
let detail = type_alias.display(db).to_string();
@ -48,7 +48,7 @@ fn render(
if let Some(actm) = type_alias.as_assoc_item(db) {
if let Some(trt) = actm.container_or_implemented_trait(db) {
item.trait_name(trt.name(db).to_smol_str());
item.trait_name(trt.name(db).display_no_db().to_smolstr());
}
}
item.insert_text(escaped_name);

View file

@ -3,6 +3,7 @@
use hir::{HirDisplay, Name, StructKind};
use ide_db::SymbolKind;
use itertools::Itertools;
use syntax::ToSmolStr;
use crate::{
render::{
@ -26,8 +27,12 @@ pub(crate) fn render_union_literal(
(name.unescaped().display(ctx.db()).to_string(), name.display(ctx.db()).to_string())
}
};
let label = format_literal_label(&name.to_smol_str(), StructKind::Record, ctx.snippet_cap());
let lookup = format_literal_lookup(&name.to_smol_str(), StructKind::Record);
let label = format_literal_label(
&name.display_no_db().to_smolstr(),
StructKind::Record,
ctx.snippet_cap(),
);
let lookup = format_literal_lookup(&name.display_no_db().to_smolstr(), StructKind::Record);
let mut item = CompletionItem::new(
CompletionItemKind::SymbolKind(SymbolKind::Union),
ctx.source_range(),
@ -47,7 +52,10 @@ pub(crate) fn render_union_literal(
format!(
"{} {{ ${{1|{}|}}: ${{2:()}} }}$0",
escaped_qualified_name,
fields.iter().map(|field| field.name(ctx.db()).to_smol_str()).format(",")
fields
.iter()
.map(|field| field.name(ctx.db()).display_no_db().to_smolstr())
.format(",")
)
} else {
format!(