summaryrefslogtreecommitdiff
path: root/helix-term/src
diff options
context:
space:
mode:
Diffstat (limited to 'helix-term/src')
-rw-r--r--helix-term/src/commands.rs10
1 files changed, 10 insertions, 0 deletions
diff --git a/helix-term/src/commands.rs b/helix-term/src/commands.rs
index 0745c624..ecafaa1d 100644
--- a/helix-term/src/commands.rs
+++ b/helix-term/src/commands.rs
@@ -1032,6 +1032,16 @@ pub fn normal_mode(cx: &mut Context) {
}
pub fn goto_mode(cx: &mut Context) {
+ let count = cx.count;
+ if count > 1 {
+ // TODO: can't go to line 1 since we can't distinguish between g and 1g, g gets converted
+ // to 1g
+ let doc = cx.doc();
+ let pos = doc.text().line_to_char(count - 1);
+ doc.set_selection(Selection::point(pos));
+ return;
+ }
+
cx.on_next_key(move |cx, event| {
if let KeyEvent {
code: KeyCode::Char(ch),