public PartialIncoming(
     CallHierarchyRegistrationOptions registrationOptions,
     IProgressManager progressManager, PartialCallHierarchyHandlerBase self
     ) : base(registrationOptions, progressManager, x => new Container <CallHierarchyIncomingCall>(x))
 {
     _self = self;
 }
Beispiel #2
0
 public static ILanguageServerRegistry OnCallHierarchy(
     this ILanguageServerRegistry registry,
     Func <CallHierarchyPrepareParams, CallHierarchyCapability, CancellationToken, Task <Container <CallHierarchyItem> > > handler,
     Func <CallHierarchyIncomingCallsParams, CallHierarchyCapability, CancellationToken, Task <Container <CallHierarchyIncomingCall> > > incomingHandler,
     Func <CallHierarchyOutgoingCallsParams, CallHierarchyCapability, CancellationToken, Task <Container <CallHierarchyOutgoingCall> > > outgoingHandler,
     CallHierarchyRegistrationOptions registrationOptions)
 {
     registrationOptions ??= new CallHierarchyRegistrationOptions();
     return(registry.AddHandler(TextDocumentNames.PrepareCallHierarchy,
                                new LanguageProtocolDelegatingHandlers.Request <CallHierarchyPrepareParams,
                                                                                Container <CallHierarchyItem>,
                                                                                CallHierarchyCapability,
                                                                                CallHierarchyRegistrationOptions>(handler, registrationOptions))
            .AddHandler(TextDocumentNames.CallHierarchyIncoming,
                        new LanguageProtocolDelegatingHandlers.Request <CallHierarchyIncomingCallsParams,
                                                                        Container <CallHierarchyIncomingCall>,
                                                                        CallHierarchyCapability,
                                                                        CallHierarchyRegistrationOptions>(incomingHandler, registrationOptions))
            .AddHandler(TextDocumentNames.CallHierarchyOutgoing,
                        new LanguageProtocolDelegatingHandlers.Request <CallHierarchyOutgoingCallsParams,
                                                                        Container <CallHierarchyOutgoingCall>,
                                                                        CallHierarchyCapability,
                                                                        CallHierarchyRegistrationOptions>(outgoingHandler, registrationOptions))
            );
 }
Beispiel #3
0
 public static ILanguageServerRegistry OnCallHierarchy(this ILanguageServerRegistry registry,
                                                       Func <CallHierarchyPrepareParams, CallHierarchyCapability, Task <Container <CallHierarchyItem> > > handler,
                                                       Action <CallHierarchyIncomingCallsParams, IObserver <IEnumerable <CallHierarchyIncomingCall> >, CallHierarchyCapability> incomingHandler,
                                                       Action <CallHierarchyOutgoingCallsParams, IObserver <IEnumerable <CallHierarchyOutgoingCall> >, CallHierarchyCapability> outgoingHandler,
                                                       CallHierarchyRegistrationOptions registrationOptions)
 {
     registrationOptions ??= new CallHierarchyRegistrationOptions();
     return
         (registry.AddHandler(TextDocumentNames.PrepareCallHierarchy,
                              new LanguageProtocolDelegatingHandlers.Request <CallHierarchyPrepareParams,
                                                                              Container <CallHierarchyItem>,
                                                                              CallHierarchyCapability,
                                                                              CallHierarchyRegistrationOptions>(handler, registrationOptions))
          .AddHandler(TextDocumentNames.CallHierarchyIncoming,
                      _ => new LanguageProtocolDelegatingHandlers.PartialResults <CallHierarchyIncomingCallsParams,
                                                                                  Container <CallHierarchyIncomingCall>, CallHierarchyIncomingCall,
                                                                                  CallHierarchyCapability,
                                                                                  CallHierarchyRegistrationOptions>(incomingHandler, registrationOptions,
                                                                                                                    _.GetRequiredService <IProgressManager>(), x => new Container <CallHierarchyIncomingCall>(x)))
          .AddHandler(TextDocumentNames.CallHierarchyOutgoing,
                      _ => new LanguageProtocolDelegatingHandlers.PartialResults <CallHierarchyOutgoingCallsParams,
                                                                                  Container <CallHierarchyOutgoingCall>, CallHierarchyOutgoingCall,
                                                                                  CallHierarchyCapability,
                                                                                  CallHierarchyRegistrationOptions>(outgoingHandler, registrationOptions,
                                                                                                                    _.GetRequiredService <IProgressManager>(), x => new Container <CallHierarchyOutgoingCall>(x)))
         );
 }
 protected PartialCallHierarchyHandlerBase(CallHierarchyRegistrationOptions registrationOptions, IProgressManager progressManager) : base(
         registrationOptions, progressManager,
         lenses => new Container <CallHierarchyItem>(lenses)
         )
 {
     _incoming = new PartialIncoming(registrationOptions, progressManager, this);
     _outgoing = new PartialOutgoing(registrationOptions, progressManager, this);
 }
Beispiel #5
0
 public static IDisposable OnCallHierarchy(
     this ILanguageServerRegistry registry,
     Func <CallHierarchyPrepareParams, CancellationToken, Task <Container <CallHierarchyItem> > > handler,
     Func <CallHierarchyIncomingCallsParams, CancellationToken, Task <Container <CallHierarchyIncomingCall> > >
     incomingHandler,
     Func <CallHierarchyOutgoingCallsParams, CancellationToken, Task <Container <CallHierarchyOutgoingCall> > >
     outgoingHandler,
     CallHierarchyRegistrationOptions registrationOptions = null,
     Action <CallHierarchyCapability> setCapability       = null)
 {
     registrationOptions ??= new CallHierarchyRegistrationOptions();
     return(registry.AddHandlers(new DelegatingHandler(handler, incomingHandler, outgoingHandler,
                                                       registry.ProgressManager,
                                                       setCapability, registrationOptions)));
 }
Beispiel #6
0
 public DelegatingHandler(
     Func <CallHierarchyPrepareParams, CancellationToken, Task <Container <CallHierarchyItem> > > handler,
     Func <CallHierarchyIncomingCallsParams, CancellationToken, Task <Container <CallHierarchyIncomingCall> > >
     incomingHandler,
     Func <CallHierarchyOutgoingCallsParams, CancellationToken, Task <Container <CallHierarchyOutgoingCall> > >
     outgoingHandler,
     ProgressManager progressManager,
     Action <CallHierarchyCapability> setCapability,
     CallHierarchyRegistrationOptions registrationOptions) : base(registrationOptions, progressManager)
 {
     _handler         = handler;
     _incomingHandler = incomingHandler;
     _outgoingHandler = outgoingHandler;
     _setCapability   = setCapability;
 }
Beispiel #7
0
 public CallHierarchyHandler(CallHierarchyRegistrationOptions registrationOptions)
 {
     _options = registrationOptions;
 }
 public CallHierarchyHandlerBase(CallHierarchyRegistrationOptions registrationOptions) => _options = registrationOptions;
Beispiel #9
0
 public CallHierarchyHandler(CallHierarchyRegistrationOptions registrationOptions,
                             ProgressManager progressManager)
 {
     _options        = registrationOptions;
     ProgressManager = progressManager;
 }