Limit goto count

Giving a goto count greater than the number of lines in the buffer
would cause Helix to panic.
pull/97/head
Kevin Sjöberg 2021-06-03 16:43:28 +02:00 committed by Blaž Hrastnik
parent e6132f0acd
commit fdb5bfafae
1 changed files with 2 additions and 1 deletions

View File

@ -1250,7 +1250,8 @@ pub fn goto_mode(cx: &mut Context) {
// TODO: can't go to line 1 since we can't distinguish between g and 1g, g gets converted // TODO: can't go to line 1 since we can't distinguish between g and 1g, g gets converted
// to 1g // to 1g
let (view, doc) = cx.current(); let (view, doc) = cx.current();
let pos = doc.text().line_to_char(count - 1); let line_idx = std::cmp::min(count - 1, doc.text().len_lines().saturating_sub(2));
let pos = doc.text().line_to_char(line_idx);
doc.set_selection(view.id, Selection::point(pos)); doc.set_selection(view.id, Selection::point(pos));
return; return;
} }