diff options
-rw-r--r-- | src/row.rs | 48 |
1 files changed, 2 insertions, 46 deletions
@@ -234,28 +234,7 @@ impl Row { prev_pos.col += if cell.is_wide() { 2 } else { 1 }; let cell_contents = cell.contents(); - if prev_pos.col >= self.cols() - && !self.wrapped - && cell.is_wide() - && cell_contents.chars().count() > 1 - { - // alternately, we could backspace enough to overwrite - // the second to last character, then ICH and rewrite - // the second to last character and then reposition, - // but that's a lot more complicated and not sure if - // it's worth it for this much of an edge case - let mut chars = cell_contents.chars(); - let base = chars.next().unwrap(); - let mut bytes = [0; 4]; - contents.extend(base.encode_utf8(&mut bytes).bytes()); - crate::term::Backspace::default().write_buf(contents); - for c in chars { - contents - .extend(c.encode_utf8(&mut bytes).bytes()); - } - } else { - contents.extend(cell_contents.as_bytes()); - } + contents.extend(cell_contents.as_bytes()); } else if erase.is_none() { erase = Some((pos.col, attrs)); } @@ -405,30 +384,7 @@ impl Row { } prev_pos.col += if cell.is_wide() { 2 } else { 1 }; - if prev_pos.col >= self.cols() - && !self.wrapped - && cell.is_wide() - && cell.contents().chars().count() > 1 - { - // alternately, we could backspace enough to overwrite - // the second to last character, then ICH and rewrite - // the second to last character and then reposition, - // but that's a lot more complicated and not sure if - // it's worth it for this much of an edge case - let cell_contents = cell.contents(); - let mut chars = cell_contents.chars(); - let base = chars.next().unwrap(); - let mut bytes = [0; 4]; - contents.extend(base.encode_utf8(&mut bytes).bytes()); - crate::term::Backspace::default().write_buf(contents); - prev_pos.col -= 1; - for c in chars { - contents - .extend(c.encode_utf8(&mut bytes).bytes()); - } - } else { - contents.extend(cell.contents().as_bytes()); - } + contents.extend(cell.contents().as_bytes()); } else if erase.is_none() { erase = Some((pos.col, attrs)); } |