Beispiel #1
0
 public static Task <CompletionDescription?> GetDescriptionAsync(
     this CompletionService completionService,
     Document document,
     CompletionItem item,
     OmniSharpCompletionOptions options,
     CancellationToken cancellationToken)
 {
     return(completionService.GetDescriptionAsync(document, item, options.ToCompletionOptions(), SymbolDescriptionOptions.Default, cancellationToken));
 }
Beispiel #2
0
 public static Task <(CompletionList?completionList, bool expandItemsAvailable)> GetCompletionsAsync(
     this CompletionService completionService,
     Document document,
     int caretPosition,
     CompletionTrigger trigger,
     ImmutableHashSet <string>?roles,
     OmniSharpCompletionOptions options,
     CancellationToken cancellationToken)
 => completionService.GetCompletionsInternalAsync(document, caretPosition, options.ToCompletionOptions(), trigger, roles, cancellationToken);
Beispiel #3
0
 public static Task <CompletionList> GetCompletionsAsync(
     this CompletionService completionService,
     Document document,
     int caretPosition,
     CompletionTrigger trigger,
     ImmutableHashSet <string>?roles,
     OmniSharpCompletionOptions options,
     CancellationToken cancellationToken)
 {
     return(completionService.GetCompletionsAsync(document, caretPosition, options.ToCompletionOptions(), document.Project.Solution.Options, trigger, roles, cancellationToken));
 }
Beispiel #4
0
        public static async ValueTask <bool> ShouldTriggerCompletionAsync(
            this CompletionService completionService,
            Document document,
            int caretPosition,
            CompletionTrigger trigger,
            ImmutableHashSet <string>?roles,
            OmniSharpCompletionOptions options,
            CancellationToken cancellationToken)
        {
            var text = await document.GetTextAsync(cancellationToken).ConfigureAwait(false);

            return(completionService.ShouldTriggerCompletion(document.Project, document.Project.LanguageServices, text, caretPosition, trigger, options.ToCompletionOptions(), document.Project.Solution.Options, roles));
        }
        public async Task <IEnumerable <AutoCompleteResponse> > Handle(AutoCompleteRequest request)
        {
            var documents      = _workspace.GetDocuments(request.FileName);
            var wordToComplete = request.WordToComplete;
            var completions    = new HashSet <AutoCompleteResponse>();

            foreach (var document in documents)
            {
                var sourceText = await document.GetTextAsync();

                var position = sourceText.GetTextPosition(request);
                var service  = CompletionService.GetService(document);
                var options  = new OmniSharpCompletionOptions(
                    ShowItemsFromUnimportedNamespaces: _omniSharpOptions.RoslynExtensionsOptions.EnableImportCompletion,
                    ForceExpandedCompletionIndexCreation: false);
                var completionList = await OmniSharpCompletionService.GetCompletionsAsync(service, document, position, trigger : default, roles : null, options, CancellationToken.None);