From fdb5bfafaec05f64f2e759717aade5131496557b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kevin=20Sj=C3=B6berg?= Date: Thu, 3 Jun 2021 16:43:28 +0200 Subject: [PATCH] Limit goto count Giving a goto count greater than the number of lines in the buffer would cause Helix to panic. --- helix-term/src/commands.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/helix-term/src/commands.rs b/helix-term/src/commands.rs index 4a4816a0..35f1f0cd 100644 --- a/helix-term/src/commands.rs +++ b/helix-term/src/commands.rs @@ -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 // to 1g 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)); return; }