@@ -647,6 +647,7 @@ impl Registry {
647647 language_config: &LanguageConfiguration,
648648 doc_path: Option<&std::path::PathBuf>,
649649 root_dirs: &[PathBuf],
650+ enable_snippets: bool,
650651 ) -> Result<Option<Arc<Client>>> {
651652 let config = match &language_config.language_server {
652653 Some(config) => config,
@@ -661,8 +662,14 @@ impl Registry {
661662 // initialize a new client
662663 let id = self.counter.fetch_add(1, Ordering::Relaxed);
663664
664− let NewClientResult(client, incoming) =
665− start_client(id, language_config, config, doc_path, root_dirs)?;
665+ let NewClientResult(client, incoming) = start_client(
666+ id,
667+ language_config,
668+ config,
669+ doc_path,
670+ root_dirs,
671+ enable_snippets,
672+ )?;
666673 self.incoming.push(UnboundedReceiverStream::new(incoming));
667674
668675 let old_clients = entry.insert(vec![(id, client.clone())]);
@@ -695,6 +702,7 @@ impl Registry {
695702 language_config: &LanguageConfiguration,
696703 doc_path: Option<&std::path::PathBuf>,
697704 root_dirs: &[PathBuf],
705+ enable_snippets: bool,
698706 ) -> Result<Option<Arc<Client>>> {
699707 let config = match &language_config.language_server {
700708 Some(config) => config,
@@ -711,8 +719,14 @@ impl Registry {
711719 // initialize a new client
712720 let id = self.counter.fetch_add(1, Ordering::Relaxed);
713721
714− let NewClientResult(client, incoming) =
715− start_client(id, language_config, config, doc_path, root_dirs)?;
722+ let NewClientResult(client, incoming) = start_client(
723+ id,
724+ language_config,
725+ config,
726+ doc_path,
727+ root_dirs,
728+ enable_snippets,
729+ )?;
716730 clients.push((id, client.clone()));
717731 self.incoming.push(UnboundedReceiverStream::new(incoming));
718732 Ok(Some(client))
@@ -811,6 +825,7 @@ fn start_client(
811825 ls_config: &LanguageServerConfiguration,
812826 doc_path: Option<&std::path::PathBuf>,
813827 root_dirs: &[PathBuf],
828+ enable_snippets: bool,
814829) -> Result<NewClientResult> {
815830 let (client, incoming, initialize_notify) = Client::start(
816831 &ls_config.command,
@@ -834,7 +849,7 @@ fn start_client(
834849 .capabilities
835850 .get_or_try_init(|| {
836851 _client
837− .initialize()
852+ .initialize(enable_snippets)
838853 .map_ok(|response| response.capabilities)
839854 })
840855 .await;