From 1b0d018e43ac3ae4efd93d7f7fb1376d0405c009 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Thu, 22 Feb 2024 12:01:50 -0700 Subject: [PATCH] Do not select empty lines at end of grid, fixes #92 --- src/terminal.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/terminal.rs b/src/terminal.rs index 6ddcab1..bdb90ff 100644 --- a/src/terminal.rs +++ b/src/terminal.rs @@ -505,8 +505,15 @@ impl Terminal { let mut term = self.term.lock(); let grid = term.grid(); let start = Point::new(Line(-(grid.history_size() as i32)), Column(0)); + let mut end_line = grid.bottommost_line(); + while end_line.0 > 0 { + if ! grid[end_line].is_clear() { + break; + } + end_line.0 -= 1; + } let end = Point::new( - Line(grid.screen_lines() as i32 - 1), + end_line, Column(grid.columns() - 1), ); let mut selection = Selection::new(SelectionType::Lines, start, Side::Left);