diff options
Diffstat (limited to 'helix-core/src/movement.rs')
-rw-r--r-- | helix-core/src/movement.rs | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/helix-core/src/movement.rs b/helix-core/src/movement.rs index 38e14594..74307636 100644 --- a/helix-core/src/movement.rs +++ b/helix-core/src/movement.rs @@ -57,17 +57,12 @@ pub fn move_vertically( let horiz = range.horiz.unwrap_or(col as u32); // Compute the new position. - let (new_pos, new_row) = { - let new_row = match dir { - Direction::Forward => (row + count).min(slice.len_lines().saturating_sub(1)), - Direction::Backward => row.saturating_sub(count), - }; - let new_col = col.max(horiz as usize); - ( - pos_at_coords(slice, Position::new(new_row, new_col), true), - new_row, - ) + let new_row = match dir { + Direction::Forward => (row + count).min(slice.len_lines().saturating_sub(1)), + Direction::Backward => row.saturating_sub(count), }; + let new_col = col.max(horiz as usize); + let new_pos = pos_at_coords(slice, Position::new(new_row, new_col), true); // Special-case to avoid moving to the end of the last non-empty line. if behaviour == Movement::Extend && slice.line(new_row).len_chars() == 0 { |