public override async Task <RazorDiagnosticsResponse> TranslateAsync( RazorLanguageKind languageKind, Uri razorDocumentUri, Diagnostic[] diagnostics, CancellationToken cancellationToken) { if (razorDocumentUri is null) { throw new ArgumentNullException(nameof(razorDocumentUri)); } if (diagnostics is null) { throw new ArgumentNullException(nameof(diagnostics)); } var diagnosticsParams = new RazorDiagnosticsParams() { Kind = languageKind, RazorDocumentUri = razorDocumentUri, Diagnostics = diagnostics }; var diagnosticResponse = await _requestInvoker.ReinvokeRequestOnServerAsync <RazorDiagnosticsParams, RazorDiagnosticsResponse>( LanguageServerConstants.RazorTranslateDiagnosticsEndpoint, RazorLSPConstants.RazorLSPContentTypeName, diagnosticsParams, cancellationToken).ConfigureAwait(false); return(diagnosticResponse); }
public override async Task <RazorDiagnosticsResponse?> TranslateAsync( RazorLanguageKind languageKind, Uri razorDocumentUri, Diagnostic[] diagnostics, CancellationToken cancellationToken) { if (!_documentManager.TryGetDocument(razorDocumentUri, out var documentSnapshot)) { return(new RazorDiagnosticsResponse() { Diagnostics = Array.Empty <Diagnostic>(), }); } var diagnosticsParams = new RazorDiagnosticsParams() { Kind = languageKind, RazorDocumentUri = razorDocumentUri, Diagnostics = diagnostics }; var response = await _requestInvoker.ReinvokeRequestOnServerAsync <RazorDiagnosticsParams, RazorDiagnosticsResponse>( documentSnapshot.Snapshot.TextBuffer, LanguageServerConstants.RazorTranslateDiagnosticsEndpoint, RazorLSPConstants.RazorLanguageServerName, diagnosticsParams, cancellationToken).ConfigureAwait(false); if (!ReinvocationResponseHelper.TryExtractResultOrLog(response, _logger, RazorLSPConstants.RazorLanguageServerName, out var result)) { return(null); } return(result); }