From 0eefb12608b96c62272b7ddd61c5216a8ca1afe1 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Tue, 14 Nov 2023 09:03:36 -0700 Subject: [PATCH] Editor: Fix indent/unindent empty lines --- src/edit/editor.rs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/edit/editor.rs b/src/edit/editor.rs index 1ab8639..151e6f7 100644 --- a/src/edit/editor.rs +++ b/src/edit/editor.rs @@ -682,11 +682,13 @@ impl Edit for Editor { // For every line in selection for line_i in start.line..=end.line { // Determine indexes of last indent and first character after whitespace - let mut after_whitespace = 0; + let mut after_whitespace; let mut required_indent = 0; { let line = &self.buffer.lines[line_i]; let text = line.text(); + // Default to end of line if no non-whitespace found + after_whitespace = text.len(); for (count, (index, c)) in text.char_indices().enumerate() { if !c.is_whitespace() { after_whitespace = index; @@ -755,10 +757,12 @@ impl Edit for Editor { for line_i in start.line..=end.line { // Determine indexes of last indent and first character after whitespace let mut last_indent = 0; - let mut after_whitespace = 0; + let mut after_whitespace; { let line = &self.buffer.lines[line_i]; let text = line.text(); + // Default to end of line if no non-whitespace found + after_whitespace = text.len(); for (count, (index, c)) in text.char_indices().enumerate() { if !c.is_whitespace() { after_whitespace = index;