mirror of
https://github.com/astral-sh/ruff.git
synced 2025-08-04 10:49:50 +00:00
[ty] Add rule link to server diagnostics (#18128)
Some checks are pending
CI / Determine changes (push) Waiting to run
CI / cargo fmt (push) Waiting to run
CI / cargo clippy (push) Blocked by required conditions
CI / cargo test (linux) (push) Blocked by required conditions
CI / cargo test (linux, release) (push) Blocked by required conditions
CI / cargo test (windows) (push) Blocked by required conditions
CI / cargo test (wasm) (push) Blocked by required conditions
CI / cargo build (release) (push) Waiting to run
CI / cargo build (msrv) (push) Blocked by required conditions
CI / cargo fuzz build (push) Blocked by required conditions
CI / fuzz parser (push) Blocked by required conditions
CI / test scripts (push) Blocked by required conditions
CI / ecosystem (push) Blocked by required conditions
CI / Fuzz for new ty panics (push) Blocked by required conditions
CI / cargo shear (push) Blocked by required conditions
CI / python package (push) Waiting to run
CI / pre-commit (push) Waiting to run
CI / mkdocs (push) Waiting to run
CI / formatter instabilities and black similarity (push) Blocked by required conditions
CI / test ruff-lsp (push) Blocked by required conditions
CI / check playground (push) Blocked by required conditions
CI / benchmarks (push) Blocked by required conditions
[ty Playground] Release / publish (push) Waiting to run
Some checks are pending
CI / Determine changes (push) Waiting to run
CI / cargo fmt (push) Waiting to run
CI / cargo clippy (push) Blocked by required conditions
CI / cargo test (linux) (push) Blocked by required conditions
CI / cargo test (linux, release) (push) Blocked by required conditions
CI / cargo test (windows) (push) Blocked by required conditions
CI / cargo test (wasm) (push) Blocked by required conditions
CI / cargo build (release) (push) Waiting to run
CI / cargo build (msrv) (push) Blocked by required conditions
CI / cargo fuzz build (push) Blocked by required conditions
CI / fuzz parser (push) Blocked by required conditions
CI / test scripts (push) Blocked by required conditions
CI / ecosystem (push) Blocked by required conditions
CI / Fuzz for new ty panics (push) Blocked by required conditions
CI / cargo shear (push) Blocked by required conditions
CI / python package (push) Waiting to run
CI / pre-commit (push) Waiting to run
CI / mkdocs (push) Waiting to run
CI / formatter instabilities and black similarity (push) Blocked by required conditions
CI / test ruff-lsp (push) Blocked by required conditions
CI / check playground (push) Blocked by required conditions
CI / benchmarks (push) Blocked by required conditions
[ty Playground] Release / publish (push) Waiting to run
Co-authored-by: Micha Reiser <micha@reiser.io>
This commit is contained in:
parent
2abcd86c57
commit
b86960f18c
1 changed files with 14 additions and 3 deletions
|
@ -4,7 +4,7 @@ use lsp_types::request::DocumentDiagnosticRequest;
|
|||
use lsp_types::{
|
||||
Diagnostic, DiagnosticSeverity, DiagnosticTag, DocumentDiagnosticParams,
|
||||
DocumentDiagnosticReport, DocumentDiagnosticReportResult, FullDocumentDiagnosticReport,
|
||||
NumberOrString, Range, RelatedFullDocumentDiagnosticReport, Url,
|
||||
NumberOrString, Range, RelatedFullDocumentDiagnosticReport,
|
||||
};
|
||||
|
||||
use crate::document::ToRangeExt;
|
||||
|
@ -22,7 +22,7 @@ impl RequestHandler for DocumentDiagnosticRequestHandler {
|
|||
}
|
||||
|
||||
impl BackgroundDocumentRequestHandler for DocumentDiagnosticRequestHandler {
|
||||
fn document_url(params: &DocumentDiagnosticParams) -> Cow<Url> {
|
||||
fn document_url(params: &DocumentDiagnosticParams) -> Cow<lsp_types::Url> {
|
||||
Cow::Borrowed(¶ms.text_document.uri)
|
||||
}
|
||||
|
||||
|
@ -105,12 +105,23 @@ fn to_lsp_diagnostic(
|
|||
})
|
||||
.filter(|mapped_tags| !mapped_tags.is_empty());
|
||||
|
||||
let code_description = diagnostic
|
||||
.id()
|
||||
.is_lint()
|
||||
.then(|| {
|
||||
Some(lsp_types::CodeDescription {
|
||||
href: lsp_types::Url::parse(&format!("https://ty.dev/rules#{}", diagnostic.id()))
|
||||
.ok()?,
|
||||
})
|
||||
})
|
||||
.flatten();
|
||||
|
||||
Diagnostic {
|
||||
range,
|
||||
severity: Some(severity),
|
||||
tags,
|
||||
code: Some(NumberOrString::String(diagnostic.id().to_string())),
|
||||
code_description: None,
|
||||
code_description,
|
||||
source: Some("ty".into()),
|
||||
message: diagnostic.concise_message().to_string(),
|
||||
related_information: None,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue