@@ -481,27 +481,28 @@ pub(crate) fn handle_document_diagnostics(
481
481
snap : GlobalStateSnapshot ,
482
482
params : lsp_types:: DocumentDiagnosticParams ,
483
483
) -> anyhow:: Result < lsp_types:: DocumentDiagnosticReportResult > {
484
- const EMPTY : lsp_types :: DocumentDiagnosticReportResult =
484
+ let empty = || {
485
485
lsp_types:: DocumentDiagnosticReportResult :: Report (
486
486
lsp_types:: DocumentDiagnosticReport :: Full (
487
487
lsp_types:: RelatedFullDocumentDiagnosticReport {
488
488
related_documents : None ,
489
489
full_document_diagnostic_report : lsp_types:: FullDocumentDiagnosticReport {
490
- result_id : None ,
490
+ result_id : Some ( "rust-analyzer" . to_owned ( ) ) ,
491
491
items : vec ! [ ] ,
492
492
} ,
493
493
} ,
494
494
) ,
495
- ) ;
495
+ )
496
+ } ;
496
497
497
498
let file_id = from_proto:: file_id ( & snap, & params. text_document . uri ) ?;
498
499
let source_root = snap. analysis . source_root_id ( file_id) ?;
499
500
if !snap. analysis . is_local_source_root ( source_root) ? {
500
- return Ok ( EMPTY ) ;
501
+ return Ok ( empty ( ) ) ;
501
502
}
502
503
let config = snap. config . diagnostics ( Some ( source_root) ) ;
503
504
if !config. enabled {
504
- return Ok ( EMPTY ) ;
505
+ return Ok ( empty ( ) ) ;
505
506
}
506
507
let line_index = snap. file_line_index ( file_id) ?;
507
508
let supports_related = snap. config . text_document_diagnostic_related_document_support ( ) ;
@@ -529,7 +530,7 @@ pub(crate) fn handle_document_diagnostics(
529
530
Ok ( lsp_types:: DocumentDiagnosticReportResult :: Report (
530
531
lsp_types:: DocumentDiagnosticReport :: Full ( lsp_types:: RelatedFullDocumentDiagnosticReport {
531
532
full_document_diagnostic_report : lsp_types:: FullDocumentDiagnosticReport {
532
- result_id : None ,
533
+ result_id : Some ( "rust-analyzer" . to_owned ( ) ) ,
533
534
items : diagnostics. collect ( ) ,
534
535
} ,
535
536
related_documents : related_documents. is_empty ( ) . not ( ) . then ( || {
@@ -539,7 +540,10 @@ pub(crate) fn handle_document_diagnostics(
539
540
(
540
541
to_proto:: url ( & snap, id) ,
541
542
lsp_types:: DocumentDiagnosticReportKind :: Full (
542
- lsp_types:: FullDocumentDiagnosticReport { result_id : None , items } ,
543
+ lsp_types:: FullDocumentDiagnosticReport {
544
+ result_id : Some ( "rust-analyzer" . to_owned ( ) ) ,
545
+ items,
546
+ } ,
543
547
) ,
544
548
)
545
549
} )
0 commit comments