Fix allow extracting function from single brace of block expression

This commit is contained in:
AmrDeveloper 2023-04-09 23:44:31 +02:00
parent 51d5862caf
commit 2afc124cb9

View File

@ -70,6 +70,11 @@ pub(crate) fn extract_function(acc: &mut Assists, ctx: &AssistContext<'_>) -> Op
} }
let node = ctx.covering_element(); let node = ctx.covering_element();
if node.kind() == SyntaxKind::L_CURLY || node.kind() == SyntaxKind::R_CURLY {
cov_mark::hit!(extract_function_in_curly_bracket_is_not_applicable);
return None;
}
if node.kind() == COMMENT { if node.kind() == COMMENT {
cov_mark::hit!(extract_function_in_comment_is_not_applicable); cov_mark::hit!(extract_function_in_comment_is_not_applicable);
return None; return None;
@ -5800,4 +5805,16 @@ fn $0fun_name() -> ControlFlow<()> {
"#, "#,
); );
} }
#[test]
fn in_left_curly_is_not_applicable() {
cov_mark::check!(extract_function_in_curly_bracket_is_not_applicable);
check_assist_not_applicable(extract_function, r"fn foo() { $0}$0 ");
}
#[test]
fn in_right_curly_is_not_applicable() {
cov_mark::check!(extract_function_in_curly_bracket_is_not_applicable);
check_assist_not_applicable(extract_function, r"fn foo() $0{$0 } ");
}
} }