public static IDisposable OnSelectionRange(
     this ILanguageServerRegistry registry,
     Func <SelectionRangeParam, CancellationToken, Task <Container <SelectionRange> > > handler,
     SelectionRangeRegistrationOptions registrationOptions = null,
     Action <SelectionRangeCapability> setCapability       = null)
 {
     registrationOptions ??= new SelectionRangeRegistrationOptions();
     return(registry.AddHandlers(new DelegatingHandler(handler, registry.ProgressManager, setCapability, registrationOptions)));
 }
 public DelegatingHandler(
     Func <SelectionRangeParam, CancellationToken, Task <Container <SelectionRange> > > handler,
     ProgressManager progressManager,
     Action <SelectionRangeCapability> setCapability,
     SelectionRangeRegistrationOptions registrationOptions) : base(registrationOptions, progressManager)
 {
     _handler       = handler;
     _setCapability = setCapability;
 }
 public SelectionRangeHandler(SelectionRangeRegistrationOptions registrationOptions) => _options = registrationOptions;
 public SelectionRangeHandler(SelectionRangeRegistrationOptions registrationOptions, ProgressManager progressManager)
 {
     _options        = registrationOptions;
     ProgressManager = progressManager;
 }