helix/helix-term
Mike Trinkala cb01e52cd8
Fix panic in surround_replace/delete nested multi-cursor (#9815)
Test Document
-------------
```
{{

}
}

```

Steps To Reproduce
------------------
1. 2j  # move_visual_line_down
1. C   # copy_selection_on_next_line
1. mdm # surround_delete

Debug
-----
`assertion failed: last <= from', transaction.rs:597:13`

Release
-------
`called `Result::unwrap()` on an `Err` value: Char range out of bounds:
char range 18446744073709551614..18446744073709551615,
Rope/RopeSlice char length 7', ropey-1.6.1/src/rope.rs:546:37`

Description
-----------

Processing the surrounding pairs in order violates the assertion the
ranges are ordered. To handle nested surrounds all positions have to
be sorted. Also surround_replace has to track the proper replacement
character for each position.
2024-03-08 02:20:07 +09:00
..
src Fix panic in surround_replace/delete nested multi-cursor (#9815) 2024-03-08 02:20:07 +09:00
tests Fix panic in surround_replace/delete nested multi-cursor (#9815) 2024-03-08 02:20:07 +09:00
.gitignore Initial import. 2020-05-20 18:14:51 +09:00
build.rs Add icon to Windows executable (#9104) 2024-01-28 18:31:10 +09:00
Cargo.toml build(deps): bump arc-swap from 1.6.0 to 1.7.0 (#9809) 2024-03-06 11:08:07 +09:00