|
|
@ -451,14 +451,11 @@ fn goto_window(cx: &mut Context, align: Align) {
|
|
|
|
let (view, doc) = current!(cx.editor);
|
|
|
|
let (view, doc) = current!(cx.editor);
|
|
|
|
|
|
|
|
|
|
|
|
let height = view.area.height.saturating_sub(1) as usize; // -1 for statusline
|
|
|
|
let height = view.area.height.saturating_sub(1) as usize; // -1 for statusline
|
|
|
|
|
|
|
|
|
|
|
|
// - 1 so we have at least one gap in the middle.
|
|
|
|
// - 1 so we have at least one gap in the middle.
|
|
|
|
// a height of 6 with padding of 3 on each side will keep shifting the view back and forth
|
|
|
|
// a height of 6 with padding of 3 on each side will keep shifting the view back and forth
|
|
|
|
// as we type
|
|
|
|
// as we type
|
|
|
|
let scrolloff = cx
|
|
|
|
let scrolloff = cx.editor.config.scrolloff.min(height.saturating_sub(1) / 2);
|
|
|
|
.editor
|
|
|
|
|
|
|
|
.config
|
|
|
|
|
|
|
|
.scrolloff
|
|
|
|
|
|
|
|
.min(height.saturating_sub(1) / 2);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
let last_line = view.last_line(doc);
|
|
|
|
let last_line = view.last_line(doc);
|
|
|
|
|
|
|
|
|
|
|
|