language: Don't add final newline on format for an empty buffer (#32320)

Closes #32313

Release Notes:

- Fixed newline getting added on format to empty files
This commit is contained in:
Evan Simkowitz 2025-06-09 06:00:17 -07:00 committed by GitHub
parent afab4b522e
commit 8332e60ca9
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -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