From 1012cea4aff235ba465cc94f54753b0f7d1f57bd Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Tue, 14 Feb 2023 15:22:00 +0100 Subject: [PATCH] Soft wrap at editor width if it's narrower than preferred line length --- crates/editor/src/element.rs | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/crates/editor/src/element.rs b/crates/editor/src/element.rs index bce63ca0cf..9d8922fab5 100644 --- a/crates/editor/src/element.rs +++ b/crates/editor/src/element.rs @@ -1534,15 +1534,14 @@ impl Element for EditorElement { let snapshot = self.update_view(cx.app, |view, cx| { view.set_visible_line_count(size.y() / line_height); + let editor_width = text_width - gutter_margin - overscroll.x() - em_width; let wrap_width = match view.soft_wrap_mode(cx) { - SoftWrap::None => Some((MAX_LINE_LEN / 2) as f32 * em_advance), - SoftWrap::EditorWidth => { - Some(text_width - gutter_margin - overscroll.x() - em_width) - } - SoftWrap::Column(column) => Some(column as f32 * em_advance), + SoftWrap::None => (MAX_LINE_LEN / 2) as f32 * em_advance, + SoftWrap::EditorWidth => editor_width, + SoftWrap::Column(column) => editor_width.min(column as f32 * em_advance), }; - if view.set_wrap_width(wrap_width, cx) { + if view.set_wrap_width(Some(wrap_width), cx) { view.snapshot(cx) } else { snapshot