Skip to content
This repository was archived by the owner on May 28, 2025. It is now read-only.

Commit c588849

Browse files
committed
feat: convert add_braces to SyntaxFactory SyntaxEditor abstraction
1 parent 20864ef commit c588849

File tree

1 file changed

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

1 file changed

+10
-3
lines changed

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

Lines changed: 10 additions & 3 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::AstNodeEdit, make, syntax_factory::SyntaxFactory}, syntax_editor::SyntaxEditor,
33
AstNode,
44
};
55

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

47-
builder.replace(expr.syntax().text_range(), block_expr.syntax().text());
51+
editor.replace(expr.syntax(), block_expr.syntax());
52+
53+
editor.add_mappings(make.finish_with_mappings());
54+
builder.add_file_edits(ctx.file_id(), editor);
4855
},
4956
)
5057
}

0 commit comments

Comments
 (0)