fix(ansi): pad line end when erasing characters (#2259)
This commit is contained in:
parent
aa17374d13
commit
263f5cbfd2
8 changed files with 85 additions and 77 deletions
|
|
@ -1616,10 +1616,17 @@ impl Grid {
|
|||
}
|
||||
self.output_buffer.update_line(self.cursor.y);
|
||||
}
|
||||
pub fn erase_characters(&mut self, count: usize, empty_char_style: CharacterStyles) {
|
||||
fn erase_characters(&mut self, count: usize, empty_char_style: CharacterStyles) {
|
||||
let mut empty_character = EMPTY_TERMINAL_CHARACTER;
|
||||
empty_character.styles = empty_char_style;
|
||||
let current_row = self.viewport.get_mut(self.cursor.y).unwrap();
|
||||
|
||||
// pad row if needed
|
||||
if current_row.width_cached() < self.width {
|
||||
let padding_count = self.width - current_row.width_cached();
|
||||
let mut columns_padding = VecDeque::from(vec![EMPTY_TERMINAL_CHARACTER; padding_count]);
|
||||
current_row.columns.append(&mut columns_padding);
|
||||
}
|
||||
for _ in 0..count {
|
||||
let deleted_character = current_row.delete_and_return_character(self.cursor.x);
|
||||
let excess_width = deleted_character
|
||||
|
|
@ -1629,6 +1636,7 @@ impl Grid {
|
|||
for _ in 0..excess_width {
|
||||
current_row.insert_character_at(empty_character, self.cursor.x);
|
||||
}
|
||||
current_row.push(empty_character);
|
||||
}
|
||||
self.output_buffer.update_line(self.cursor.y);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
source: zellij-server/src/panes/./unit/grid_tests.rs
|
||||
assertion_line: 831
|
||||
assertion_line: 833
|
||||
expression: "format!(\"{:?}\", grid)"
|
||||
---
|
||||
00 (C): [aram@green zellij]$ 🏠🏠🏠
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
source: zellij-server/src/panes/./unit/grid_tests.rs
|
||||
assertion_line: 809
|
||||
assertion_line: 811
|
||||
expression: "format!(\"{:?}\", grid)"
|
||||
---
|
||||
00 (C): [aram@green zellij]$ 🏠 def abc
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
source: zellij-server/src/panes/./unit/grid_tests.rs
|
||||
assertion_line: 941
|
||||
assertion_line: 943
|
||||
expression: "format!(\"{:?}\", grid)"
|
||||
---
|
||||
00 (C): 12 4
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
source: zellij-server/src/panes/./unit/grid_tests.rs
|
||||
assertion_line: 1432
|
||||
expression: "format!(\"{:?}\", grid)"
|
||||
|
||||
---
|
||||
00 (C):
|
||||
01 (C): 1 [|||||||||| 16.9%] Tasks: 110, 512 thr; 1 running
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
source: zellij-server/src/panes/./unit/grid_tests.rs
|
||||
assertion_line: 465
|
||||
assertion_line: 569
|
||||
expression: "format!(\"{:?}\", grid)"
|
||||
---
|
||||
00 (C): ABAAAAAAAAAAAAAAAAA
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
source: zellij-server/src/panes/./unit/grid_tests.rs
|
||||
assertion_line: 591
|
||||
expression: "format!(\"{:?}\", grid)"
|
||||
|
||||
---
|
||||
00 (C): AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
01 (C): BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
source: zellij-server/src/panes/./unit/grid_tests.rs
|
||||
assertion_line: 613
|
||||
expression: "format!(\"{:?}\", grid)"
|
||||
|
||||
---
|
||||
00 (C): AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
01 (C): BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue