fix(grid): fix DL/IL being ineffective without scrolling region (#3382)
This commit is contained in:
parent
5f5d6df22e
commit
3188e6971c
1 changed files with 10 additions and 2 deletions
|
|
@ -2752,13 +2752,21 @@ impl Perform for Grid {
|
||||||
self.clear_scroll_region();
|
self.clear_scroll_region();
|
||||||
}
|
}
|
||||||
} else if c == 'M' {
|
} else if c == 'M' {
|
||||||
// delete lines if currently inside scroll region
|
// delete lines if currently inside scroll region, or otherwise
|
||||||
|
// delete lines in the entire viewport
|
||||||
|
if self.scroll_region.is_none() {
|
||||||
|
self.set_scroll_region_to_viewport_size();
|
||||||
|
}
|
||||||
let line_count_to_delete = next_param_or(1);
|
let line_count_to_delete = next_param_or(1);
|
||||||
let mut pad_character = EMPTY_TERMINAL_CHARACTER;
|
let mut pad_character = EMPTY_TERMINAL_CHARACTER;
|
||||||
pad_character.styles = self.cursor.pending_styles.clone();
|
pad_character.styles = self.cursor.pending_styles.clone();
|
||||||
self.delete_lines_in_scroll_region(line_count_to_delete, pad_character);
|
self.delete_lines_in_scroll_region(line_count_to_delete, pad_character);
|
||||||
} else if c == 'L' {
|
} else if c == 'L' {
|
||||||
// insert blank lines if inside scroll region
|
// insert blank lines if inside scroll region, or otherwise insert
|
||||||
|
// blank lines in the entire viewport
|
||||||
|
if self.scroll_region.is_none() {
|
||||||
|
self.set_scroll_region_to_viewport_size();
|
||||||
|
}
|
||||||
let line_count_to_add = next_param_or(1);
|
let line_count_to_add = next_param_or(1);
|
||||||
let mut pad_character = EMPTY_TERMINAL_CHARACTER;
|
let mut pad_character = EMPTY_TERMINAL_CHARACTER;
|
||||||
pad_character.styles = self.cursor.pending_styles.clone();
|
pad_character.styles = self.cursor.pending_styles.clone();
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue