Fix on_settings_changed, need to review that impl is correct
This commit is contained in:
parent
4dad2eb7d7
commit
db7b863d8c
1 changed files with 31 additions and 26 deletions
|
@ -713,7 +713,8 @@ impl Project {
|
|||
|
||||
fn on_settings_changed(&mut self, cx: &mut ModelContext<'_, Self>) {
|
||||
let settings = cx.global::<Settings>();
|
||||
self.lsp_settings_changed = Some(cx.spawn(|_, _| async {
|
||||
self.lsp_settings_changed = Some(cx.spawn(|project, cx| async {
|
||||
let language_servers_to_start = project.update(&mut cx, |project, cx| {
|
||||
let mut language_servers_to_start = Vec::new();
|
||||
for buffer in self.opened_buffers.values() {
|
||||
if let Some(buffer) = buffer.upgrade(cx) {
|
||||
|
@ -732,6 +733,8 @@ impl Project {
|
|||
}
|
||||
}
|
||||
}
|
||||
language_servers_to_start
|
||||
});
|
||||
|
||||
let mut language_servers_to_stop = Vec::new();
|
||||
for language in self.languages.to_vec() {
|
||||
|
@ -749,6 +752,7 @@ impl Project {
|
|||
}
|
||||
}
|
||||
|
||||
project.update(&mut cx, |project, cx| {
|
||||
// Stop all newly-disabled language servers.
|
||||
for (worktree_id, adapter_name) in language_servers_to_stop {
|
||||
self.stop_language_server(worktree_id, adapter_name, cx)
|
||||
|
@ -761,6 +765,7 @@ impl Project {
|
|||
}
|
||||
|
||||
cx.notify();
|
||||
});
|
||||
}))
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue