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); }
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))); }
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))); }
public CompletionHandlerBase(CompletionRegistrationOptions registrationOptions, ISerializer serializer) : base(registrationOptions) => _serializer = serializer;
public CompletionHandler(CompletionRegistrationOptions registrationOptions) { _options = registrationOptions; _options.ResolveProvider = true; }
public CompletionHandler(CompletionRegistrationOptions registrationOptions, ProgressManager progressManager) { _options = registrationOptions; ProgressManager = progressManager; }
public CompletionHandler(CompletionRegistrationOptions registrationOptions) { _options = registrationOptions; }