Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide-assists/src/handlers/unwrap_block.rs')
-rw-r--r--crates/ide-assists/src/handlers/unwrap_block.rs26
1 files changed, 13 insertions, 13 deletions
diff --git a/crates/ide-assists/src/handlers/unwrap_block.rs b/crates/ide-assists/src/handlers/unwrap_block.rs
index 5593ca3eb8..77941bcfb2 100644
--- a/crates/ide-assists/src/handlers/unwrap_block.rs
+++ b/crates/ide-assists/src/handlers/unwrap_block.rs
@@ -3,7 +3,6 @@ use syntax::{
ast::{
self,
edit::{AstNodeEdit, IndentLevel},
- make,
},
match_ast,
syntax_editor::{Element, Position, SyntaxEditor},
@@ -72,18 +71,19 @@ pub(crate) fn unwrap_block(acc: &mut Assists, ctx: &AssistContext<'_>) -> Option
let replacement = replacement.stmt_list()?;
acc.add(AssistId::refactor_rewrite("unwrap_block"), "Unwrap block", target, |builder| {
- let mut edit = builder.make_editor(block.syntax());
+ let editor = builder.make_editor(block.syntax());
let replacement = replacement.dedent(from_indent).indent(into_indent);
let container = prefer_container.unwrap_or(container);
- edit.replace_with_many(&container, extract_statements(replacement));
- delete_else_before(container, &mut edit);
+ editor.replace_with_many(&container, extract_statements(replacement));
+ delete_else_before(container, &editor);
- builder.add_file_edits(ctx.vfs_file_id(), edit);
+ builder.add_file_edits(ctx.vfs_file_id(), editor);
})
}
-fn delete_else_before(container: SyntaxNode, edit: &mut SyntaxEditor) {
+fn delete_else_before(container: SyntaxNode, editor: &SyntaxEditor) {
+ let make = editor.make();
let Some(else_token) = container
.siblings_with_tokens(syntax::Direction::Prev)
.skip(1)
@@ -94,16 +94,16 @@ fn delete_else_before(container: SyntaxNode, edit: &mut SyntaxEditor) {
};
itertools::chain(else_token.prev_token(), else_token.next_token())
.filter(|it| it.kind() == SyntaxKind::WHITESPACE)
- .for_each(|it| edit.delete(it));
+ .for_each(|it| editor.delete(it));
let indent = IndentLevel::from_node(&container);
- let newline = make::tokens::whitespace(&format!("\n{indent}"));
- edit.replace(else_token, newline);
+ let newline = make.whitespace(&format!("\n{indent}"));
+ editor.replace(else_token, newline);
}
fn wrap_let(assign: &ast::LetStmt, replacement: ast::BlockExpr) -> ast::BlockExpr {
let try_wrap_assign = || {
let initializer = assign.initializer()?.syntax().syntax_element();
- let (mut edit, replacement) = SyntaxEditor::with_ast_node(&replacement);
+ let (editor, replacement) = SyntaxEditor::with_ast_node(&replacement);
let tail_expr = replacement.tail_expr()?;
let before =
assign.syntax().children_with_tokens().take_while(|it| *it != initializer).collect();
@@ -114,9 +114,9 @@ fn wrap_let(assign: &ast::LetStmt, replacement: ast::BlockExpr) -> ast::BlockExp
.skip(1)
.collect();
- edit.insert_all(Position::before(tail_expr.syntax()), before);
- edit.insert_all(Position::after(tail_expr.syntax()), after);
- ast::BlockExpr::cast(edit.finish().new_root().clone())
+ editor.insert_all(Position::before(tail_expr.syntax()), before);
+ editor.insert_all(Position::after(tail_expr.syntax()), after);
+ ast::BlockExpr::cast(editor.finish().new_root().clone())
};
try_wrap_assign().unwrap_or(replacement)
}