aboutsummaryrefslogtreecommitdiff
path: root/helix-view/src
diff options
context:
space:
mode:
authorPascal Kuthe2023-03-03 16:05:40 +0000
committerGitHub2023-03-03 16:05:40 +0000
commit5c716af7a2c2fff36080d51be3cb9fa30aa36bc7 (patch)
tree7942bcf3121fc152efd7bc2622e7c1b5631c4219 /helix-view/src
parent2d5577dbe6b353bd266154ab693ffedc521afee0 (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.
Diffstat (limited to 'helix-view/src')
-rw-r--r--helix-view/src/view.rs4
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);