Fix append cursor location when selection anchor is at end of document (#4147)
This commit is contained in:
parent
c54a0363bb
commit
68909dcef4
2 changed files with 22 additions and 1 deletions
|
@ -2222,7 +2222,7 @@ fn append_mode(cx: &mut Context) {
|
|||
.iter()
|
||||
.last()
|
||||
.expect("selection should always have at least one range");
|
||||
if !last_range.is_empty() && last_range.head == end {
|
||||
if !last_range.is_empty() && last_range.to() == end {
|
||||
let transaction = Transaction::change(
|
||||
doc.text(),
|
||||
[(end, end, Some(doc.line_ending.as_str().into()))].into_iter(),
|
||||
|
|
|
@ -86,6 +86,27 @@ async fn cursor_position_newly_opened_file() -> anyhow::Result<()> {
|
|||
Ok(())
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn cursor_position_append_eof() -> anyhow::Result<()> {
|
||||
// Selection is fowards
|
||||
test((
|
||||
"#[foo|]#",
|
||||
"abar<esc>",
|
||||
helpers::platform_line("#[foobar|]#\n").as_ref(),
|
||||
))
|
||||
.await?;
|
||||
|
||||
// Selection is backwards
|
||||
test((
|
||||
"#[|foo]#",
|
||||
"abar<esc>",
|
||||
helpers::platform_line("#[foobar|]#\n").as_ref(),
|
||||
))
|
||||
.await?;
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn select_mode_tree_sitter_next_function_is_union_of_objects() -> anyhow::Result<()> {
|
||||
test_with_config(
|
||||
|
|
Loading…
Reference in a new issue