From f9a461a6db2780f51b81ad11959118d637c3b95e Mon Sep 17 00:00:00 2001 From: Takayuki Maeda Date: Sun, 2 Nov 2025 04:13:06 +0900 Subject: [PATCH] add capabilities check for `clear_diagnostics_for_document` --- crates/ruff_server/src/server/api/diagnostics.rs | 5 +++++ crates/ruff_server/src/server/api/notifications/did_close.rs | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/crates/ruff_server/src/server/api/diagnostics.rs b/crates/ruff_server/src/server/api/diagnostics.rs index 6f8efe47e8..a2e8877cc4 100644 --- a/crates/ruff_server/src/server/api/diagnostics.rs +++ b/crates/ruff_server/src/server/api/diagnostics.rs @@ -1,4 +1,5 @@ use crate::{ + Session, lint::DiagnosticsMap, session::{Client, DocumentQuery, DocumentSnapshot}, }; @@ -38,9 +39,13 @@ pub(super) fn publish_diagnostics_for_document( } pub(super) fn clear_diagnostics_for_document( + session: &Session, query: &DocumentQuery, client: &Client, ) -> crate::server::Result<()> { + if session.resolved_client_capabilities().pull_diagnostics { + return Ok(()); + } client .send_notification::( lsp_types::PublishDiagnosticsParams { diff --git a/crates/ruff_server/src/server/api/notifications/did_close.rs b/crates/ruff_server/src/server/api/notifications/did_close.rs index a3075a4846..5a482c4fcc 100644 --- a/crates/ruff_server/src/server/api/notifications/did_close.rs +++ b/crates/ruff_server/src/server/api/notifications/did_close.rs @@ -27,7 +27,7 @@ impl super::SyncNotificationHandler for DidClose { ); return Ok(()); }; - clear_diagnostics_for_document(snapshot.query(), client)?; + clear_diagnostics_for_document(session, snapshot.query(), client)?; session .close_document(&key)