From 4960c41f18d93e8b4c48a7c4e96f00d948cfad5f Mon Sep 17 00:00:00 2001 From: sigmaSd Date: Fri, 2 Dec 2022 02:18:45 +0100 Subject: [PATCH] feat(lsp): add support for lsp Diagnostic{}.data (#4935) --- helix-core/src/diagnostic.rs | 1 + helix-lsp/src/lib.rs | 15 ++++++++------- helix-term/src/application.rs | 3 ++- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/helix-core/src/diagnostic.rs b/helix-core/src/diagnostic.rs index db1f2da9..6b5da17e 100644 --- a/helix-core/src/diagnostic.rs +++ b/helix-core/src/diagnostic.rs @@ -45,4 +45,5 @@ pub struct Diagnostic { pub code: Option, pub tags: Vec, pub source: Option, + pub data: Option, } diff --git a/helix-lsp/src/lib.rs b/helix-lsp/src/lib.rs index 5de76c6c..abc930f8 100644 --- a/helix-lsp/src/lib.rs +++ b/helix-lsp/src/lib.rs @@ -102,16 +102,17 @@ pub mod util { None }; - // TODO: add support for Diagnostic.data - lsp::Diagnostic::new( - range_to_lsp_range(doc, range, offset_encoding), + lsp::Diagnostic { + range: range_to_lsp_range(doc, range, offset_encoding), severity, code, - diag.source.clone(), - diag.message.to_owned(), - None, + source: diag.source.clone(), + message: diag.message.to_owned(), + related_information: None, tags, - ) + data: diag.data.to_owned(), + ..Default::default() + } } /// Converts [`lsp::Position`] to a position in the document. diff --git a/helix-term/src/application.rs b/helix-term/src/application.rs index dc12ba3c..7a50e007 100644 --- a/helix-term/src/application.rs +++ b/helix-term/src/application.rs @@ -772,7 +772,8 @@ impl Application { severity, code, tags, - source: diagnostic.source.clone() + source: diagnostic.source.clone(), + data: diagnostic.data.clone(), }) }) .collect();