Files
zed/crates/vim/src/helix
Eric Holk 9b076586f1 Fix crash: vim paste panics on editor-copied entire-line selections (#49134)
When clipboard data was produced by the editor's copy/cut with multiple
entire-line selections, vim's paste would panic with `byte index N is
out of bounds`.

The editor's `do_copy` and `cut_common` skip the `\n` separator between
clipboard selections when the previous selection was an entire-line
selection (because the text already ends with `\n`). However, vim's
paste code unconditionally did `start_offset = end_offset + 1`, always
assuming a `\n` separator exists between every pair of selections. This
caused the accumulated offset to exceed the text length, resulting in a
string slicing panic.

The fix checks `clipboard_selection.is_entire_line` to decide whether to
skip the separator, matching the behavior of the editor's own `do_paste`
method. The same fix is applied to both the vim and helix paste
implementations.

Release Notes:

- Fixed a crash when using vim paste on clipboard data copied with the
editor's copy command containing multiple entire-line selections.
2026-02-18 15:55:38 -08:00
..
2025-09-08 08:48:47 -06:00