Uncommented previously commented sections

This commit is contained in:
Isaac Clayton 2022-07-05 17:58:22 +02:00
parent 2b0b341415
commit e4a680f47b

View file

@ -712,64 +712,64 @@ impl Project {
}
fn on_settings_changed(&mut self, cx: &mut ModelContext<'_, Self>) {
// let settings = cx.global::<Settings>();
// 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) {
// let buffer = buffer.read(cx);
// if let Some((file, language)) =
// File::from_dyn(buffer.file()).zip(buffer.language())
// {
// if settings.enable_language_server(Some(&language.name())) {
// let worktree = file.worktree.read(cx);
// language_servers_to_start.push((
// worktree.id(),
// worktree.as_local().unwrap().abs_path().clone(),
// language.clone(),
// ));
// }
// }
// }
// }
// language_servers_to_start
// });
let settings = cx.global::<Settings>();
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) {
let buffer = buffer.read(cx);
if let Some((file, language)) =
File::from_dyn(buffer.file()).zip(buffer.language())
{
if settings.enable_language_server(Some(&language.name())) {
let worktree = file.worktree.read(cx);
language_servers_to_start.push((
worktree.id(),
worktree.as_local().unwrap().abs_path().clone(),
language.clone(),
));
}
}
}
}
language_servers_to_start
});
// let mut language_servers_to_stop = Vec::new();
// for language in self.languages.to_vec() {
// if let Some(lsp_adapter) = language.lsp_adapter() {
// if !settings.enable_language_server(Some(&language.name())) {
// let lsp_name = lsp_adapter.name().await;
// for (worktree_id, started_lsp_name) in self.started_language_servers.keys()
// {
// if lsp_name == *started_lsp_name {
// language_servers_to_stop
// .push((*worktree_id, started_lsp_name.clone()));
// }
// }
// }
// }
// }
let mut language_servers_to_stop = Vec::new();
for language in self.languages.to_vec() {
if let Some(lsp_adapter) = language.lsp_adapter() {
if !settings.enable_language_server(Some(&language.name())) {
let lsp_name = lsp_adapter.name().await;
for (worktree_id, started_lsp_name) in self.started_language_servers.keys()
{
if lsp_name == *started_lsp_name {
language_servers_to_stop
.push((*worktree_id, started_lsp_name.clone()));
}
}
}
}
}
// 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)
// .detach();
// }
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)
.detach();
}
// // Start all the newly-enabled language servers.
// for (worktree_id, worktree_path, language) in language_servers_to_start {
// self.start_language_server(worktree_id, worktree_path, language, cx);
// }
// Start all the newly-enabled language servers.
for (worktree_id, worktree_path, language) in language_servers_to_start {
self.start_language_server(worktree_id, worktree_path, language, cx);
}
// cx.notify();
// });
// }))
cx.notify();
});
}))
// TODO(isaac): uncomment the above
todo!()
// // TODO(isaac): uncomment the above
// todo!()
}
pub fn buffer_for_id(&self, remote_id: u64, cx: &AppContext) -> Option<ModelHandle<Buffer>> {