Fix joinLines panic if run on the empty last line
This commit is contained in:
parent
bf695c487a
commit
b636080f67
@ -88,8 +88,11 @@ fn remove_newline(edit: &mut TextEditBuilder, token: &SyntaxToken, offset: TextS
|
|||||||
}
|
}
|
||||||
|
|
||||||
// The node is between two other nodes
|
// The node is between two other nodes
|
||||||
let prev = token.prev_sibling_or_token().unwrap();
|
let (prev, next) = match (token.prev_sibling_or_token(), token.next_sibling_or_token()) {
|
||||||
let next = token.next_sibling_or_token().unwrap();
|
(Some(prev), Some(next)) => (prev, next),
|
||||||
|
_ => return,
|
||||||
|
};
|
||||||
|
|
||||||
if is_trailing_comma(prev.kind(), next.kind()) {
|
if is_trailing_comma(prev.kind(), next.kind()) {
|
||||||
// Removes: trailing comma, newline (incl. surrounding whitespace)
|
// Removes: trailing comma, newline (incl. surrounding whitespace)
|
||||||
edit.delete(TextRange::new(prev.text_range().start(), token.text_range().end()));
|
edit.delete(TextRange::new(prev.text_range().start(), token.text_range().end()));
|
||||||
@ -826,6 +829,17 @@ fn main() {
|
|||||||
$0hello world
|
$0hello world
|
||||||
";
|
";
|
||||||
}
|
}
|
||||||
|
"#,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
#[test]
|
||||||
|
fn join_last_line_empty() {
|
||||||
|
check_join_lines(
|
||||||
|
r#"
|
||||||
|
fn main() {$0}
|
||||||
|
"#,
|
||||||
|
r#"
|
||||||
|
fn main() {$0}
|
||||||
"#,
|
"#,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user