diff --git a/src/lib.rs b/src/lib.rs index 49e7a0e..0b84dcb 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -400,7 +400,15 @@ impl SmartString { } fn lpush_visible(&mut self, ch: char) { - todo!() + let last_fragment = self.fragments.iter_mut() + .filter(|(visible, _)| *visible) + .map(|(_, string)| string) + .next(); + if let Some(fragment) = last_fragment { + fragment.push(ch); + } else { + self.fragments.insert(0, (true, ch.to_string())); + } } }