languages: Fix ESLint diagnostics not getting shown (#33814)

Closes #33442

Release Notes:

- Resolved an issue where the ESLint language server returned an empty
string for the CodeDescription.href field in diagnostics, leading to
missing diagnostics in editor.
This commit is contained in:
Umesh Yadav 2025-07-14 16:18:56 +05:30 committed by GitHub
parent e4effa5e01
commit cf1ce1beed
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 14 additions and 9 deletions

3
Cargo.lock generated
View file

@ -9660,12 +9660,11 @@ dependencies = [
[[package]] [[package]]
name = "lsp-types" name = "lsp-types"
version = "0.95.1" version = "0.95.1"
source = "git+https://github.com/zed-industries/lsp-types?rev=c9c189f1c5dd53c624a419ce35bc77ad6a908d18#c9c189f1c5dd53c624a419ce35bc77ad6a908d18" source = "git+https://github.com/zed-industries/lsp-types?rev=6add7052b598ea1f40f7e8913622c3958b009b60#6add7052b598ea1f40f7e8913622c3958b009b60"
dependencies = [ dependencies = [
"bitflags 1.3.2", "bitflags 1.3.2",
"serde", "serde",
"serde_json", "serde_json",
"serde_repr",
"url", "url",
] ]

View file

@ -492,7 +492,7 @@ libc = "0.2"
libsqlite3-sys = { version = "0.30.1", features = ["bundled"] } libsqlite3-sys = { version = "0.30.1", features = ["bundled"] }
linkify = "0.10.0" linkify = "0.10.0"
log = { version = "0.4.16", features = ["kv_unstable_serde", "serde"] } log = { version = "0.4.16", features = ["kv_unstable_serde", "serde"] }
lsp-types = { git = "https://github.com/zed-industries/lsp-types", rev = "c9c189f1c5dd53c624a419ce35bc77ad6a908d18" } lsp-types = { git = "https://github.com/zed-industries/lsp-types", rev = "6add7052b598ea1f40f7e8913622c3958b009b60" }
markup5ever_rcdom = "0.3.0" markup5ever_rcdom = "0.3.0"
metal = "0.29" metal = "0.29"
moka = { version = "0.12.10", features = ["sync"] } moka = { version = "0.12.10", features = ["sync"] }

View file

@ -863,7 +863,7 @@ impl LspAdapter for EsLintLspAdapter {
}, },
"experimental": { "experimental": {
"useFlatConfig": use_flat_config, "useFlatConfig": use_flat_config,
}, }
}); });
let override_options = cx.update(|cx| { let override_options = cx.update(|cx| {

View file

@ -3822,7 +3822,7 @@ impl GetDocumentDiagnostics {
code, code,
code_description: match diagnostic.code_description { code_description: match diagnostic.code_description {
Some(code_description) => Some(CodeDescription { Some(code_description) => Some(CodeDescription {
href: lsp::Url::parse(&code_description).unwrap(), href: Some(lsp::Url::parse(&code_description).unwrap()),
}), }),
None => None, None => None,
}, },
@ -3898,7 +3898,7 @@ impl GetDocumentDiagnostics {
tags, tags,
code_description: diagnostic code_description: diagnostic
.code_description .code_description
.map(|desc| desc.href.to_string()), .and_then(|desc| desc.href.map(|url| url.to_string())),
message: diagnostic.message, message: diagnostic.message,
data: diagnostic.data.as_ref().map(|data| data.to_string()), data: diagnostic.data.as_ref().map(|data| data.to_string()),
}) })

View file

@ -9130,7 +9130,13 @@ impl LspStore {
} }
}; };
let lsp::ProgressParamsValue::WorkDone(progress) = progress.value; let progress = match progress.value {
lsp::ProgressParamsValue::WorkDone(progress) => progress,
lsp::ProgressParamsValue::WorkspaceDiagnostic(_) => {
return;
}
};
let language_server_status = let language_server_status =
if let Some(status) = self.language_server_statuses.get_mut(&language_server_id) { if let Some(status) = self.language_server_statuses.get_mut(&language_server_id) {
status status
@ -10512,7 +10518,7 @@ impl LspStore {
code_description: diagnostic code_description: diagnostic
.code_description .code_description
.as_ref() .as_ref()
.map(|d| d.href.clone()), .and_then(|d| d.href.clone()),
severity: diagnostic.severity.unwrap_or(DiagnosticSeverity::ERROR), severity: diagnostic.severity.unwrap_or(DiagnosticSeverity::ERROR),
markdown: adapter.as_ref().and_then(|adapter| { markdown: adapter.as_ref().and_then(|adapter| {
adapter.diagnostic_message_to_markdown(&diagnostic.message) adapter.diagnostic_message_to_markdown(&diagnostic.message)
@ -10539,7 +10545,7 @@ impl LspStore {
code_description: diagnostic code_description: diagnostic
.code_description .code_description
.as_ref() .as_ref()
.map(|c| c.href.clone()), .and_then(|d| d.href.clone()),
severity: DiagnosticSeverity::INFORMATION, severity: DiagnosticSeverity::INFORMATION,
markdown: adapter.as_ref().and_then(|adapter| { markdown: adapter.as_ref().and_then(|adapter| {
adapter.diagnostic_message_to_markdown(&info.message) adapter.diagnostic_message_to_markdown(&info.message)