private async Task HandleCodeLensRequest( CodeLensRequest codeLensParams, RequestContext <LanguageServer.CodeLens[]> requestContext) { JsonSerializer jsonSerializer = JsonSerializer.Create( Constants.JsonSerializerSettings); var scriptFile = this.editorSession.Workspace.GetFile( codeLensParams.TextDocument.Uri); var codeLenses = this.ProvideCodeLenses(scriptFile) .Select( codeLens => codeLens.ToProtocolCodeLens( new CodeLensData { Uri = codeLens.File.ClientFilePath, ProviderId = codeLens.Provider.ProviderId }, this.jsonSerializer)) .ToArray(); await requestContext.SendResult(codeLenses); }
/// <summary> /// Handles a request for CodeLenses from VSCode. /// </summary> /// <param name="codeLensParams">Parameters on the CodeLens request that was received.</param> /// <param name="requestContext"></param> private async Task HandleCodeLensRequest( CodeLensRequest codeLensParams, RequestContext <LanguageServer.CodeLens[]> requestContext) { ScriptFile scriptFile = _editorSession.Workspace.GetFile( codeLensParams.TextDocument.Uri); CodeLens[] codeLensResults = ProvideCodeLenses(scriptFile); var codeLensResponse = new LanguageServer.CodeLens[codeLensResults.Length]; for (int i = 0; i < codeLensResults.Length; i++) { codeLensResponse[i] = codeLensResults[i].ToProtocolCodeLens( new CodeLensData { Uri = codeLensResults[i].File.ClientFilePath, ProviderId = codeLensResults[i].Provider.ProviderId }, _jsonSerializer); } await requestContext.SendResult(codeLensResponse); }