diff --git a/examples/syntax/src/main.rs b/examples/syntax/src/main.rs index d258335..db5a9e7 100644 --- a/examples/syntax/src/main.rs +++ b/examples/syntax/src/main.rs @@ -61,6 +61,9 @@ fn main() { ); buffer.set_text(&text); + for line in buffer.lines.iter_mut() { + line.wrap_simple = true; + } let mut bg_color = orbclient::Color::rgb(0x00, 0x00, 0x00); let mut font_color = orbclient::Color::rgb(0xFF, 0xFF, 0xFF); @@ -152,9 +155,10 @@ fn main() { start = end; } - line.attrs_list = attrs_list; - line.wrap_simple = true; - line.reset(); + if attrs_list != line.attrs_list { + line.attrs_list = attrs_list; + line.reset(); + } } rehighlight = false; diff --git a/src/attrs.rs b/src/attrs.rs index e9b2c59..4e8bf01 100644 --- a/src/attrs.rs +++ b/src/attrs.rs @@ -90,6 +90,7 @@ impl<'a> Attrs<'a> { } } +#[derive(Eq, PartialEq)] pub struct AttrsList<'a> { defaults: Attrs<'a>, spans: Vec<(usize, usize, Attrs<'a>)>,