public static ILanguageServerRegistry OnCodeLens(this ILanguageServerRegistry registry, Action <CodeLensParams, IObserver <IEnumerable <CodeLens> > > handler, Func <CodeLens, bool> canResolve, Func <CodeLens, Task <CodeLens> > resolveHandler, CodeLensRegistrationOptions registrationOptions) { registrationOptions ??= new CodeLensRegistrationOptions(); registrationOptions.ResolveProvider = canResolve != null && resolveHandler != null; canResolve ??= item => registrationOptions.ResolveProvider; resolveHandler ??= (link) => Task.FromException <CodeLens>(new NotImplementedException()); return(registry.AddHandler(TextDocumentNames.CodeLens, _ => new LanguageProtocolDelegatingHandlers.PartialResults <CodeLensParams, CodeLensContainer, CodeLens, CodeLensRegistrationOptions>( handler, registrationOptions, _.GetRequiredService <IProgressManager>(), x => new CodeLensContainer(x))) .AddHandler(TextDocumentNames.CodeLensResolve, new LanguageProtocolDelegatingHandlers.CanBeResolved <CodeLens, CodeLensRegistrationOptions>( resolveHandler, canResolve, registrationOptions)) ); }
public void SimpleTest(string expected) { var model = new CodeLensRegistrationOptions() { DocumentSelector = new DocumentSelector(new[] { new DocumentFilter() { Language = "csharp", Pattern = "pattern", Scheme = "scheme" }, new DocumentFilter() { Language = "vb", Pattern = "pattern", Scheme = "scheme" } }), ResolveProvider = true }; var result = Fixture.SerializeObject(model); result.Should().Be(expected); var deresult = new Serializer(ClientVersion.Lsp3).DeserializeObject <CodeLensRegistrationOptions>(expected); deresult.ShouldBeEquivalentTo(model); }
public DelegatingHandler( Func <CodeLensParams, CancellationToken, Task <CodeLensContainer> > handler, Func <CodeLens, CancellationToken, Task <CodeLens> > resolveHandler, Func <CodeLens, bool> canResolve, Action <CodeLensCapability> setCapability, CodeLensRegistrationOptions registrationOptions) : base(registrationOptions) { _handler = handler; _resolveHandler = resolveHandler; _canResolve = canResolve; _setCapability = setCapability; }
public static IDisposable OnCodeLens( this ILanguageServerRegistry registry, Func <CodeLensParams, CancellationToken, Task <CodeLensContainer> > handler, Func <CodeLens, CancellationToken, Task <CodeLens> > resolveHandler = null, Func <CodeLens, bool> canResolve = null, CodeLensRegistrationOptions registrationOptions = null, Action <CodeLensCapability> setCapability = null) { var codeLensRegistrationOptions = new CodeLensRegistrationOptions(); codeLensRegistrationOptions.ResolveProvider = canResolve != null && resolveHandler != null; if (registrationOptions != null) { codeLensRegistrationOptions.DocumentSelector = registrationOptions.DocumentSelector; } return(registry.AddHandlers(new DelegatingHandler(handler, resolveHandler, registry.ProgressManager, canResolve, setCapability, codeLensRegistrationOptions))); }
public static ILanguageServerRegistry OnCodeLens(this ILanguageServerRegistry registry, Func <CodeLensParams, Task <CodeLensContainer> > handler, Func <CodeLens, bool> canResolve, Func <CodeLens, Task <CodeLens> > resolveHandler, CodeLensRegistrationOptions registrationOptions) { registrationOptions ??= new CodeLensRegistrationOptions(); registrationOptions.ResolveProvider = canResolve != null && resolveHandler != null; canResolve ??= item => registrationOptions.ResolveProvider; resolveHandler ??= (link) => Task.FromException <CodeLens>(new NotImplementedException()); return(registry.AddHandler(TextDocumentNames.CodeLens, new LanguageProtocolDelegatingHandlers.RequestRegistration <CodeLensParams, CodeLensContainer, CodeLensRegistrationOptions>( handler, registrationOptions)) .AddHandler(TextDocumentNames.CodeLensResolve, new LanguageProtocolDelegatingHandlers.CanBeResolved <CodeLens, CodeLensRegistrationOptions>( resolveHandler, canResolve, registrationOptions)) ); }
public CodeLensHandlerBase(CodeLensRegistrationOptions registrationOptions, ISerializer serializer) : base(registrationOptions) => _serializer = serializer;
public CodeLensHandler(CodeLensRegistrationOptions registrationOptions) { _options = registrationOptions; _options.ResolveProvider = true; }
public CodeLensHandler(CodeLensRegistrationOptions registrationOptions, ProgressManager progressManager) { _options = registrationOptions; ProgressManager = progressManager; }
public CodeLensHandler(CodeLensRegistrationOptions registrationOptions) { _options = registrationOptions; }