Merge branch 'main' of github.com:zellij-org/zellij
This commit is contained in:
commit
7bbd5e2974
1 changed files with 15 additions and 9 deletions
|
|
@ -451,9 +451,13 @@ impl Grid {
|
||||||
if let Some((scroll_region_top, scroll_region_bottom)) = self.scroll_region {
|
if let Some((scroll_region_top, scroll_region_bottom)) = self.scroll_region {
|
||||||
for _ in 0..count {
|
for _ in 0..count {
|
||||||
let columns = vec![EMPTY_TERMINAL_CHARACTER; self.width];
|
let columns = vec![EMPTY_TERMINAL_CHARACTER; self.width];
|
||||||
self.viewport.remove(scroll_region_bottom);
|
if scroll_region_bottom < self.viewport.len() {
|
||||||
self.viewport
|
self.viewport.remove(scroll_region_bottom);
|
||||||
.insert(scroll_region_top, Row::from_columns(columns).canonical());
|
}
|
||||||
|
if scroll_region_top < self.viewport.len() {
|
||||||
|
self.viewport
|
||||||
|
.insert(scroll_region_top, Row::from_columns(columns).canonical());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -462,8 +466,12 @@ impl Grid {
|
||||||
for _ in 0..count {
|
for _ in 0..count {
|
||||||
let columns = vec![EMPTY_TERMINAL_CHARACTER; self.width];
|
let columns = vec![EMPTY_TERMINAL_CHARACTER; self.width];
|
||||||
self.viewport.remove(scroll_region_top);
|
self.viewport.remove(scroll_region_top);
|
||||||
self.viewport
|
if self.viewport.len() > scroll_region_top {
|
||||||
.insert(scroll_region_bottom, Row::from_columns(columns).canonical());
|
self.viewport
|
||||||
|
.insert(scroll_region_bottom, Row::from_columns(columns).canonical());
|
||||||
|
} else {
|
||||||
|
self.viewport.push(Row::from_columns(columns).canonical());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1060,6 +1068,7 @@ impl vte::Perform for Grid {
|
||||||
if line_count >= 0 {
|
if line_count >= 0 {
|
||||||
self.rotate_scroll_region_up(line_count as usize);
|
self.rotate_scroll_region_up(line_count as usize);
|
||||||
} else {
|
} else {
|
||||||
|
// TODO: can this actually happen?
|
||||||
self.rotate_scroll_region_down(line_count.abs() as usize);
|
self.rotate_scroll_region_down(line_count.abs() as usize);
|
||||||
}
|
}
|
||||||
} else if c == 'S' {
|
} else if c == 'S' {
|
||||||
|
|
@ -1069,10 +1078,7 @@ impl vte::Perform for Grid {
|
||||||
} else {
|
} else {
|
||||||
params[0] as usize
|
params[0] as usize
|
||||||
};
|
};
|
||||||
let pad_character = EMPTY_TERMINAL_CHARACTER;
|
self.rotate_scroll_region_down(count);
|
||||||
self.delete_lines_in_scroll_region(count, pad_character);
|
|
||||||
// TODO: since delete_lines_in_scroll_region also adds lines, is the below redundant?
|
|
||||||
self.add_empty_lines_in_scroll_region(count, pad_character);
|
|
||||||
} else if c == '@' {
|
} else if c == '@' {
|
||||||
let count = if params[0] == 0 {
|
let count = if params[0] == 0 {
|
||||||
1
|
1
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue