public async Task <Container <ColorInformation> > Handle(DocumentColorParams request, CancellationToken cancellationToken) { await _server.DocumentHandler.WaitForParse(); var ranges = _server.LastParse?.ScriptFromUri(request.TextDocument.Uri.ToUri())?.GetColorRanges(); return(new Container <ColorInformation>(ranges ?? new ColorInformation[0])); }
public async Task <Container <ColorInformation> > Handle(DocumentColorParams request, CancellationToken cancellationToken) { var delegatedRequest = await _languageServer.SendRequestAsync(LanguageServerConstants.RazorProvideHtmlDocumentColorEndpoint, request).ConfigureAwait(false); var documentColors = await delegatedRequest.Returning <Container <ColorInformation>?>(cancellationToken).ConfigureAwait(false); if (documentColors is null) { return(EmptyDocumentColors); } // HTML and Razor documents have identical mapping locations. Because of this we can return the result as-is. return(documentColors); }
public static Task <Container <ColorPresentation> > DocumentColor(this ILanguageClientDocument mediator, DocumentColorParams @params) { return(mediator.SendRequest <DocumentColorParams, Container <ColorPresentation> >(DocumentNames.DocumentColor, @params)); }
public override Task <Container <ColorInformation> > Handle(DocumentColorParams request, CancellationToken cancellationToken) => _handler.Invoke(request, cancellationToken);
public abstract Task <Container <ColorInformation> > Handle(DocumentColorParams request, CancellationToken cancellationToken);
public abstract RpcResult DocumentColor(DocumentColorParams args);
public abstract Task <IReadOnlyList <ColorInformation> > ProvideHtmlDocumentColorAsync(DocumentColorParams documentColorParams, CancellationToken cancellationToken);
public static Task <Container <ColorPresentation> > DocumentColor(this ILanguageClientDocument mediator, DocumentColorParams @params, CancellationToken cancellationToken = default) { return(mediator.SendRequest(@params, cancellationToken)); }
public override async Task <IReadOnlyList <ColorInformation> > ProvideHtmlDocumentColorAsync(DocumentColorParams documentColorParams, CancellationToken cancellationToken) { if (documentColorParams is null) { throw new ArgumentNullException(nameof(documentColorParams)); } var htmlDoc = GetHtmlDocumentSnapshsot(documentColorParams.TextDocument.Uri); if (htmlDoc is null) { return(Array.Empty <ColorInformation>()); } documentColorParams.TextDocument.Uri = htmlDoc.Uri; var htmlTextBuffer = htmlDoc.Snapshot.TextBuffer; var requests = _requestInvoker.ReinvokeRequestOnMultipleServersAsync <DocumentColorParams, ColorInformation[]>( htmlTextBuffer, Methods.DocumentColorRequest.Name, SupportsDocumentColor, documentColorParams, cancellationToken).ConfigureAwait(false); var colorInformation = new List <ColorInformation>(); await foreach (var response in requests) { if (response.Response is not null) { colorInformation.AddRange(response.Response); } } return(colorInformation); }