diff options
author | Blaž Hrastnik | 2021-03-22 09:06:52 +0000 |
---|---|---|
committer | Blaž Hrastnik | 2021-03-22 09:06:52 +0000 |
commit | d0530fb83921acc92cd51fd6fa3a8d4846ad5aec (patch) | |
tree | 6b697ef5d1d3c3e0a8dcdf728090e39a2aa5f6a0 | |
parent | 73c92a0bc1499f02092a7425c45d4992f4e573a1 (diff) |
Fix a scrolling crash where it would jump past the end of the buffer.
-rw-r--r-- | helix-core/src/auto_pairs.rs | 1 | ||||
-rw-r--r-- | helix-term/src/commands.rs | 2 |
2 files changed, 2 insertions, 1 deletions
diff --git a/helix-core/src/auto_pairs.rs b/helix-core/src/auto_pairs.rs index e6b8f667..aa668f29 100644 --- a/helix-core/src/auto_pairs.rs +++ b/helix-core/src/auto_pairs.rs @@ -54,6 +54,7 @@ fn next_char(doc: &Rope, pos: usize) -> Option<char> { } Some(doc.char(pos)) } +// TODO: selections should be extended if range, moved if point. // TODO: if not cursor but selection, wrap on both sides of selection (surround) fn handle_open( diff --git a/helix-term/src/commands.rs b/helix-term/src/commands.rs index 3f0e32a0..fd95bca4 100644 --- a/helix-term/src/commands.rs +++ b/helix-term/src/commands.rs @@ -433,7 +433,7 @@ fn scroll(view: &mut View, offset: usize, direction: Direction) { // clamp into viewport let line = (view.first_line + cursor_off).clamp( view.first_line + scrolloff, - view.first_line + view.last_line().saturating_sub(scrolloff), + view.last_line().saturating_sub(scrolloff), ); let pos = pos_at_coords(text, Position::new(line, cursor.col)); // this func will properly truncate to line end |