diff options
Diffstat (limited to 'cli/lsp/language_server.rs')
-rw-r--r-- | cli/lsp/language_server.rs | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/cli/lsp/language_server.rs b/cli/lsp/language_server.rs index c2083bc48..1afcff8a6 100644 --- a/cli/lsp/language_server.rs +++ b/cli/lsp/language_server.rs @@ -2141,6 +2141,7 @@ impl Inner { lsp_custom::RELOAD_IMPORT_REGISTRIES_REQUEST => { self.reload_import_registries().await } + lsp_custom::TASK_REQUEST => self.get_tasks(), lsp_custom::VIRTUAL_TEXT_DOCUMENT => { match params.map(serde_json::from_value) { Some(Ok(params)) => Ok(Some( @@ -2831,6 +2832,15 @@ impl Inner { json!({ "averages": averages }) } + fn get_tasks(&self) -> LspResult<Option<Value>> { + Ok( + self + .maybe_config_file + .as_ref() + .and_then(|cf| cf.to_lsp_tasks()), + ) + } + async fn reload_import_registries(&mut self) -> LspResult<Option<Value>> { fs_util::remove_dir_all_if_exists(&self.module_registries_location) .await |