diff options
author | Nayeem Rahman <nayeemrmn99@gmail.com> | 2024-04-20 02:00:03 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-20 02:00:03 +0100 |
commit | 79e6751cf753612f99438ee2f158f54a1bf44815 (patch) | |
tree | fb7fea727208653bb3fb8d921bbb5a2ab8fc3a52 /cli/lsp/language_server.rs | |
parent | 472a37064071c66cd1311cdea2e78de8d2bc0641 (diff) |
perf(lsp): only store parsed sources for open documents (#23454)
Diffstat (limited to 'cli/lsp/language_server.rs')
-rw-r--r-- | cli/lsp/language_server.rs | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/cli/lsp/language_server.rs b/cli/lsp/language_server.rs index d2e56774f..2529df6f7 100644 --- a/cli/lsp/language_server.rs +++ b/cli/lsp/language_server.rs @@ -404,8 +404,11 @@ impl LanguageServer { let inner = self.0.read().await; if let Some(testing_server) = &inner.maybe_testing_server { match params.map(serde_json::from_value) { - Some(Ok(params)) => testing_server - .run_request(params, inner.config.workspace_settings().clone()), + Some(Ok(params)) => { + testing_server + .run_request(params, inner.config.workspace_settings().clone()) + .await + } Some(Err(err)) => Err(LspError::invalid_params(err.to_string())), None => Err(LspError::invalid_params("Missing parameters")), } @@ -972,6 +975,8 @@ impl Inner { self.config.update_capabilities(¶ms.capabilities); } + self.documents.initialize(&self.config); + if let Err(e) = self .ts_server .start(self.config.internal_inspect().to_address()) |