diff --git a/examples/editor-libcosmic/src/main.rs b/examples/editor-libcosmic/src/main.rs index c3abaef..4222359 100644 --- a/examples/editor-libcosmic/src/main.rs +++ b/examples/editor-libcosmic/src/main.rs @@ -334,9 +334,9 @@ fn update_alignment<'a, T: Edit<'a>>(editor: &mut T, align: Align) { std::cmp::Ordering::Equal => (current_line, current_line), }; for line in editor.buffer_mut().lines[start..=end].iter_mut() { - line.set_align(align); + line.set_align(Some(align)); } } else if let Some(line) = editor.buffer_mut().lines.get_mut(current_line) { - line.set_align(align); + line.set_align(Some(align)); } } diff --git a/src/buffer_line.rs b/src/buffer_line.rs index 57acdac..c1f5b92 100644 --- a/src/buffer_line.rs +++ b/src/buffer_line.rs @@ -104,10 +104,11 @@ impl BufferLine { /// Set the text alignment /// /// Will reset shape and layout if it differs from current alignment. + /// Setting to None will use `Align::Right` for RTL lines, and `Align::Left` for LTR lines. /// Returns true if the line was reset - pub fn set_align(&mut self, align: Align) -> bool { - if Some(align) != self.align { - self.align = Some(align); + pub fn set_align(&mut self, align: Option) -> bool { + if align != self.align { + self.align = align; self.reset_layout(); true } else {