diff options
author | Jesse Luehrs <doy@tozt.net> | 2019-11-06 13:30:50 -0500 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2019-11-06 13:30:50 -0500 |
commit | e21d3005c5ec2304f9f016cd506da93c78da5e51 (patch) | |
tree | a525767295c39544cc25926f15dde951abd59e8b /src/row.rs | |
parent | d778408be8b12fcc16a8fcaccde49bef927f22e0 (diff) | |
download | vt100-rust-e21d3005c5ec2304f9f016cd506da93c78da5e51.tar.gz vt100-rust-e21d3005c5ec2304f9f016cd506da93c78da5e51.zip |
also add a rows_diff method
Diffstat (limited to 'src/row.rs')
-rw-r--r-- | src/row.rs | 11 |
1 files changed, 9 insertions, 2 deletions
@@ -126,14 +126,21 @@ impl Row { pub fn contents_diff( &self, prev: &Self, + start: u16, + width: u16, attrs: crate::attrs::Attrs, ) -> (Vec<u8>, crate::attrs::Attrs, u16) { let mut skip = 0; let mut contents = vec![]; let mut prev_attrs = attrs; let mut final_col = 0; - for (idx, (cell, prev_cell)) in - self.cells().zip(prev.cells()).enumerate() + + for (idx, (cell, prev_cell)) in self + .cells() + .zip(prev.cells()) + .skip(start as usize) + .take(width as usize) + .enumerate() { if cell == prev_cell { skip += 1; |