@@ -1874,9 +1874,12 @@ impl Buffer {
}
/// Ensures that the buffer ends with a single newline character, and
- /// no other whitespace.
+ /// no other whitespace. Skips if the buffer is empty.
pub fn ensure_final_newline(&mut self, cx: &mut Context<Self>) {
let len = self.len();
+ if len == 0 {
+ return;
+ }
let mut offset = len;
for chunk in self.as_rope().reversed_chunks_in_range(0..len) {
let non_whitespace_len = chunk