Fix autocomplete on settings.json after reload (#34142)

Closes #31850


https://github.com/user-attachments/assets/6182ef64-3ce6-49ed-a91b-770c51cb6e94

Release Notes:

- Fixed autocomplete on settings.json after restarting Zed
This commit is contained in:
Richard Feldman 2025-07-09 13:43:17 -04:00 committed by GitHub
parent 6e5763215f
commit 96ff6d86a3
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -10671,6 +10671,21 @@ impl LspStore {
}
// Tell the language server about every open buffer in the worktree that matches the language.
// Also check for buffers in worktrees that reused this server
let mut worktrees_using_server = vec![key.0];
if let Some(local) = self.as_local() {
// Find all worktrees that have this server in their language server tree
for (worktree_id, servers) in &local.lsp_tree.read(cx).instances {
if *worktree_id != key.0 {
for (_, server_map) in &servers.roots {
if server_map.contains_key(&key.1) {
worktrees_using_server.push(*worktree_id);
}
}
}
}
}
let mut buffer_paths_registered = Vec::new();
self.buffer_store.clone().update(cx, |buffer_store, cx| {
for buffer_handle in buffer_store.buffers() {
@ -10684,7 +10699,7 @@ impl LspStore {
None => continue,
};
if file.worktree.read(cx).id() != key.0
if !worktrees_using_server.contains(&file.worktree.read(cx).id())
|| !self
.languages
.lsp_adapters(&language.name())