mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-10-01 11:31:15 +00:00
Merge pull request #20306 from Hmikihiro/migrate_convert_to_guarded_return
Migrate `Convert_to_guarded_return` assist to use SyntaxEditor
This commit is contained in:
commit
b0ae0abfc0
@ -13,7 +13,6 @@ use syntax::{
|
|||||||
edit::{AstNodeEdit, IndentLevel},
|
edit::{AstNodeEdit, IndentLevel},
|
||||||
make,
|
make,
|
||||||
},
|
},
|
||||||
ted,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
use crate::{
|
use crate::{
|
||||||
@ -132,7 +131,6 @@ fn if_expr_to_guarded_return(
|
|||||||
"Convert to guarded return",
|
"Convert to guarded return",
|
||||||
target,
|
target,
|
||||||
|edit| {
|
|edit| {
|
||||||
let if_expr = edit.make_mut(if_expr);
|
|
||||||
let if_indent_level = IndentLevel::from_node(if_expr.syntax());
|
let if_indent_level = IndentLevel::from_node(if_expr.syntax());
|
||||||
let replacement = match if_let_pat {
|
let replacement = match if_let_pat {
|
||||||
None => {
|
None => {
|
||||||
@ -168,8 +166,9 @@ fn if_expr_to_guarded_return(
|
|||||||
.take_while(|i| *i != end_of_then),
|
.take_while(|i| *i != end_of_then),
|
||||||
)
|
)
|
||||||
.collect();
|
.collect();
|
||||||
|
let mut editor = edit.make_editor(if_expr.syntax());
|
||||||
ted::replace_with_many(if_expr.syntax(), then_statements)
|
editor.replace_with_many(if_expr.syntax(), then_statements);
|
||||||
|
edit.add_file_edits(ctx.vfs_file_id(), editor);
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@ -214,7 +213,6 @@ fn let_stmt_to_guarded_return(
|
|||||||
"Convert to guarded return",
|
"Convert to guarded return",
|
||||||
target,
|
target,
|
||||||
|edit| {
|
|edit| {
|
||||||
let let_stmt = edit.make_mut(let_stmt);
|
|
||||||
let let_indent_level = IndentLevel::from_node(let_stmt.syntax());
|
let let_indent_level = IndentLevel::from_node(let_stmt.syntax());
|
||||||
|
|
||||||
let replacement = {
|
let replacement = {
|
||||||
@ -227,8 +225,9 @@ fn let_stmt_to_guarded_return(
|
|||||||
let let_else_stmt = let_else_stmt.indent(let_indent_level);
|
let let_else_stmt = let_else_stmt.indent(let_indent_level);
|
||||||
let_else_stmt.syntax().clone()
|
let_else_stmt.syntax().clone()
|
||||||
};
|
};
|
||||||
|
let mut editor = edit.make_editor(let_stmt.syntax());
|
||||||
ted::replace(let_stmt.syntax(), replacement)
|
editor.replace(let_stmt.syntax(), replacement);
|
||||||
|
edit.add_file_edits(ctx.vfs_file_id(), editor);
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user