Skip to content

Commit 297db65

Browse files
authored
Merge pull request #18485 from davidkurilla/feat-migrate-add_braces-to-use-SyntaxFactory
feat: convert add_braces to SyntaxFactory SyntaxEditor abstraction
2 parents 70a098e + c627c1a commit 297db65

File tree

1 file changed

+10
-6
lines changed
  • src/tools/rust-analyzer/crates/ide-assists/src/handlers

1 file changed

+10
-6
lines changed

src/tools/rust-analyzer/crates/ide-assists/src/handlers/add_braces.rs

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use syntax::{
2-
ast::{self, edit::AstNodeEdit, make},
2+
ast::{self, edit_in_place::Indent, syntax_factory::SyntaxFactory},
33
AstNode,
44
};
55

@@ -39,12 +39,16 @@ pub(crate) fn add_braces(acc: &mut Assists, ctx: &AssistContext<'_>) -> Option<(
3939
},
4040
expr.syntax().text_range(),
4141
|builder| {
42-
let block_expr = AstNodeEdit::indent(
43-
&make::block_expr(None, Some(expr.clone())),
44-
AstNodeEdit::indent_level(&expr),
45-
);
42+
let make = SyntaxFactory::new();
43+
let mut editor = builder.make_editor(expr.syntax());
4644

47-
builder.replace(expr.syntax().text_range(), block_expr.syntax().text());
45+
let block_expr = make.block_expr(None, Some(expr.clone()));
46+
block_expr.indent(expr.indent_level());
47+
48+
editor.replace(expr.syntax(), block_expr.syntax());
49+
50+
editor.add_mappings(make.finish_with_mappings());
51+
builder.add_file_edits(ctx.file_id(), editor);
4852
},
4953
)
5054
}

0 commit comments

Comments
 (0)