diff options
author | Pascal Kuthe | 2023-03-03 16:05:40 +0000 |
---|---|---|
committer | GitHub | 2023-03-03 16:05:40 +0000 |
commit | 5c716af7a2c2fff36080d51be3cb9fa30aa36bc7 (patch) | |
tree | 7942bcf3121fc152efd7bc2622e7c1b5631c4219 | |
parent | 2d5577dbe6b353bd266154ab693ffedc521afee0 (diff) |
Fix scrolloff at view bottom (#6142)
Fixes a regression introduced in #5420 where a scrolloff of `x - 1`
was used instead if `x` at the bottom of the screen. This was
especially problematic if the scrolloff was set to `0` in that case
the scrolloff behaved as tough set to `-1` and the cursor disappeared
from the view if scrolled to the botoom.
-rw-r--r-- | helix-view/src/view.rs | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/helix-view/src/view.rs b/helix-view/src/view.rs index f793cbe3..7bfbb241 100644 --- a/helix-view/src/view.rs +++ b/helix-view/src/view.rs @@ -242,7 +242,7 @@ impl View { at_top = true; true } - Some((visual_pos, _)) if visual_pos.row >= vertical_viewport_end - scrolloff => { + Some((visual_pos, _)) if visual_pos.row + scrolloff + 1 >= vertical_viewport_end => { if CENTERING && visual_pos.row >= vertical_viewport_end { // cursor out of view return None; @@ -257,7 +257,7 @@ impl View { let v_off = if at_top { scrolloff as isize } else { - viewport.height as isize - scrolloff as isize + viewport.height as isize - scrolloff as isize - 1 }; (offset.anchor, offset.vertical_offset) = char_idx_at_visual_offset(doc_text, cursor, -v_off, 0, &text_fmt, &annotations); |