From f66b52239ef457ce367fdacefa42fb94dead3d27 Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Fri, 8 Oct 2021 12:52:48 +0200 Subject: [PATCH] Cancel out outdents and indents referring to the previous row --- crates/buffer/src/lib.rs | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/crates/buffer/src/lib.rs b/crates/buffer/src/lib.rs index 3d4f6bafdd..c250e49447 100644 --- a/crates/buffer/src/lib.rs +++ b/crates/buffer/src/lib.rs @@ -1084,6 +1084,7 @@ impl Buffer { if range.start.row >= row { break; } + if range.start.row == prev_row && range.end > row_start { eprintln!(" indent because of {} {:?}", node_kind, range); indent_from_prev_row = true; @@ -1094,14 +1095,15 @@ impl Buffer { } } - let mut indent_column = prev_indent_column; - if dedent_to_row < row { - if !indent_from_prev_row { - indent_column = self.indent_column_for_line(dedent_to_row); - } + let indent_column = if dedent_to_row == prev_row { + prev_indent_column } else if indent_from_prev_row { - indent_column += INDENT_SIZE; - } + prev_indent_column + INDENT_SIZE + } else if dedent_to_row < prev_row { + self.indent_column_for_line(dedent_to_row) + } else { + prev_indent_column + }; prev_indent_column = indent_column; prev_row = row;