Beispiel #1
0
        public async Task <QuickInfoItem> GetQuickInfoItemAsync(IAsyncQuickInfoSession session, CancellationToken cancellationToken)
        {
            var snapshot = _subjectBuffer.CurrentSnapshot;
            var position = session.GetTriggerPoint(snapshot);

            if (position.HasValue)
            {
                var document = await _documentProvider.GetDocumentAsync(snapshot, cancellationToken).ConfigureAwait(false);

                if (document == null)
                {
                    return(null);
                }

                var quickInfoService = QuickInfoService.GetService(document);

                var item = await quickInfoService.GetQuickInfoAsync(document, position.Value.Position, cancellationToken).ConfigureAwait(false);

                if (item == null)
                {
                    return(null);
                }

                var quickInfoElement = CreateElement(document, item.Content);

                return(new QuickInfoItem(
                           snapshot.CreateTrackingSpan(item.TextSpan.ToSpan(), SpanTrackingMode.EdgeInclusive),
                           quickInfoElement));
            }

            return(null);
        }
        public async Task <Employee> GetEmployeeAsync(string immutableId)
        {
            var result = await _repo.GetDocumentAsync(immutableId);

            return(result.Value);
        }