Don't consider empty deleted files to be dirty or conflicting (#27701)
When a file is deleted outside of Zed, but it doesn't have any unsaved changes, it shouldn't be considered "dirty" (prompting you before you close it). Release Notes: - Fixed an bug where unchanged buffers were marked as conflicting if their files were deleted outside of Zed. --------- Co-authored-by: Antonio <antonio@zed.dev>
This commit is contained in:
parent
5c0adde7bb
commit
9445005bff
2 changed files with 43 additions and 11 deletions
|
@ -1950,13 +1950,14 @@ impl Buffer {
|
|||
if self.capability == Capability::ReadOnly {
|
||||
return false;
|
||||
}
|
||||
if self.has_conflict || self.has_unsaved_edits() {
|
||||
if self.has_conflict {
|
||||
return true;
|
||||
}
|
||||
match self.file.as_ref().map(|f| f.disk_state()) {
|
||||
Some(DiskState::New) => !self.is_empty(),
|
||||
Some(DiskState::Deleted) => true,
|
||||
_ => false,
|
||||
Some(DiskState::New) | Some(DiskState::Deleted) => {
|
||||
!self.is_empty() && self.has_unsaved_edits()
|
||||
}
|
||||
_ => self.has_unsaved_edits(),
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1977,7 +1978,7 @@ impl Buffer {
|
|||
}
|
||||
None => true,
|
||||
},
|
||||
DiskState::Deleted => true,
|
||||
DiskState::Deleted => false,
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue