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:
parent
e4effa5e01
commit
cf1ce1beed
5 changed files with 14 additions and 9 deletions
3
Cargo.lock
generated
3
Cargo.lock
generated
|
@ -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",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
|
@ -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"] }
|
||||||
|
|
|
@ -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| {
|
||||||
|
|
|
@ -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()),
|
||||||
})
|
})
|
||||||
|
|
|
@ -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)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue