on master help sign in
Use `Range::line_range()` in some more places I missed.
commit673338bdb6064ff98e8822a251fd31664909610d authorNathan Vegdahl <cessen@cessen.com> dateThu 22 Jul 2021, 10:50 (5 years ago) parent7d07704
1 file changed+3−5
helix-term/src/commands.rs+3−5
helix-term/src/commands.rs+3−5
@@ -3238,8 +3238,7 @@ fn get_lines(doc: &Document, view_id: ViewId) -> Vec<usize> {
32383238
32393239 // Get all line numbers
32403240 for range in doc.selection(view_id) {
3241− let start = doc.text().char_to_line(range.from());
3242− let end = doc.text().char_to_line(range.to());
3241+ let (start, end) = range.line_range(doc.text().slice(..));
32433242
32443243 for line in start..=end {
32453244 lines.push(line)
@@ -3367,10 +3366,9 @@ fn join_selections(cx: &mut Context) {
33673366 let fragment = Tendril::from(" ");
33683367
33693368 for selection in doc.selection(view.id) {
3370− let start = text.char_to_line(selection.from());
3371− let mut end = text.char_to_line(selection.to());
3369+ let (start, mut end) = selection.line_range(slice);
33723370 if start == end {
3373− end += 1
3371+ end = (end + 1).min(text.len_lines() - 1);
33743372 }
33753373 let lines = start..end;
33763374