[ty] Add progress reporting to workspace diagnostics (#19616)

This commit is contained in:
Micha Reiser 2025-07-30 12:27:34 +02:00 committed by GitHub
parent 2a5ace6e55
commit 6237ecb4db
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
11 changed files with 450 additions and 79 deletions

View file

@ -18,13 +18,16 @@ use std::panic::{PanicHookInfo, RefUnwindSafe};
use std::sync::Arc;
mod api;
mod lazy_work_done_progress;
mod main_loop;
mod schedule;
use crate::session::client::Client;
pub(crate) use api::Error;
pub(crate) use api::publish_settings_diagnostics;
pub(crate) use main_loop::{Action, ConnectionSender, Event, MainLoopReceiver, MainLoopSender};
pub(crate) use main_loop::{
Action, ConnectionSender, Event, MainLoopReceiver, MainLoopSender, SendRequest,
};
pub(crate) type Result<T> = std::result::Result<T, api::Error>;
pub struct Server {
@ -198,7 +201,9 @@ impl Server {
inter_file_dependencies: true,
// TODO: Dynamically register for workspace diagnostics.
workspace_diagnostics: diagnostic_mode.is_workspace(),
..Default::default()
work_done_progress_options: WorkDoneProgressOptions {
work_done_progress: Some(diagnostic_mode.is_workspace()),
},
})),
text_document_sync: Some(TextDocumentSyncCapability::Options(
TextDocumentSyncOptions {