@@ -242,7 +242,7 @@ impl View {
242 at_top = true;
242 at_top = true;
245− Some((visual_pos, _)) if visual_pos.row >= vertical_viewport_end - scrolloff => {
245+ Some((visual_pos, _)) if visual_pos.row + scrolloff + 1 >= vertical_viewport_end => {
246 if CENTERING && visual_pos.row >= vertical_viewport_end {
246 if CENTERING && visual_pos.row >= vertical_viewport_end {
247 // cursor out of view
247 // cursor out of view
248 return None;
248 return None;
@@ -257,7 +257,7 @@ impl View {
257 let v_off = if at_top {
257 let v_off = if at_top {
258 scrolloff as isize
258 scrolloff as isize
260− viewport.height as isize - scrolloff as isize
260+ viewport.height as isize - scrolloff as isize - 1
262 (offset.anchor, offset.vertical_offset) =
262 (offset.anchor, offset.vertical_offset) =
263 char_idx_at_visual_offset(doc_text, cursor, -v_off, 0, &text_fmt, &annotations);
263 char_idx_at_visual_offset(doc_text, cursor, -v_off, 0, &text_fmt, &annotations);