From c2b937481fd3b4c630433de0fcc0a73ebee8c7b2 Mon Sep 17 00:00:00 2001 From: Ivan Tham Date: Fri, 25 Jun 2021 00:47:04 +0800 Subject: [PATCH] Fix goto line end Should not goto newline. --- helix-term/src/commands.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/helix-term/src/commands.rs b/helix-term/src/commands.rs index d48a2099..d99c840f 100644 --- a/helix-term/src/commands.rs +++ b/helix-term/src/commands.rs @@ -351,6 +351,8 @@ fn move_line_end(cx: &mut Context) { let line = text.char_to_line(range.head); let pos = line_end_char_index(&text.slice(..), line); + let pos = graphemes::nth_prev_grapheme_boundary(text.slice(..), pos, 1); + let pos = range.head.max(pos).max(text.line_to_char(line)); Range::new(pos, pos) }); @@ -787,6 +789,8 @@ fn extend_line_end(cx: &mut Context) { let line = text.char_to_line(range.head); let pos = line_end_char_index(&text.slice(..), line); + let pos = graphemes::nth_prev_grapheme_boundary(text.slice(..), pos, 1); + let pos = range.head.max(pos).max(text.line_to_char(line)); Range::new(range.anchor, pos) });