aboutsummaryrefslogtreecommitdiff
path: root/helix-term/src/commands.rs
diff options
context:
space:
mode:
Diffstat (limited to 'helix-term/src/commands.rs')
-rw-r--r--helix-term/src/commands.rs6
1 files changed, 4 insertions, 2 deletions
diff --git a/helix-term/src/commands.rs b/helix-term/src/commands.rs
index 15ccc247..4e13f74a 100644
--- a/helix-term/src/commands.rs
+++ b/helix-term/src/commands.rs
@@ -2292,8 +2292,10 @@ fn open(cx: &mut Context, open: Open) {
let mut offs = 0;
let mut transaction = Transaction::change_by_selection(contents, selection, |range| {
- let cursor_line = range.cursor_line(text);
-
+ let cursor_line = text.char_to_line(match open {
+ Open::Below => graphemes::prev_grapheme_boundary(text, range.to()),
+ Open::Above => range.from(),
+ });
let new_line = match open {
// adjust position to the end of the line (next line - 1)
Open::Below => cursor_line + 1,