From e8a3980e464a9c98c3f76cada6c46a66498dc2bf Mon Sep 17 00:00:00 2001 From: Nathan Vegdahl Date: Tue, 20 Jul 2021 10:56:27 -0700 Subject: [PATCH] Fix line-wise `p` pasting before the current line instead of after. --- helix-term/src/commands.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/helix-term/src/commands.rs b/helix-term/src/commands.rs index 5964e354..61c5096d 100644 --- a/helix-term/src/commands.rs +++ b/helix-term/src/commands.rs @@ -3093,7 +3093,10 @@ fn paste_impl( // paste linewise before (Paste::Before, true) => text.line_to_char(text.char_to_line(range.from())), // paste linewise after - (Paste::After, true) => text.line_to_char(text.char_to_line(range.to())), + (Paste::After, true) => { + let idx = range.to().saturating_sub(1).max(range.from()); + text.line_to_char((text.char_to_line(idx) + 1).min(text.len_lines())) + } // paste insert (Paste::Before, false) => range.from(), // paste append