public override Task <CodeLens> Handle(CodeLens request, CancellationToken cancellationToken) { // TODO: Catch deserializtion exception on bad object CodeLensData codeLensData = request.Data.ToObject <CodeLensData>(); ICodeLensProvider originalProvider = _symbolsService .GetCodeLensProviders() .FirstOrDefault(provider => provider.ProviderId.Equals(codeLensData.ProviderId, StringComparison.Ordinal)); ScriptFile scriptFile = _workspaceService.GetFile(codeLensData.Uri); return(originalProvider.ResolveCodeLens(request, scriptFile)); }
public bool CanResolve(CodeLens value) { CodeLensData codeLensData = value.Data.ToObject <CodeLensData>(); return(value?.Data != null && _symbolsService.GetCodeLensProviders().Any(provider => provider.ProviderId.Equals(codeLensData.ProviderId))); }