fix split_on_newline (#9756)

This commit is contained in:
Pascal Kuthe 2024-02-29 02:47:41 +01:00 committed by GitHub
parent f03b91d1b7
commit 1143f47954
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -773,12 +773,12 @@ pub fn split_on_newline(text: RopeSlice, selection: &Selection) -> Selection {
let mut start = sel_start;
for mat in sel.slice(text).lines() {
let len = mat.len_chars();
let line_end_len = get_line_ending(&mat).map(|le| le.len_chars()).unwrap_or(0);
for line in sel.slice(text).lines() {
let Some(line_ending) = get_line_ending(&line) else { break };
let line_end = start + line.len_chars();
// TODO: retain range direction
result.push(Range::new(start, start + len - line_end_len));
start += len;
result.push(Range::new(start, line_end - line_ending.len_chars()));
start = line_end;
}
if start < sel_end {