buffer_diff: Do not block on parsing in set_snapshot_with_secondary_inner (#50385)

Release Notes:

- N/A *or* Added/Fixed/Improved ...
This commit is contained in:
Lukas Wirth authored and GitHub committed 2026-02-28 11:53:06 +00:00
1 parent 91b6ee5a93
commit 3421545e87
7 files changed
+37 -22

No files matched your search

+2
View File
@@ -1753,6 +1753,7 @@ impl BufferDiff {
let should_compare_hunks = update.base_text_edits.is_some() || !base_text_changed;
let parsing_idle = if let Some(diff) = update.base_text_edits {
state.base_text.update(cx, |base_text, cx| {
base_text.set_sync_parse_timeout(None);
base_text.set_capability(Capability::ReadWrite, cx);
base_text.apply_diff(diff, cx);
base_text.set_capability(Capability::ReadOnly, cx);
@@ -1760,6 +1761,7 @@ impl BufferDiff {
})
} else if update.base_text_changed {
state.base_text.update(cx, |base_text, cx| {
base_text.set_sync_parse_timeout(None);
base_text.set_capability(Capability::ReadWrite, cx);
base_text.set_text(new_state.base_text.clone(), cx);
base_text.set_capability(Capability::ReadOnly, cx);