Пример #1
0
        protected override Task <IReadOnlyList <CompletionItem> > GetCompletionItemsAsync(string text, int caret, TextSpan spanToBeReplaced, CancellationToken cancellationToken)
        {
            // demo completion algorithm callback
            // populate completions and documentation for autocompletion window
            var typedWord = text.AsSpan(spanToBeReplaced.Start, spanToBeReplaced.Length).ToString();

            return(Task.FromResult <IReadOnlyList <CompletionItem> >(
                       Fruits
                       .Select(fruit =>
            {
                var displayText = new FormattedString(fruit.Name, new FormatSpan(0, fruit.Name.Length, fruit.Highlight));
                var description = GetFormattedString(fruit.Description);
                return new CompletionItem(
                    replacementText: fruit.Name,
                    displayText: displayText,
                    getExtendedDescription: _ => Task.FromResult(description)
                    );
            })
                       .ToArray()
                       ));
        }