diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/perform.rs | 2 | ||||
-rw-r--r-- | src/screen.rs | 12 |
2 files changed, 14 insertions, 0 deletions
diff --git a/src/perform.rs b/src/perform.rs index c3c2e70..d528cb4 100644 --- a/src/perform.rs +++ b/src/perform.rs @@ -59,6 +59,8 @@ impl vte::Perform for WrappedScreen { 'B' => self.0.cud(canonicalize_params_1(params, 1)), 'C' => self.0.cuf(canonicalize_params_1(params, 1)), 'D' => self.0.cub(canonicalize_params_1(params, 1)), + 'E' => self.0.cnl(canonicalize_params_1(params, 1)), + 'F' => self.0.cpl(canonicalize_params_1(params, 1)), 'G' => self.0.cha(canonicalize_params_1(params, 1)), 'H' => self.0.cup(canonicalize_params_2(params, 1, 1)), 'J' => self.0.ed(canonicalize_params_1(params, 0)), diff --git a/src/screen.rs b/src/screen.rs index ad54694..6eeb2e3 100644 --- a/src/screen.rs +++ b/src/screen.rs @@ -1083,6 +1083,18 @@ impl Screen { self.grid_mut().col_dec(offset); } + // CSI E + pub(crate) fn cnl(&mut self, offset: u16) { + self.grid_mut().col_set(0); + self.grid_mut().row_inc_clamp(offset); + } + + // CSI F + pub(crate) fn cpl(&mut self, offset: u16) { + self.grid_mut().col_set(0); + self.grid_mut().row_dec_clamp(offset); + } + // CSI G pub(crate) fn cha(&mut self, col: u16) { self.grid_mut().col_set(col - 1); |