From 71dd1bc386d70e42d5e40c6e1d9d6b430dc70b75 Mon Sep 17 00:00:00 2001 From: Christian Duerr Date: Sat, 22 Feb 2020 02:42:44 +0000 Subject: Fix block selection including last column The block selection will now only insert extra newline characters after each line if the last line isn't already included. This resolves an issue with duplicate newlines, since newlines are automatically appended when the last column is part of a selection. Fixes #3304. --- alacritty_terminal/src/term/mod.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'alacritty_terminal/src') diff --git a/alacritty_terminal/src/term/mod.rs b/alacritty_terminal/src/term/mod.rs index ae1d7151..b2184ad9 100644 --- a/alacritty_terminal/src/term/mod.rs +++ b/alacritty_terminal/src/term/mod.rs @@ -984,7 +984,12 @@ impl Term { if is_block { for line in (end.line + 1..=start.line).rev() { - res += &(self.line_to_string(line, start.col..end.col, start.col.0 != 0) + "\n"); + res += &self.line_to_string(line, start.col..end.col, start.col.0 != 0); + + // If the last column is included, newline is appended automatically + if end.col != self.cols() - 1 { + res += "\n"; + } } res += &self.line_to_string(end.line, start.col..end.col, true); } else { -- cgit