diff options
author | Jesse Luehrs <doy@tozt.net> | 2021-12-15 00:08:57 -0500 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2021-12-15 00:09:53 -0500 |
commit | 866b160b9c9db80afde0b5855380cfe36e0f532c (patch) | |
tree | e5fd78a6bbf29271483e462f1399e1660b39a43a | |
parent | c97d712c5266ec2c4095c90ef3553bc9741a8b1a (diff) | |
download | vt100-rust-866b160b9c9db80afde0b5855380cfe36e0f532c.tar.gz vt100-rust-866b160b9c9db80afde0b5855380cfe36e0f532c.zip |
more conversion to indexing
-rw-r--r-- | src/cell.rs | 7 | ||||
-rw-r--r-- | src/row.rs | 18 |
2 files changed, 11 insertions, 14 deletions
diff --git a/src/cell.rs b/src/cell.rs index aa7532e..baa99bb 100644 --- a/src/cell.rs +++ b/src/cell.rs @@ -20,8 +20,7 @@ impl PartialEq<Self> for Cell { } let len = self.len(); // self.len() always returns a valid value - self.contents.get(..len).unwrap() - == other.contents.get(..len).unwrap() + self.contents[..len] == other.contents[..len] } } @@ -48,13 +47,13 @@ impl Cell { } if len == 0 { // 0 is always less than 6 - *self.contents.get_mut(0).unwrap() = ' '; + self.contents[0] = ' '; self.len += 1; } let len = self.len(); // we already checked that len < CODEPOINTS_IN_CELL - *self.contents.get_mut(len).unwrap() = c; + self.contents[len] = c; self.len += 1; } @@ -84,11 +84,11 @@ impl Row { } pub fn clear_wide(&mut self, col: u16) { - let cell = self.get(col).unwrap(); + let cell = &self.cells[usize::from(col)]; let other = if cell.is_wide() { - self.get_mut(col + 1).unwrap() + &mut self.cells[usize::from(col + 1)] } else if cell.is_wide_continuation() { - self.get_mut(col - 1).unwrap() + &mut self.cells[usize::from(col - 1)] } else { return; }; @@ -159,7 +159,7 @@ impl Row { }; let mut prev_attrs = prev_attrs.unwrap_or_default(); - let first_cell = self.get(start).unwrap(); + let first_cell = &self.cells[usize::from(start)]; if wrapping && first_cell == &default_cell { let default_attrs = default_cell.attrs(); if &prev_attrs != default_attrs { @@ -297,8 +297,8 @@ impl Row { ) -> (crate::grid::Pos, crate::attrs::Attrs) { let mut prev_was_wide = false; - let first_cell = self.get(start).unwrap(); - let prev_first_cell = prev.get(start).unwrap(); + let first_cell = &self.cells[usize::from(start)]; + let prev_first_cell = &prev.cells[usize::from(start)]; if wrapping && !prev_wrapping && first_cell == prev_first_cell @@ -442,9 +442,7 @@ impl Row { // drawing the next line can just start writing and be wrapped. if (!self.wrapped && prev.wrapped) || (!prev.wrapped && self.wrapped) { - let end_pos = if self - .get(self.cols() - 1) - .unwrap() + let end_pos = if self.cells[usize::from(self.cols() - 1)] .is_wide_continuation() { crate::grid::Pos { @@ -463,7 +461,7 @@ impl Row { if !self.wrapped { crate::term::EraseChar::new(1).write_buf(contents); } - let end_cell = self.get(end_pos.col).unwrap(); + let end_cell = &self.cells[usize::from(end_pos.col)]; if end_cell.has_contents() { let attrs = end_cell.attrs(); if &prev_attrs != attrs { |