diff --git a/crates/project/src/git_store.rs b/crates/project/src/git_store.rs index a00e2dcfc860d468795e15ad9d78df87d75f15e8..c760203dcdb8436bce9353b45f7d8ea20fa1eb78 100644 --- a/crates/project/src/git_store.rs +++ b/crates/project/src/git_store.rs @@ -3635,7 +3635,7 @@ impl BufferGitState { uncommitted_diff .update(cx, |diff, cx| { if language_changed { - diff.language_changed(language.clone(), language_registry, cx); + diff.language_changed(language.clone(), language_registry.clone(), cx); } diff.set_snapshot_with_secondary( new_uncommitted_diff, @@ -3664,7 +3664,12 @@ impl BufferGitState { .await; oid_diff - .update(cx, |diff, cx| diff.set_snapshot(new_oid_diff, &buffer, cx)) + .update(cx, |diff, cx| { + if language_changed { + diff.language_changed(language.clone(), language_registry.clone(), cx); + } + diff.set_snapshot(new_oid_diff, &buffer, cx) + }) .await; log::debug!(