diff --git a/crates/ty_server/src/capabilities.rs b/crates/ty_server/src/capabilities.rs index e09a348833..972e57c09f 100644 --- a/crates/ty_server/src/capabilities.rs +++ b/crates/ty_server/src/capabilities.rs @@ -40,6 +40,16 @@ bitflags::bitflags! { } } +impl std::fmt::Display for ResolvedClientCapabilities { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut f = f.debug_list(); + for (name, _) in self.iter_names() { + f.entry(&name); + } + f.finish() + } +} + #[derive(Clone, Copy, Debug, PartialEq)] pub(crate) enum SupportedCommand { Debug, diff --git a/crates/ty_server/src/server.rs b/crates/ty_server/src/server.rs index 46ee9c210d..487febb4b2 100644 --- a/crates/ty_server/src/server.rs +++ b/crates/ty_server/src/server.rs @@ -65,9 +65,12 @@ impl Server { tracing::error!("Failed to deserialize initialization options: {error}"); } - tracing::debug!("Initialization options: {initialization_options:?}"); + tracing::debug!("Initialization options: {initialization_options:#?}"); let resolved_client_capabilities = ResolvedClientCapabilities::new(&client_capabilities); + + tracing::debug!("Resolved client capabilities: {resolved_client_capabilities}"); + let position_encoding = Self::find_best_position_encoding(&client_capabilities); let server_capabilities = server_capabilities( position_encoding, diff --git a/crates/ty_server/src/server/api/diagnostics.rs b/crates/ty_server/src/server/api/diagnostics.rs index fa21818cc9..8d6f62bdf3 100644 --- a/crates/ty_server/src/server/api/diagnostics.rs +++ b/crates/ty_server/src/server/api/diagnostics.rs @@ -5,7 +5,6 @@ use lsp_types::{ CodeDescription, Diagnostic, DiagnosticRelatedInformation, DiagnosticSeverity, DiagnosticTag, NumberOrString, PublishDiagnosticsParams, Url, }; -use ruff_db::source::source_text; use rustc_hash::FxHashMap; use ruff_db::diagnostic::{Annotation, Severity, SubDiagnostic}; @@ -274,7 +273,6 @@ pub(super) fn compute_diagnostics( return None; }; - tracing::debug!("source text: {}", source_text(db, file).as_str()); let diagnostics = db.check_file(file); Some(Diagnostics { diff --git a/crates/ty_server/tests/e2e/main.rs b/crates/ty_server/tests/e2e/main.rs index 4ac01676f8..a36e400e11 100644 --- a/crates/ty_server/tests/e2e/main.rs +++ b/crates/ty_server/tests/e2e/main.rs @@ -167,6 +167,8 @@ impl TestServer { ) -> Result { setup_tracing(); + tracing::debug!("Starting test client with capabilities {:#?}", capabilities); + let (server_connection, client_connection) = Connection::memory(); // Create OS system with the test directory as cwd @@ -346,6 +348,7 @@ impl TestServer { } let id = self.next_request_id(); + tracing::debug!("Client sends request `{}` with ID {}", R::METHOD, id); let request = lsp_server::Request::new(id.clone(), R::METHOD.to_string(), params); self.send(Message::Request(request)); id @@ -357,6 +360,7 @@ impl TestServer { N: Notification, { let notification = lsp_server::Notification::new(N::METHOD.to_string(), params); + tracing::debug!("Client sends notification `{}`", N::METHOD); self.send(Message::Notification(notification)); } @@ -540,7 +544,7 @@ impl TestServer { fn handle_message(&mut self, message: Message) -> Result<(), TestServerError> { match message { Message::Request(request) => { - tracing::debug!("Received server request {}", &request.method); + tracing::debug!("Received server request `{}`", &request.method); self.requests.push_back(request); } Message::Response(response) => { @@ -558,7 +562,7 @@ impl TestServer { } } Message::Notification(notification) => { - tracing::debug!("Received notification {}", ¬ification.method); + tracing::debug!("Received notification `{}`", ¬ification.method); self.notifications.push_back(notification); } }