Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide-assists/src/handlers/add_label_to_loop.rs')
-rw-r--r--crates/ide-assists/src/handlers/add_label_to_loop.rs13
1 files changed, 6 insertions, 7 deletions
diff --git a/crates/ide-assists/src/handlers/add_label_to_loop.rs b/crates/ide-assists/src/handlers/add_label_to_loop.rs
index 6a408e5254..41e9b6cc84 100644
--- a/crates/ide-assists/src/handlers/add_label_to_loop.rs
+++ b/crates/ide-assists/src/handlers/add_label_to_loop.rs
@@ -3,7 +3,7 @@ use ide_db::{
};
use syntax::{
SyntaxToken, T,
- ast::{self, AstNode, HasLoopBody, syntax_factory::SyntaxFactory},
+ ast::{self, AstNode, HasLoopBody},
syntax_editor::{Position, SyntaxEditor},
};
@@ -42,8 +42,8 @@ pub(crate) fn add_label_to_loop(acc: &mut Assists, ctx: &AssistContext<'_>) -> O
"Add Label",
loop_expr.syntax().text_range(),
|builder| {
- let make = SyntaxFactory::with_mappings();
- let mut editor = builder.make_editor(loop_expr.syntax());
+ let editor = builder.make_editor(loop_expr.syntax());
+ let make = editor.make();
let label = make.lifetime("'l");
let elements = vec![
@@ -65,11 +65,10 @@ pub(crate) fn add_label_to_loop(acc: &mut Assists, ctx: &AssistContext<'_>) -> O
_ => return,
};
if let Some(token) = token {
- insert_label_after_token(&mut editor, &make, &token, ctx, builder);
+ insert_label_after_token(&editor, &token, ctx, builder);
}
});
- editor.add_mappings(make.finish_with_mappings());
builder.add_file_edits(ctx.vfs_file_id(), editor);
builder.rename();
},
@@ -85,12 +84,12 @@ fn loop_token(loop_expr: &ast::AnyHasLoopBody) -> Option<syntax::SyntaxToken> {
}
fn insert_label_after_token(
- editor: &mut SyntaxEditor,
- make: &SyntaxFactory,
+ editor: &SyntaxEditor,
token: &SyntaxToken,
ctx: &AssistContext<'_>,
builder: &mut SourceChangeBuilder,
) {
+ let make = editor.make();
let label = make.lifetime("'l");
let elements = vec![make.whitespace(" ").into(), label.syntax().clone().into()];
editor.insert_all(Position::after(token), elements);