Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide-assists/src/handlers/introduce_named_lifetime.rs')
-rw-r--r--crates/ide-assists/src/handlers/introduce_named_lifetime.rs41
1 files changed, 18 insertions, 23 deletions
diff --git a/crates/ide-assists/src/handlers/introduce_named_lifetime.rs b/crates/ide-assists/src/handlers/introduce_named_lifetime.rs
index 5e8ea7daff..7b6b84f7e8 100644
--- a/crates/ide-assists/src/handlers/introduce_named_lifetime.rs
+++ b/crates/ide-assists/src/handlers/introduce_named_lifetime.rs
@@ -1,7 +1,7 @@
use ide_db::{FileId, FxHashSet};
use syntax::{
AstNode, SmolStr, T, TextRange, ToSmolStr,
- ast::{self, HasGenericParams, HasName, syntax_factory::SyntaxFactory},
+ ast::{self, HasGenericParams, HasName},
format_smolstr,
syntax_editor::{Element, Position, SyntaxEditor},
};
@@ -98,22 +98,21 @@ fn generate_fn_def_assist(
acc.add(AssistId::refactor(ASSIST_NAME), ASSIST_LABEL, lifetime_loc, |edit| {
let mut editor = edit.make_editor(fn_def.syntax());
- let factory = SyntaxFactory::with_mappings();
if let Some(generic_list) = fn_def.generic_param_list() {
- insert_lifetime_param(&mut editor, &factory, &generic_list, &new_lifetime_name);
+ insert_lifetime_param(&mut editor, &generic_list, &new_lifetime_name);
} else {
- insert_new_generic_param_list_fn(&mut editor, &factory, &fn_def, &new_lifetime_name);
+ insert_new_generic_param_list_fn(&mut editor, &fn_def, &new_lifetime_name);
}
- editor.replace(lifetime.syntax(), factory.lifetime(&new_lifetime_name).syntax());
+ editor.replace(lifetime.syntax(), editor.make().lifetime(&new_lifetime_name).syntax());
if let Some(pos) = loc_needing_lifetime.and_then(|l| l.to_position()) {
editor.insert_all(
pos,
vec![
- factory.lifetime(&new_lifetime_name).syntax().clone().into(),
- factory.whitespace(" ").into(),
+ editor.make().lifetime(&new_lifetime_name).syntax().clone().into(),
+ editor.make().whitespace(" ").into(),
],
);
}
@@ -124,7 +123,6 @@ fn generate_fn_def_assist(
fn insert_new_generic_param_list_fn(
editor: &mut SyntaxEditor,
- factory: &SyntaxFactory,
fn_def: &ast::Fn,
lifetime_name: &str,
) -> Option<()> {
@@ -133,9 +131,9 @@ fn insert_new_generic_param_list_fn(
editor.insert_all(
Position::after(name.syntax()),
vec![
- factory.token(T![<]).syntax_element(),
- factory.lifetime(lifetime_name).syntax().syntax_element(),
- factory.token(T![>]).syntax_element(),
+ editor.make().token(T![<]).syntax_element(),
+ editor.make().lifetime(lifetime_name).syntax().syntax_element(),
+ editor.make().token(T![>]).syntax_element(),
],
);
@@ -167,15 +165,14 @@ fn generate_impl_def_assist(
acc.add(AssistId::refactor(ASSIST_NAME), ASSIST_LABEL, lifetime_loc, |edit| {
let mut editor = edit.make_editor(impl_def.syntax());
- let factory = SyntaxFactory::without_mappings();
if let Some(generic_list) = impl_def.generic_param_list() {
- insert_lifetime_param(&mut editor, &factory, &generic_list, &new_lifetime_name);
+ insert_lifetime_param(&mut editor, &generic_list, &new_lifetime_name);
} else {
- insert_new_generic_param_list_imp(&mut editor, &factory, &impl_def, &new_lifetime_name);
+ insert_new_generic_param_list_imp(&mut editor, &impl_def, &new_lifetime_name);
}
- editor.replace(lifetime.syntax(), factory.lifetime(&new_lifetime_name).syntax());
+ editor.replace(lifetime.syntax(), editor.make().lifetime(&new_lifetime_name).syntax());
edit.add_file_edits(file_id, editor);
})
@@ -183,7 +180,6 @@ fn generate_impl_def_assist(
fn insert_new_generic_param_list_imp(
editor: &mut SyntaxEditor,
- factory: &SyntaxFactory,
impl_: &ast::Impl,
lifetime_name: &str,
) -> Option<()> {
@@ -192,9 +188,9 @@ fn insert_new_generic_param_list_imp(
editor.insert_all(
Position::after(impl_kw),
vec![
- factory.token(T![<]).syntax_element(),
- factory.lifetime(lifetime_name).syntax().syntax_element(),
- factory.token(T![>]).syntax_element(),
+ editor.make().token(T![<]).syntax_element(),
+ editor.make().lifetime(lifetime_name).syntax().syntax_element(),
+ editor.make().token(T![>]).syntax_element(),
],
);
@@ -203,7 +199,6 @@ fn insert_new_generic_param_list_imp(
fn insert_lifetime_param(
editor: &mut SyntaxEditor,
- factory: &SyntaxFactory,
generic_list: &ast::GenericParamList,
lifetime_name: &str,
) -> Option<()> {
@@ -213,11 +208,11 @@ fn insert_lifetime_param(
let mut elements = Vec::new();
if needs_comma {
- elements.push(factory.token(T![,]).syntax_element());
- elements.push(factory.whitespace(" ").syntax_element());
+ elements.push(editor.make().token(T![,]).syntax_element());
+ elements.push(editor.make().whitespace(" ").syntax_element());
}
- let lifetime = factory.lifetime(lifetime_name);
+ let lifetime = editor.make().lifetime(lifetime_name);
elements.push(lifetime.syntax().clone().into());
editor.insert_all(Position::before(r_angle), elements);