Exemplo n.º 1
0
        public void SimpleTest(string expected)
        {
            var model = new CompletionRegistrationOptions {
                DocumentSelector = new DocumentSelector(
                    new DocumentFilter {
                    Language = "csharp"
                }
                    ),
                ResolveProvider   = true,
                TriggerCharacters = new[] { "." }
            };
            var result = Fixture.SerializeObject(model);

            result.Should().Be(expected);

            var deresult = new LspSerializer(ClientVersion.Lsp3).DeserializeObject <CompletionRegistrationOptions>(expected);

            deresult.Should().BeEquivalentTo(model);
        }
Exemplo n.º 2
0
        public static ILanguageServerRegistry OnCompletion(this ILanguageServerRegistry registry,
                                                           Func <CompletionParams, CancellationToken, Task <CompletionList> > handler,
                                                           Func <CompletionItem, bool> canResolve,
                                                           Func <CompletionItem, CancellationToken, Task <CompletionItem> > resolveHandler,
                                                           CompletionRegistrationOptions registrationOptions)
        {
            registrationOptions ??= new CompletionRegistrationOptions();
            registrationOptions.ResolveProvider = canResolve != null && resolveHandler != null;
            canResolve ??= item => registrationOptions.ResolveProvider;
            resolveHandler ??= (link, token) => Task.FromException <CompletionItem>(new NotImplementedException());

            return(registry
                   .AddHandler(TextDocumentNames.Completion,
                               new LanguageProtocolDelegatingHandlers.RequestRegistration <CompletionParams, CompletionList,
                                                                                           CompletionRegistrationOptions>(
                                   handler,
                                   registrationOptions))
                   .AddHandler(TextDocumentNames.CompletionResolve,
                               new LanguageProtocolDelegatingHandlers.CanBeResolved <CompletionItem, CompletionRegistrationOptions>(
                                   resolveHandler,
                                   canResolve,
                                   registrationOptions)));
        }
Exemplo n.º 3
0
        public static ILanguageServerRegistry OnCompletion(this ILanguageServerRegistry registry,
                                                           Action <CompletionParams, IObserver <IEnumerable <CompletionItem> > > handler,
                                                           Func <CompletionItem, bool> canResolve,
                                                           Func <CompletionItem, Task <CompletionItem> > resolveHandler,
                                                           CompletionRegistrationOptions registrationOptions)
        {
            registrationOptions ??= new CompletionRegistrationOptions();
            registrationOptions.ResolveProvider = canResolve != null && resolveHandler != null;
            canResolve ??= item => registrationOptions.ResolveProvider;
            resolveHandler ??= (link) => Task.FromException <CompletionItem>(new NotImplementedException());

            return(registry.AddHandler(TextDocumentNames.Completion,
                                       _ => new LanguageProtocolDelegatingHandlers.PartialResults <CompletionParams, CompletionList, CompletionItem,
                                                                                                   CompletionRegistrationOptions>(
                                           handler,
                                           registrationOptions,
                                           _.GetRequiredService <IProgressManager>(),
                                           x => new CompletionList(x)))
                   .AddHandler(TextDocumentNames.CompletionResolve,
                               new LanguageProtocolDelegatingHandlers.CanBeResolved <CompletionItem, CompletionRegistrationOptions>(
                                   resolveHandler,
                                   canResolve,
                                   registrationOptions)));
        }
Exemplo n.º 4
0
 public CompletionHandlerBase(CompletionRegistrationOptions registrationOptions, ISerializer serializer) : base(registrationOptions) => _serializer = serializer;
Exemplo n.º 5
0
 public CompletionHandler(CompletionRegistrationOptions registrationOptions)
 {
     _options = registrationOptions;
     _options.ResolveProvider = true;
 }
Exemplo n.º 6
0
 public CompletionHandler(CompletionRegistrationOptions registrationOptions, ProgressManager progressManager)
 {
     _options        = registrationOptions;
     ProgressManager = progressManager;
 }
 public CompletionHandler(CompletionRegistrationOptions registrationOptions)
 {
     _options = registrationOptions;
 }