@@ -691,7 +691,6 @@ impl Registry {
691691 .language_servers
692692 .iter()
693693 .filter_map(|LanguageServerFeatures { name, .. }| {
694− // #[allow(clippy::map_entry)]
695694 if self.inner.contains_key(name) {
696695 let client = match self.start_client(
697696 name.clone(),
@@ -708,7 +707,7 @@ impl Registry {
708707 .insert(name.clone(), vec![client.clone()])
709708 .unwrap();
710709
711− // TODO what if there are different language servers for different workspaces,
710+ // TODO what if there are multiple instances for different workspaces?
712711 // I think the language servers will be stopped without being restarted, which is not intended
713712 for old_client in old_clients {
714713 tokio::spawn(async move {
@@ -745,15 +744,12 @@ impl Registry {
745744 .language_servers
746745 .iter()
747746 .map(|LanguageServerFeatures { name, .. }| {
748− if let Some(clients) = self.inner.get_mut(name) {
749− // clients.find(
750−
751− if let Some((_, client)) = clients.iter_mut().enumerate().find(|(i, client)| {
747+ if let Some(clients) = self.inner.get(name) {
748+ if let Some((_, client)) = clients.iter().enumerate().find(|(i, client)| {
752749 client.try_add_doc(&language_config.roots, root_dirs, doc_path, *i == 0)
753750 }) {
754751 return Ok((name.to_owned(), client.clone()));
755752 }
756− // return Ok((name.clone(), clients.clone()));
757753 }
758754 let client = self.start_client(
759755 name.clone(),