diff --git a/sample/SampleServer/FoldingRangeHandler.cs b/sample/SampleServer/FoldingRangeHandler.cs index 28b0b6688..635fb0529 100644 --- a/sample/SampleServer/FoldingRangeHandler.cs +++ b/sample/SampleServer/FoldingRangeHandler.cs @@ -1,6 +1,7 @@ using System.Threading; using System.Threading.Tasks; using OmniSharp.Extensions.LanguageServer.Protocol.Client.Capabilities; +using OmniSharp.Extensions.LanguageServer.Protocol.Document; using OmniSharp.Extensions.LanguageServer.Protocol.Models; using OmniSharp.Extensions.LanguageServer.Server; diff --git a/src/Dap.Protocol/Events/BreakpointExtensions.cs b/src/Dap.Protocol/Events/BreakpointExtensions.cs index 16bb600ee..437c883d6 100644 --- a/src/Dap.Protocol/Events/BreakpointExtensions.cs +++ b/src/Dap.Protocol/Events/BreakpointExtensions.cs @@ -1,45 +1,18 @@ -using System; using System.Threading; using System.Threading.Tasks; using MediatR; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; namespace OmniSharp.Extensions.DebugAdapter.Protocol.Events { [Parallel, Method(EventNames.Breakpoint, Direction.ServerToClient)] + [GenerateHandlerMethods, GenerateRequestMethods] public interface IBreakpointHandler : IJsonRpcNotificationHandler { } public abstract class BreakpointHandler : IBreakpointHandler { public abstract Task Handle(BreakpointEvent request, CancellationToken cancellationToken); } - - public static class BreakpointExtensions - { - public static IDebugAdapterClientRegistry OnBreakpoint(this IDebugAdapterClientRegistry registry, Action handler) - { - return registry.AddHandler(EventNames.Breakpoint, NotificationHandler.For(handler)); - } - - public static IDebugAdapterClientRegistry OnBreakpoint(this IDebugAdapterClientRegistry registry, Action handler) - { - return registry.AddHandler(EventNames.Breakpoint, NotificationHandler.For(handler)); - } - - public static IDebugAdapterClientRegistry OnBreakpoint(this IDebugAdapterClientRegistry registry, Func handler) - { - return registry.AddHandler(EventNames.Breakpoint, NotificationHandler.For(handler)); - } - - public static IDebugAdapterClientRegistry OnBreakpoint(this IDebugAdapterClientRegistry registry, Func handler) - { - return registry.AddHandler(EventNames.Breakpoint, NotificationHandler.For(handler)); - } - - public static void SendBreakpoint(this IDebugAdapterServer mediator, BreakpointEvent @params) - { - mediator.SendNotification(@params); - } - } } diff --git a/src/Dap.Protocol/Events/CapabilitiesExtensions.cs b/src/Dap.Protocol/Events/CapabilitiesExtensions.cs index 3ae6d6223..195d8c515 100644 --- a/src/Dap.Protocol/Events/CapabilitiesExtensions.cs +++ b/src/Dap.Protocol/Events/CapabilitiesExtensions.cs @@ -1,45 +1,17 @@ -using System; -using System.Threading; +using System.Threading; using System.Threading.Tasks; using MediatR; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; namespace OmniSharp.Extensions.DebugAdapter.Protocol.Events { - [Parallel, Method(EventNames.Capabilities, Direction.ServerToClient)] + [GenerateRequestMethods, GenerateHandlerMethods] public interface ICapabilitiesHandler : IJsonRpcNotificationHandler { } public abstract class CapabilitiesHandler : ICapabilitiesHandler { public abstract Task Handle(CapabilitiesEvent request, CancellationToken cancellationToken); } - - public static class CapabilitiesExtensions - { - public static IDebugAdapterClientRegistry OnCapabilities(this IDebugAdapterClientRegistry registry, Action handler) - { - return registry.AddHandler(EventNames.Capabilities, NotificationHandler.For(handler)); - } - - public static IDebugAdapterClientRegistry OnCapabilities(this IDebugAdapterClientRegistry registry, Action handler) - { - return registry.AddHandler(EventNames.Capabilities, NotificationHandler.For(handler)); - } - - public static IDebugAdapterClientRegistry OnCapabilities(this IDebugAdapterClientRegistry registry, Func handler) - { - return registry.AddHandler(EventNames.Capabilities, NotificationHandler.For(handler)); - } - - public static IDebugAdapterClientRegistry OnCapabilities(this IDebugAdapterClientRegistry registry, Func handler) - { - return registry.AddHandler(EventNames.Capabilities, NotificationHandler.For(handler)); - } - - public static void SendCapabilities(this IDebugAdapterServer mediator, CapabilitiesEvent @params) - { - mediator.SendNotification(@params); - } - } } diff --git a/src/Dap.Protocol/Events/ContinuedExtensions.cs b/src/Dap.Protocol/Events/ContinuedExtensions.cs index a94ecea3f..7a7a8ef44 100644 --- a/src/Dap.Protocol/Events/ContinuedExtensions.cs +++ b/src/Dap.Protocol/Events/ContinuedExtensions.cs @@ -1,45 +1,18 @@ -using System; -using System.Threading; +using System.Threading; using System.Threading.Tasks; using MediatR; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; namespace OmniSharp.Extensions.DebugAdapter.Protocol.Events { [Parallel, Method(EventNames.Continued, Direction.ServerToClient)] + [GenerateHandlerMethods, GenerateRequestMethods] public interface IContinuedHandler : IJsonRpcNotificationHandler { } public abstract class ContinuedHandler : IContinuedHandler { public abstract Task Handle(ContinuedEvent request, CancellationToken cancellationToken); } - - public static class ContinuedExtensions - { - public static IDebugAdapterClientRegistry OnContinued(this IDebugAdapterClientRegistry registry, Action handler) - { - return registry.AddHandler(EventNames.Continued, NotificationHandler.For(handler)); - } - - public static IDebugAdapterClientRegistry OnContinued(this IDebugAdapterClientRegistry registry, Action handler) - { - return registry.AddHandler(EventNames.Continued, NotificationHandler.For(handler)); - } - - public static IDebugAdapterClientRegistry OnContinued(this IDebugAdapterClientRegistry registry, Func handler) - { - return registry.AddHandler(EventNames.Continued, NotificationHandler.For(handler)); - } - - public static IDebugAdapterClientRegistry OnContinued(this IDebugAdapterClientRegistry registry, Func handler) - { - return registry.AddHandler(EventNames.Continued, NotificationHandler.For(handler)); - } - - public static void SendContinued(this IDebugAdapterServer mediator, ContinuedEvent @params) - { - mediator.SendNotification(@params); - } - } } diff --git a/src/Dap.Protocol/Events/ExitedExtensions.cs b/src/Dap.Protocol/Events/ExitedExtensions.cs index c409f0c88..a034b5ef5 100644 --- a/src/Dap.Protocol/Events/ExitedExtensions.cs +++ b/src/Dap.Protocol/Events/ExitedExtensions.cs @@ -1,45 +1,18 @@ -using System; -using System.Threading; +using System.Threading; using System.Threading.Tasks; using MediatR; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; namespace OmniSharp.Extensions.DebugAdapter.Protocol.Events { [Parallel, Method(EventNames.Exited, Direction.ServerToClient)] + [GenerateHandlerMethods, GenerateRequestMethods] public interface IExitedHandler : IJsonRpcNotificationHandler { } public abstract class ExitedHandler : IExitedHandler { public abstract Task Handle(ExitedEvent request, CancellationToken cancellationToken); } - - public static class ExitedExtensions - { - public static IDebugAdapterClientRegistry OnExited(this IDebugAdapterClientRegistry registry, Action handler) - { - return registry.AddHandler(EventNames.Exited, NotificationHandler.For(handler)); - } - - public static IDebugAdapterClientRegistry OnExited(this IDebugAdapterClientRegistry registry, Action handler) - { - return registry.AddHandler(EventNames.Exited, NotificationHandler.For(handler)); - } - - public static IDebugAdapterClientRegistry OnExited(this IDebugAdapterClientRegistry registry, Func handler) - { - return registry.AddHandler(EventNames.Exited, NotificationHandler.For(handler)); - } - - public static IDebugAdapterClientRegistry OnExited(this IDebugAdapterClientRegistry registry, Func handler) - { - return registry.AddHandler(EventNames.Exited, NotificationHandler.For(handler)); - } - - public static void SendExited(this IDebugAdapterServer mediator, ExitedEvent @params) - { - mediator.SendNotification(@params); - } - } } diff --git a/src/Dap.Protocol/Events/InitializedExtensions.cs b/src/Dap.Protocol/Events/InitializedExtensions.cs index f595391c0..dc686c43b 100644 --- a/src/Dap.Protocol/Events/InitializedExtensions.cs +++ b/src/Dap.Protocol/Events/InitializedExtensions.cs @@ -1,45 +1,18 @@ -using System; -using System.Threading; +using System.Threading; using System.Threading.Tasks; using MediatR; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; namespace OmniSharp.Extensions.DebugAdapter.Protocol.Events { [Parallel, Method(EventNames.Initialized, Direction.ServerToClient)] + [GenerateHandlerMethods, GenerateRequestMethods] public interface IInitializedHandler : IJsonRpcNotificationHandler { } public abstract class InitializedHandler : IInitializedHandler { public abstract Task Handle(InitializedEvent request, CancellationToken cancellationToken); } - - public static class InitializedExtensions - { - public static IDebugAdapterClientRegistry OnInitialized(this IDebugAdapterClientRegistry registry, Action handler) - { - return registry.AddHandler(EventNames.Initialized, NotificationHandler.For(handler)); - } - - public static IDebugAdapterClientRegistry OnInitialized(this IDebugAdapterClientRegistry registry, Action handler) - { - return registry.AddHandler(EventNames.Initialized, NotificationHandler.For(handler)); - } - - public static IDebugAdapterClientRegistry OnInitialized(this IDebugAdapterClientRegistry registry, Func handler) - { - return registry.AddHandler(EventNames.Initialized, NotificationHandler.For(handler)); - } - - public static IDebugAdapterClientRegistry OnInitialized(this IDebugAdapterClientRegistry registry, Func handler) - { - return registry.AddHandler(EventNames.Initialized, NotificationHandler.For(handler)); - } - - public static void SendInitialized(this IDebugAdapterServer mediator, InitializedEvent @params) - { - mediator.SendNotification(@params); - } - } } diff --git a/src/Dap.Protocol/Events/LoadedSourceExtensions.cs b/src/Dap.Protocol/Events/LoadedSourceExtensions.cs index c309eb89c..fd6167753 100644 --- a/src/Dap.Protocol/Events/LoadedSourceExtensions.cs +++ b/src/Dap.Protocol/Events/LoadedSourceExtensions.cs @@ -1,45 +1,18 @@ -using System; -using System.Threading; +using System.Threading; using System.Threading.Tasks; using MediatR; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; namespace OmniSharp.Extensions.DebugAdapter.Protocol.Events { [Parallel, Method(EventNames.LoadedSource, Direction.ServerToClient)] + [GenerateHandlerMethods, GenerateRequestMethods] public interface ILoadedSourceHandler : IJsonRpcNotificationHandler { } public abstract class LoadedSourceHandler : ILoadedSourceHandler { public abstract Task Handle(LoadedSourceEvent request, CancellationToken cancellationToken); } - - public static class LoadedSourceExtensions - { - public static IDebugAdapterClientRegistry OnLoadedSource(this IDebugAdapterClientRegistry registry, Action handler) - { - return registry.AddHandler(EventNames.LoadedSource, NotificationHandler.For(handler)); - } - - public static IDebugAdapterClientRegistry OnLoadedSource(this IDebugAdapterClientRegistry registry, Action handler) - { - return registry.AddHandler(EventNames.LoadedSource, NotificationHandler.For(handler)); - } - - public static IDebugAdapterClientRegistry OnLoadedSource(this IDebugAdapterClientRegistry registry, Func handler) - { - return registry.AddHandler(EventNames.LoadedSource, NotificationHandler.For(handler)); - } - - public static IDebugAdapterClientRegistry OnLoadedSource(this IDebugAdapterClientRegistry registry, Func handler) - { - return registry.AddHandler(EventNames.LoadedSource, NotificationHandler.For(handler)); - } - - public static void SendLoadedSource(this IDebugAdapterServer mediator, LoadedSourceEvent @params) - { - mediator.SendNotification(@params); - } - } } diff --git a/src/Dap.Protocol/Events/ModuleExtensions.cs b/src/Dap.Protocol/Events/ModuleExtensions.cs index 86e54ea5c..c698e6b55 100644 --- a/src/Dap.Protocol/Events/ModuleExtensions.cs +++ b/src/Dap.Protocol/Events/ModuleExtensions.cs @@ -1,45 +1,18 @@ -using System; -using System.Threading; +using System.Threading; using System.Threading.Tasks; using MediatR; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; namespace OmniSharp.Extensions.DebugAdapter.Protocol.Events { [Parallel, Method(EventNames.Module, Direction.ServerToClient)] + [GenerateHandlerMethods, GenerateRequestMethods] public interface IModuleHandler : IJsonRpcNotificationHandler { } public abstract class ModuleHandler : IModuleHandler { public abstract Task Handle(ModuleEvent request, CancellationToken cancellationToken); } - - public static class ModuleExtensions - { - public static IDebugAdapterClientRegistry OnModule(this IDebugAdapterClientRegistry registry, Action handler) - { - return registry.AddHandler(EventNames.Module, NotificationHandler.For(handler)); - } - - public static IDebugAdapterClientRegistry OnModule(this IDebugAdapterClientRegistry registry, Action handler) - { - return registry.AddHandler(EventNames.Module, NotificationHandler.For(handler)); - } - - public static IDebugAdapterClientRegistry OnModule(this IDebugAdapterClientRegistry registry, Func handler) - { - return registry.AddHandler(EventNames.Module, NotificationHandler.For(handler)); - } - - public static IDebugAdapterClientRegistry OnModule(this IDebugAdapterClientRegistry registry, Func handler) - { - return registry.AddHandler(EventNames.Module, NotificationHandler.For(handler)); - } - - public static void SendModule(this IDebugAdapterServer mediator, ModuleEvent @params) - { - mediator.SendNotification(@params); - } - } } diff --git a/src/Dap.Protocol/Events/OutputExtensions.cs b/src/Dap.Protocol/Events/OutputExtensions.cs index 9d8afe07d..186d44689 100644 --- a/src/Dap.Protocol/Events/OutputExtensions.cs +++ b/src/Dap.Protocol/Events/OutputExtensions.cs @@ -1,44 +1,17 @@ -using System; -using System.Threading; +using System.Threading; using System.Threading.Tasks; using MediatR; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; namespace OmniSharp.Extensions.DebugAdapter.Protocol.Events { [Parallel, Method(EventNames.Output, Direction.ServerToClient)] + [GenerateHandlerMethods, GenerateRequestMethods] public interface IOutputHandler : IJsonRpcNotificationHandler { } public abstract class OutputHandler : IOutputHandler { public abstract Task Handle(OutputEvent request, CancellationToken cancellationToken); } - - public static class OutputExtensions - { - public static IDebugAdapterClientRegistry OnOutput(this IDebugAdapterClientRegistry registry, Action handler) - { - return registry.AddHandler(EventNames.Output, NotificationHandler.For(handler)); - } - - public static IDebugAdapterClientRegistry OnOutput(this IDebugAdapterClientRegistry registry, Action handler) - { - return registry.AddHandler(EventNames.Output, NotificationHandler.For(handler)); - } - - public static IDebugAdapterClientRegistry OnOutput(this IDebugAdapterClientRegistry registry, Func handler) - { - return registry.AddHandler(EventNames.Output, NotificationHandler.For(handler)); - } - - public static IDebugAdapterClientRegistry OnOutput(this IDebugAdapterClientRegistry registry, Func handler) - { - return registry.AddHandler(EventNames.Output, NotificationHandler.For(handler)); - } - - public static void SendOutput(this IDebugAdapterServer mediator, OutputEvent @params) - { - mediator.SendNotification(@params); - } - } } diff --git a/src/Dap.Protocol/Events/ProcessExtensions.cs b/src/Dap.Protocol/Events/ProcessExtensions.cs index 43bcacebb..1d4e91fe4 100644 --- a/src/Dap.Protocol/Events/ProcessExtensions.cs +++ b/src/Dap.Protocol/Events/ProcessExtensions.cs @@ -1,45 +1,18 @@ -using System; -using System.Threading; +using System.Threading; using System.Threading.Tasks; using MediatR; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; namespace OmniSharp.Extensions.DebugAdapter.Protocol.Events { [Parallel, Method(EventNames.Process, Direction.ServerToClient)] + [GenerateHandlerMethods, GenerateRequestMethods] public interface IProcessHandler : IJsonRpcNotificationHandler { } public abstract class ProcessHandler : IProcessHandler { public abstract Task Handle(ProcessEvent request, CancellationToken cancellationToken); } - - public static class ProcessExtensions - { - public static IDebugAdapterClientRegistry OnProcess(this IDebugAdapterClientRegistry registry, Action handler) - { - return registry.AddHandler(EventNames.Process, NotificationHandler.For(handler)); - } - - public static IDebugAdapterClientRegistry OnProcess(this IDebugAdapterClientRegistry registry, Action handler) - { - return registry.AddHandler(EventNames.Process, NotificationHandler.For(handler)); - } - - public static IDebugAdapterClientRegistry OnProcess(this IDebugAdapterClientRegistry registry, Func handler) - { - return registry.AddHandler(EventNames.Process, NotificationHandler.For(handler)); - } - - public static IDebugAdapterClientRegistry OnProcess(this IDebugAdapterClientRegistry registry, Func handler) - { - return registry.AddHandler(EventNames.Process, NotificationHandler.For(handler)); - } - - public static void SendProcess(this IDebugAdapterServer mediator, ProcessEvent @params) - { - mediator.SendNotification(@params); - } - } } diff --git a/src/Dap.Protocol/Events/StoppedExtensions.cs b/src/Dap.Protocol/Events/StoppedExtensions.cs index 92b95dfdf..6012371c6 100644 --- a/src/Dap.Protocol/Events/StoppedExtensions.cs +++ b/src/Dap.Protocol/Events/StoppedExtensions.cs @@ -1,45 +1,18 @@ -using System; -using System.Threading; +using System.Threading; using System.Threading.Tasks; using MediatR; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; namespace OmniSharp.Extensions.DebugAdapter.Protocol.Events { [Parallel, Method(EventNames.Stopped, Direction.ServerToClient)] + [GenerateHandlerMethods, GenerateRequestMethods] public interface IStoppedHandler : IJsonRpcNotificationHandler { } public abstract class StoppedHandler : IStoppedHandler { public abstract Task Handle(StoppedEvent request, CancellationToken cancellationToken); } - - public static class StoppedExtensions - { - public static IDebugAdapterClientRegistry OnStopped(this IDebugAdapterClientRegistry registry, Action handler) - { - return registry.AddHandler(EventNames.Stopped, NotificationHandler.For(handler)); - } - - public static IDebugAdapterClientRegistry OnStopped(this IDebugAdapterClientRegistry registry, Action handler) - { - return registry.AddHandler(EventNames.Stopped, NotificationHandler.For(handler)); - } - - public static IDebugAdapterClientRegistry OnStopped(this IDebugAdapterClientRegistry registry, Func handler) - { - return registry.AddHandler(EventNames.Stopped, NotificationHandler.For(handler)); - } - - public static IDebugAdapterClientRegistry OnStopped(this IDebugAdapterClientRegistry registry, Func handler) - { - return registry.AddHandler(EventNames.Stopped, NotificationHandler.For(handler)); - } - - public static void SendStopped(this IDebugAdapterServer mediator, StoppedEvent @params) - { - mediator.SendNotification(@params); - } - } } diff --git a/src/Dap.Protocol/Events/TerminatedExtensions.cs b/src/Dap.Protocol/Events/TerminatedExtensions.cs index 4207e044e..637c546a5 100644 --- a/src/Dap.Protocol/Events/TerminatedExtensions.cs +++ b/src/Dap.Protocol/Events/TerminatedExtensions.cs @@ -1,45 +1,18 @@ -using System; -using System.Threading; +using System.Threading; using System.Threading.Tasks; using MediatR; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; namespace OmniSharp.Extensions.DebugAdapter.Protocol.Events { [Parallel, Method(EventNames.Terminated, Direction.ServerToClient)] + [GenerateHandlerMethods, GenerateRequestMethods] public interface ITerminatedHandler : IJsonRpcNotificationHandler { } public abstract class TerminatedHandler : ITerminatedHandler { public abstract Task Handle(TerminatedEvent request, CancellationToken cancellationToken); } - - public static class TerminatedExtensions - { - public static IDebugAdapterClientRegistry OnTerminated(this IDebugAdapterClientRegistry registry, Action handler) - { - return registry.AddHandler(EventNames.Terminated, NotificationHandler.For(handler)); - } - - public static IDebugAdapterClientRegistry OnTerminated(this IDebugAdapterClientRegistry registry, Action handler) - { - return registry.AddHandler(EventNames.Terminated, NotificationHandler.For(handler)); - } - - public static IDebugAdapterClientRegistry OnTerminated(this IDebugAdapterClientRegistry registry, Func handler) - { - return registry.AddHandler(EventNames.Terminated, NotificationHandler.For(handler)); - } - - public static IDebugAdapterClientRegistry OnTerminated(this IDebugAdapterClientRegistry registry, Func handler) - { - return registry.AddHandler(EventNames.Terminated, NotificationHandler.For(handler)); - } - - public static void SendTerminated(this IDebugAdapterServer mediator, TerminatedEvent @params) - { - mediator.SendNotification(@params); - } - } } diff --git a/src/Dap.Protocol/Events/ThreadExtensions.cs b/src/Dap.Protocol/Events/ThreadExtensions.cs index 805851602..80950a97e 100644 --- a/src/Dap.Protocol/Events/ThreadExtensions.cs +++ b/src/Dap.Protocol/Events/ThreadExtensions.cs @@ -1,45 +1,18 @@ -using System; -using System.Threading; +using System.Threading; using System.Threading.Tasks; using MediatR; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; namespace OmniSharp.Extensions.DebugAdapter.Protocol.Events { [Parallel, Method(EventNames.Thread, Direction.ServerToClient)] + [GenerateHandlerMethods, GenerateRequestMethods] public interface IThreadHandler : IJsonRpcNotificationHandler { } public abstract class ThreadHandler : IThreadHandler { public abstract Task Handle(ThreadEvent request, CancellationToken cancellationToken); } - - public static class ThreadExtensions - { - public static IDebugAdapterClientRegistry OnThread(this IDebugAdapterClientRegistry registry, Action handler) - { - return registry.AddHandler(EventNames.Thread, NotificationHandler.For(handler)); - } - - public static IDebugAdapterClientRegistry OnThread(this IDebugAdapterClientRegistry registry, Action handler) - { - return registry.AddHandler(EventNames.Thread, NotificationHandler.For(handler)); - } - - public static IDebugAdapterClientRegistry OnThread(this IDebugAdapterClientRegistry registry, Func handler) - { - return registry.AddHandler(EventNames.Thread, NotificationHandler.For(handler)); - } - - public static IDebugAdapterClientRegistry OnThread(this IDebugAdapterClientRegistry registry, Func handler) - { - return registry.AddHandler(EventNames.Thread, NotificationHandler.For(handler)); - } - - public static void SendThread(this IDebugAdapterServer mediator, ThreadEvent @params) - { - mediator.SendNotification(@params); - } - } } diff --git a/src/Dap.Protocol/IDebugAdapterClientRegistry.cs b/src/Dap.Protocol/IDebugAdapterClientRegistry.cs index f00f02c61..cb4f59dfd 100644 --- a/src/Dap.Protocol/IDebugAdapterClientRegistry.cs +++ b/src/Dap.Protocol/IDebugAdapterClientRegistry.cs @@ -1,5 +1,4 @@ -using System; -using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc; namespace OmniSharp.Extensions.DebugAdapter.Protocol { diff --git a/src/Dap.Protocol/IDebugAdapterServerRegistry.cs b/src/Dap.Protocol/IDebugAdapterServerRegistry.cs index 95886b008..ad673d140 100644 --- a/src/Dap.Protocol/IDebugAdapterServerRegistry.cs +++ b/src/Dap.Protocol/IDebugAdapterServerRegistry.cs @@ -1,4 +1,3 @@ -using System; using OmniSharp.Extensions.JsonRpc; namespace OmniSharp.Extensions.DebugAdapter.Protocol diff --git a/src/Dap.Protocol/Requests/IAttachHandler.cs b/src/Dap.Protocol/Requests/IAttachHandler.cs index b694b5802..04b074f7d 100644 --- a/src/Dap.Protocol/Requests/IAttachHandler.cs +++ b/src/Dap.Protocol/Requests/IAttachHandler.cs @@ -1,33 +1,16 @@ -using System; using System.Threading; using System.Threading.Tasks; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; namespace OmniSharp.Extensions.DebugAdapter.Protocol.Requests { [Parallel, Method(RequestNames.Attach, Direction.ClientToServer)] + [GenerateHandlerMethods, GenerateRequestMethods] public interface IAttachHandler : IJsonRpcRequestHandler { } public abstract class AttachHandler : IAttachHandler { public abstract Task Handle(AttachRequestArguments request, CancellationToken cancellationToken); } - - public static class AttachExtensions - { - public static IDebugAdapterServerRegistry OnAttach(this IDebugAdapterServerRegistry registry, Func> handler) - { - return registry.AddHandler(RequestNames.Attach, RequestHandler.For(handler)); - } - - public static IDebugAdapterServerRegistry OnAttach(this IDebugAdapterServerRegistry registry, Func> handler) - { - return registry.AddHandler(RequestNames.Attach, RequestHandler.For(handler)); - } - - public static Task RequestAttach(this IDebugAdapterClient mediator, AttachRequestArguments @params, CancellationToken cancellationToken = default) - { - return mediator.SendRequest(@params, cancellationToken); - } - } } diff --git a/src/Dap.Protocol/Requests/ICompletionsHandler.cs b/src/Dap.Protocol/Requests/ICompletionsHandler.cs index faf0de387..c700fc23f 100644 --- a/src/Dap.Protocol/Requests/ICompletionsHandler.cs +++ b/src/Dap.Protocol/Requests/ICompletionsHandler.cs @@ -1,34 +1,16 @@ -using System; using System.Threading; using System.Threading.Tasks; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; namespace OmniSharp.Extensions.DebugAdapter.Protocol.Requests { [Parallel, Method(RequestNames.Completions, Direction.ClientToServer)] + [GenerateHandlerMethods, GenerateRequestMethods] public interface ICompletionsHandler : IJsonRpcRequestHandler { } public abstract class CompletionsHandler : ICompletionsHandler { public abstract Task Handle(CompletionsArguments request, CancellationToken cancellationToken); } - - public static class CompletionsExtensions - { - public static IDebugAdapterServerRegistry OnCompletions(this IDebugAdapterServerRegistry registry, Func> handler) - { - return registry.AddHandler(RequestNames.Completions, RequestHandler.For(handler)); - } - - public static IDebugAdapterServerRegistry OnCompletions(this IDebugAdapterServerRegistry registry, Func> handler) - { - return registry.AddHandler(RequestNames.Completions, RequestHandler.For(handler)); - } - - public static Task RequestCompletions(this IDebugAdapterClient mediator, CompletionsArguments @params, CancellationToken cancellationToken = default) - { - return mediator.SendRequest(@params, cancellationToken); - } - } - } diff --git a/src/Dap.Protocol/Requests/IConfigurationDoneHandler.cs b/src/Dap.Protocol/Requests/IConfigurationDoneHandler.cs index c696a0080..4f117e586 100644 --- a/src/Dap.Protocol/Requests/IConfigurationDoneHandler.cs +++ b/src/Dap.Protocol/Requests/IConfigurationDoneHandler.cs @@ -1,11 +1,12 @@ -using System; using System.Threading; using System.Threading.Tasks; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; namespace OmniSharp.Extensions.DebugAdapter.Protocol.Requests { [Parallel, Method(RequestNames.ConfigurationDone, Direction.ClientToServer)] + [GenerateHandlerMethods, GenerateRequestMethods] public interface IConfigurationDoneHandler : IJsonRpcRequestHandler { @@ -16,24 +17,4 @@ public abstract class ConfigurationDoneHandler : IConfigurationDoneHandler public abstract Task Handle(ConfigurationDoneArguments request, CancellationToken cancellationToken); } - - public static class ConfigurationDoneExtensions - { - public static IDebugAdapterServerRegistry OnConfigurationDone(this IDebugAdapterServerRegistry registry, - Func> handler) - { - return registry.AddHandler(RequestNames.ConfigurationDone, RequestHandler.For(handler)); - } - - public static IDebugAdapterServerRegistry OnConfigurationDone(this IDebugAdapterServerRegistry registry, - Func> handler) - { - return registry.AddHandler(RequestNames.ConfigurationDone, RequestHandler.For(handler)); - } - - public static Task RequestConfigurationDone(this IDebugAdapterClient mediator, ConfigurationDoneArguments @params, CancellationToken cancellationToken = default) - { - return mediator.SendRequest(@params, cancellationToken); - } - } } diff --git a/src/Dap.Protocol/Requests/IContinueHandler.cs b/src/Dap.Protocol/Requests/IContinueHandler.cs index dd4c00595..a682a180e 100644 --- a/src/Dap.Protocol/Requests/IContinueHandler.cs +++ b/src/Dap.Protocol/Requests/IContinueHandler.cs @@ -1,11 +1,12 @@ -using System; using System.Threading; using System.Threading.Tasks; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; namespace OmniSharp.Extensions.DebugAdapter.Protocol.Requests { [Parallel, Method(RequestNames.Continue, Direction.ClientToServer)] + [GenerateHandlerMethods, GenerateRequestMethods] public interface IContinueHandler : IJsonRpcRequestHandler { } @@ -14,24 +15,4 @@ public abstract class ContinueHandler : IContinueHandler { public abstract Task Handle(ContinueArguments request, CancellationToken cancellationToken); } - - public static class ContinueExtensions - { - public static IDebugAdapterServerRegistry OnContinue(this IDebugAdapterServerRegistry registry, - Func> handler) - { - return registry.AddHandler(RequestNames.Continue, RequestHandler.For(handler)); - } - - public static IDebugAdapterServerRegistry OnContinue(this IDebugAdapterServerRegistry registry, - Func> handler) - { - return registry.AddHandler(RequestNames.Continue, RequestHandler.For(handler)); - } - - public static Task RequestContinue(this IDebugAdapterClient mediator, ContinueArguments @params, CancellationToken cancellationToken = default) - { - return mediator.SendRequest(@params, cancellationToken); - } - } } diff --git a/src/Dap.Protocol/Requests/IDisassembleHandler.cs b/src/Dap.Protocol/Requests/IDisassembleHandler.cs index 5b597ac22..31969f7c5 100644 --- a/src/Dap.Protocol/Requests/IDisassembleHandler.cs +++ b/src/Dap.Protocol/Requests/IDisassembleHandler.cs @@ -1,11 +1,12 @@ -using System; using System.Threading; using System.Threading.Tasks; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; namespace OmniSharp.Extensions.DebugAdapter.Protocol.Requests { [Parallel, Method(RequestNames.Disassemble, Direction.ClientToServer)] + [GenerateHandlerMethods, GenerateRequestMethods] public interface IDisassembleHandler : IJsonRpcRequestHandler { } @@ -15,24 +16,4 @@ public abstract class DisassembleHandler : IDisassembleHandler public abstract Task Handle(DisassembleArguments request, CancellationToken cancellationToken); } - - public static class DisassembleExtensions - { - public static IDebugAdapterServerRegistry OnDisassemble(this IDebugAdapterServerRegistry registry, - Func> handler) - { - return registry.AddHandler(RequestNames.Disassemble, RequestHandler.For(handler)); - } - - public static IDebugAdapterServerRegistry OnDisassemble(this IDebugAdapterServerRegistry registry, - Func> handler) - { - return registry.AddHandler(RequestNames.Disassemble, RequestHandler.For(handler)); - } - - public static Task RequestDisassemble(this IDebugAdapterClient mediator, DisassembleArguments @params, CancellationToken cancellationToken = default) - { - return mediator.SendRequest(@params, cancellationToken); - } - } } diff --git a/src/Dap.Protocol/Requests/IDisconnectHandler.cs b/src/Dap.Protocol/Requests/IDisconnectHandler.cs index e39985702..73c41c5ec 100644 --- a/src/Dap.Protocol/Requests/IDisconnectHandler.cs +++ b/src/Dap.Protocol/Requests/IDisconnectHandler.cs @@ -1,11 +1,12 @@ -using System; using System.Threading; using System.Threading.Tasks; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; namespace OmniSharp.Extensions.DebugAdapter.Protocol.Requests { [Parallel, Method(RequestNames.Disconnect, Direction.ClientToServer)] + [GenerateHandlerMethods, GenerateRequestMethods] public interface IDisconnectHandler : IJsonRpcRequestHandler { } @@ -15,24 +16,4 @@ public abstract class DisconnectHandler : IDisconnectHandler public abstract Task Handle(DisconnectArguments request, CancellationToken cancellationToken); } - - public static class DisconnectExtensions - { - public static IDebugAdapterServerRegistry OnDisconnect(this IDebugAdapterServerRegistry registry, - Func> handler) - { - return registry.AddHandler(RequestNames.Disconnect, RequestHandler.For(handler)); - } - - public static IDebugAdapterServerRegistry OnDisconnect(this IDebugAdapterServerRegistry registry, - Func> handler) - { - return registry.AddHandler(RequestNames.Disconnect, RequestHandler.For(handler)); - } - - public static Task RequestDisconnect(this IDebugAdapterClient mediator, DisconnectArguments @params, CancellationToken cancellationToken = default) - { - return mediator.SendRequest(@params, cancellationToken); - } - } } diff --git a/src/Dap.Protocol/Requests/IEvaluateHandler.cs b/src/Dap.Protocol/Requests/IEvaluateHandler.cs index b853c05dc..c87eb01a7 100644 --- a/src/Dap.Protocol/Requests/IEvaluateHandler.cs +++ b/src/Dap.Protocol/Requests/IEvaluateHandler.cs @@ -1,38 +1,18 @@ -using System; using System.Threading; using System.Threading.Tasks; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; namespace OmniSharp.Extensions.DebugAdapter.Protocol.Requests { [Parallel, Method(RequestNames.Evaluate, Direction.ClientToServer)] + [GenerateHandlerMethods, GenerateRequestMethods] public interface IEvaluateHandler : IJsonRpcRequestHandler { } - public abstract class EvaluateHandler : IEvaluateHandler { public abstract Task Handle(EvaluateArguments request, CancellationToken cancellationToken); } - - public static class EvaluateExtensions - { - public static IDebugAdapterServerRegistry OnEvaluate(this IDebugAdapterServerRegistry registry, - Func> handler) - { - return registry.AddHandler(RequestNames.Evaluate, RequestHandler.For(handler)); - } - - public static IDebugAdapterServerRegistry OnEvaluate(this IDebugAdapterServerRegistry registry, - Func> handler) - { - return registry.AddHandler(RequestNames.Evaluate, RequestHandler.For(handler)); - } - - public static Task RequestEvaluate(this IDebugAdapterClient mediator, EvaluateArguments @params, CancellationToken cancellationToken = default) - { - return mediator.SendRequest(@params, cancellationToken); - } - } } diff --git a/src/Dap.Protocol/Requests/IExceptionInfoHandler.cs b/src/Dap.Protocol/Requests/IExceptionInfoHandler.cs index 25d356980..7d6031005 100644 --- a/src/Dap.Protocol/Requests/IExceptionInfoHandler.cs +++ b/src/Dap.Protocol/Requests/IExceptionInfoHandler.cs @@ -1,11 +1,12 @@ -using System; using System.Threading; using System.Threading.Tasks; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; namespace OmniSharp.Extensions.DebugAdapter.Protocol.Requests { [Parallel, Method(RequestNames.ExceptionInfo, Direction.ClientToServer)] + [GenerateHandlerMethods, GenerateRequestMethods] public interface IExceptionInfoHandler : IJsonRpcRequestHandler { } @@ -15,24 +16,4 @@ public abstract class ExceptionInfoHandler : IExceptionInfoHandler public abstract Task Handle(ExceptionInfoArguments request, CancellationToken cancellationToken); } - - public static class ExceptionInfoExtensions - { - public static IDebugAdapterServerRegistry OnExceptionInfo(this IDebugAdapterServerRegistry registry, - Func> handler) - { - return registry.AddHandler(RequestNames.ExceptionInfo, RequestHandler.For(handler)); - } - - public static IDebugAdapterServerRegistry OnExceptionInfo(this IDebugAdapterServerRegistry registry, - Func> handler) - { - return registry.AddHandler(RequestNames.ExceptionInfo, RequestHandler.For(handler)); - } - - public static Task RequestExceptionInfo(this IDebugAdapterClient mediator, ExceptionInfoArguments @params, CancellationToken cancellationToken = default) - { - return mediator.SendRequest(@params, cancellationToken); - } - } } diff --git a/src/Dap.Protocol/Requests/IGotoHandler.cs b/src/Dap.Protocol/Requests/IGotoHandler.cs index 79b947c00..46d15be6c 100644 --- a/src/Dap.Protocol/Requests/IGotoHandler.cs +++ b/src/Dap.Protocol/Requests/IGotoHandler.cs @@ -1,11 +1,12 @@ -using System; using System.Threading; using System.Threading.Tasks; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; namespace OmniSharp.Extensions.DebugAdapter.Protocol.Requests { [Parallel, Method(RequestNames.Goto, Direction.ClientToServer)] + [GenerateHandlerMethods, GenerateRequestMethods] public interface IGotoHandler : IJsonRpcRequestHandler { } @@ -14,24 +15,4 @@ public abstract class GotoHandler : IGotoHandler { public abstract Task Handle(GotoArguments request, CancellationToken cancellationToken); } - - public static class GotoExtensions - { - public static IDebugAdapterServerRegistry OnGoto(this IDebugAdapterServerRegistry registry, - Func> handler) - { - return registry.AddHandler(RequestNames.Goto, RequestHandler.For(handler)); - } - - public static IDebugAdapterServerRegistry OnGoto(this IDebugAdapterServerRegistry registry, - Func> handler) - { - return registry.AddHandler(RequestNames.Goto, RequestHandler.For(handler)); - } - - public static Task RequestGoto(this IDebugAdapterClient mediator, GotoArguments @params, CancellationToken cancellationToken = default) - { - return mediator.SendRequest(@params, cancellationToken); - } - } } diff --git a/src/Dap.Protocol/Requests/IGotoTargetsHandler.cs b/src/Dap.Protocol/Requests/IGotoTargetsHandler.cs index 1e7c8852b..bd5d5f805 100644 --- a/src/Dap.Protocol/Requests/IGotoTargetsHandler.cs +++ b/src/Dap.Protocol/Requests/IGotoTargetsHandler.cs @@ -1,11 +1,12 @@ -using System; using System.Threading; using System.Threading.Tasks; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; namespace OmniSharp.Extensions.DebugAdapter.Protocol.Requests { [Parallel, Method(RequestNames.GotoTargets, Direction.ClientToServer)] + [GenerateHandlerMethods, GenerateRequestMethods] public interface IGotoTargetsHandler : IJsonRpcRequestHandler { } @@ -16,24 +17,4 @@ public abstract class GotoTargetsHandler : IGotoTargetsHandler public abstract Task Handle(GotoTargetsArguments request, CancellationToken cancellationToken); } - - public static class GotoTargetsExtensions - { - public static IDebugAdapterServerRegistry OnGotoTargets(this IDebugAdapterServerRegistry registry, - Func> handler) - { - return registry.AddHandler(RequestNames.GotoTargets, RequestHandler.For(handler)); - } - - public static IDebugAdapterServerRegistry OnGotoTargets(this IDebugAdapterServerRegistry registry, - Func> handler) - { - return registry.AddHandler(RequestNames.GotoTargets, RequestHandler.For(handler)); - } - - public static Task RequestGotoTargets(this IDebugAdapterClient mediator, GotoTargetsArguments @params, CancellationToken cancellationToken = default) - { - return mediator.SendRequest(@params, cancellationToken); - } - } } diff --git a/src/Dap.Protocol/Requests/IInitializeHandler.cs b/src/Dap.Protocol/Requests/IInitializeHandler.cs index b5a13985b..6732e53d6 100644 --- a/src/Dap.Protocol/Requests/IInitializeHandler.cs +++ b/src/Dap.Protocol/Requests/IInitializeHandler.cs @@ -1,11 +1,12 @@ -using System; using System.Threading; using System.Threading.Tasks; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; namespace OmniSharp.Extensions.DebugAdapter.Protocol.Requests { [Parallel, Method(RequestNames.Initialize, Direction.ClientToServer)] + [GenerateHandlerMethods, GenerateRequestMethods] public interface IInitializeHandler : IJsonRpcRequestHandler { } @@ -15,24 +16,4 @@ public abstract class InitializeHandler : IInitializeHandler public abstract Task Handle(InitializeRequestArguments request, CancellationToken cancellationToken); } - - public static class InitializeExtensions - { - public static IDebugAdapterServerRegistry OnInitialize(this IDebugAdapterServerRegistry registry, - Func> handler) - { - return registry.AddHandler(RequestNames.Initialize, RequestHandler.For(handler)); - } - - public static IDebugAdapterServerRegistry OnInitialize(this IDebugAdapterServerRegistry registry, - Func> handler) - { - return registry.AddHandler(RequestNames.Initialize, RequestHandler.For(handler)); - } - - public static Task RequestInitialize(this IDebugAdapterClient mediator, InitializeRequestArguments @params, CancellationToken cancellationToken = default) - { - return mediator.SendRequest(@params, cancellationToken); - } - } } diff --git a/src/Dap.Protocol/Requests/ILaunchHandler.cs b/src/Dap.Protocol/Requests/ILaunchHandler.cs index c75eba748..21f95f103 100644 --- a/src/Dap.Protocol/Requests/ILaunchHandler.cs +++ b/src/Dap.Protocol/Requests/ILaunchHandler.cs @@ -1,11 +1,12 @@ -using System; using System.Threading; using System.Threading.Tasks; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; namespace OmniSharp.Extensions.DebugAdapter.Protocol.Requests { [Parallel, Method(RequestNames.Launch, Direction.ClientToServer)] + [GenerateHandlerMethods, GenerateRequestMethods] public interface ILaunchHandler : IJsonRpcRequestHandler { } @@ -15,24 +16,4 @@ public abstract class LaunchHandler : ILaunchHandler public abstract Task Handle(LaunchRequestArguments request, CancellationToken cancellationToken); } - - public static class LaunchExtensions - { - public static IDebugAdapterServerRegistry OnLaunch(this IDebugAdapterServerRegistry registry, - Func> handler) - { - return registry.AddHandler(RequestNames.Launch, RequestHandler.For(handler)); - } - - public static IDebugAdapterServerRegistry OnLaunch(this IDebugAdapterServerRegistry registry, - Func> handler) - { - return registry.AddHandler(RequestNames.Launch, RequestHandler.For(handler)); - } - - public static Task RequestLaunch(this IDebugAdapterClient mediator, LaunchRequestArguments @params, CancellationToken cancellationToken = default) - { - return mediator.SendRequest(@params, cancellationToken); - } - } } diff --git a/src/Dap.Protocol/Requests/ILoadedSourcesHandler.cs b/src/Dap.Protocol/Requests/ILoadedSourcesHandler.cs index 09bdaaaf3..3c1795275 100644 --- a/src/Dap.Protocol/Requests/ILoadedSourcesHandler.cs +++ b/src/Dap.Protocol/Requests/ILoadedSourcesHandler.cs @@ -1,11 +1,12 @@ -using System; using System.Threading; using System.Threading.Tasks; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; namespace OmniSharp.Extensions.DebugAdapter.Protocol.Requests { [Parallel, Method(RequestNames.LoadedSources, Direction.ClientToServer)] + [GenerateHandlerMethods, GenerateRequestMethods] public interface ILoadedSourcesHandler : IJsonRpcRequestHandler { } @@ -15,24 +16,4 @@ public abstract class LoadedSourcesHandler : ILoadedSourcesHandler public abstract Task Handle(LoadedSourcesArguments request, CancellationToken cancellationToken); } - - public static class LoadedSourcesExtensions - { - public static IDebugAdapterServerRegistry OnLoadedSources(this IDebugAdapterServerRegistry registry, - Func> handler) - { - return registry.AddHandler(RequestNames.LoadedSources, RequestHandler.For(handler)); - } - - public static IDebugAdapterServerRegistry OnLoadedSources(this IDebugAdapterServerRegistry registry, - Func> handler) - { - return registry.AddHandler(RequestNames.LoadedSources, RequestHandler.For(handler)); - } - - public static Task RequestLoadedSources(this IDebugAdapterClient mediator, LoadedSourcesArguments @params, CancellationToken cancellationToken = default) - { - return mediator.SendRequest(@params, cancellationToken); - } - } } diff --git a/src/Dap.Protocol/Requests/IModulesHandler.cs b/src/Dap.Protocol/Requests/IModulesHandler.cs index a42f199ef..2a0fdb3d0 100644 --- a/src/Dap.Protocol/Requests/IModulesHandler.cs +++ b/src/Dap.Protocol/Requests/IModulesHandler.cs @@ -1,11 +1,12 @@ -using System; using System.Threading; using System.Threading.Tasks; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; namespace OmniSharp.Extensions.DebugAdapter.Protocol.Requests { [Parallel, Method(RequestNames.Modules, Direction.ClientToServer)] + [GenerateHandlerMethods, GenerateRequestMethods] public interface IModulesHandler : IJsonRpcRequestHandler { } @@ -14,24 +15,4 @@ public abstract class ModulesHandler : IModulesHandler { public abstract Task Handle(ModulesArguments request, CancellationToken cancellationToken); } - - public static class ModulesExtensions - { - public static IDebugAdapterServerRegistry OnModules(this IDebugAdapterServerRegistry registry, - Func> handler) - { - return registry.AddHandler(RequestNames.Modules, RequestHandler.For(handler)); - } - - public static IDebugAdapterServerRegistry OnModules(this IDebugAdapterServerRegistry registry, - Func> handler) - { - return registry.AddHandler(RequestNames.Modules, RequestHandler.For(handler)); - } - - public static Task RequestModules(this IDebugAdapterClient mediator, ModulesArguments @params, CancellationToken cancellationToken = default) - { - return mediator.SendRequest(@params, cancellationToken); - } - } } diff --git a/src/Dap.Protocol/Requests/INextHandler.cs b/src/Dap.Protocol/Requests/INextHandler.cs index 54b89e9c2..f55a74139 100644 --- a/src/Dap.Protocol/Requests/INextHandler.cs +++ b/src/Dap.Protocol/Requests/INextHandler.cs @@ -1,11 +1,12 @@ -using System; using System.Threading; using System.Threading.Tasks; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; namespace OmniSharp.Extensions.DebugAdapter.Protocol.Requests { [Parallel, Method(RequestNames.Next, Direction.ClientToServer)] + [GenerateHandlerMethods, GenerateRequestMethods] public interface INextHandler : IJsonRpcRequestHandler { } @@ -14,24 +15,4 @@ public abstract class NextHandler : INextHandler { public abstract Task Handle(NextArguments request, CancellationToken cancellationToken); } - - public static class NextExtensions - { - public static IDebugAdapterServerRegistry OnNext(this IDebugAdapterServerRegistry registry, - Func> handler) - { - return registry.AddHandler(RequestNames.Next, RequestHandler.For(handler)); - } - - public static IDebugAdapterServerRegistry OnNext(this IDebugAdapterServerRegistry registry, - Func> handler) - { - return registry.AddHandler(RequestNames.Next, RequestHandler.For(handler)); - } - - public static Task RequestNext(this IDebugAdapterClient mediator, NextArguments @params, CancellationToken cancellationToken = default) - { - return mediator.SendRequest(@params, cancellationToken); - } - } } diff --git a/src/Dap.Protocol/Requests/IPauseHandler.cs b/src/Dap.Protocol/Requests/IPauseHandler.cs index b0ec68302..52987cf03 100644 --- a/src/Dap.Protocol/Requests/IPauseHandler.cs +++ b/src/Dap.Protocol/Requests/IPauseHandler.cs @@ -1,11 +1,12 @@ -using System; using System.Threading; using System.Threading.Tasks; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; namespace OmniSharp.Extensions.DebugAdapter.Protocol.Requests { [Parallel, Method(RequestNames.Pause, Direction.ClientToServer)] + [GenerateHandlerMethods, GenerateRequestMethods] public interface IPauseHandler : IJsonRpcRequestHandler { } @@ -14,24 +15,4 @@ public abstract class PauseHandler : IPauseHandler { public abstract Task Handle(PauseArguments request, CancellationToken cancellationToken); } - - public static class PauseExtensions - { - public static IDebugAdapterServerRegistry OnPause(this IDebugAdapterServerRegistry registry, - Func> handler) - { - return registry.AddHandler(RequestNames.Pause, RequestHandler.For(handler)); - } - - public static IDebugAdapterServerRegistry OnPause(this IDebugAdapterServerRegistry registry, - Func> handler) - { - return registry.AddHandler(RequestNames.Pause, RequestHandler.For(handler)); - } - - public static Task RequestPause(this IDebugAdapterClient mediator, PauseArguments @params, CancellationToken cancellationToken = default) - { - return mediator.SendRequest(@params, cancellationToken); - } - } } diff --git a/src/Dap.Protocol/Requests/IReadMemoryHandler.cs b/src/Dap.Protocol/Requests/IReadMemoryHandler.cs index 2037fd830..485894446 100644 --- a/src/Dap.Protocol/Requests/IReadMemoryHandler.cs +++ b/src/Dap.Protocol/Requests/IReadMemoryHandler.cs @@ -1,11 +1,12 @@ -using System; using System.Threading; using System.Threading.Tasks; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; namespace OmniSharp.Extensions.DebugAdapter.Protocol.Requests { [Parallel, Method(RequestNames.ReadMemory, Direction.ClientToServer)] + [GenerateHandlerMethods, GenerateRequestMethods] public interface IReadMemoryHandler : IJsonRpcRequestHandler { } @@ -15,24 +16,4 @@ public abstract class ReadMemoryHandler : IReadMemoryHandler public abstract Task Handle(ReadMemoryArguments request, CancellationToken cancellationToken); } - - public static class ReadMemoryExtensions - { - public static IDebugAdapterServerRegistry OnReadMemory(this IDebugAdapterServerRegistry registry, - Func> handler) - { - return registry.AddHandler(RequestNames.ReadMemory, RequestHandler.For(handler)); - } - - public static IDebugAdapterServerRegistry OnReadMemory(this IDebugAdapterServerRegistry registry, - Func> handler) - { - return registry.AddHandler(RequestNames.ReadMemory, RequestHandler.For(handler)); - } - - public static Task RequestReadMemory(this IDebugAdapterClient mediator, ReadMemoryArguments @params, CancellationToken cancellationToken = default) - { - return mediator.SendRequest(@params, cancellationToken); - } - } } diff --git a/src/Dap.Protocol/Requests/IRestartHandler.cs b/src/Dap.Protocol/Requests/IRestartHandler.cs index 3d16941cf..d96b3ec10 100644 --- a/src/Dap.Protocol/Requests/IRestartHandler.cs +++ b/src/Dap.Protocol/Requests/IRestartHandler.cs @@ -1,11 +1,12 @@ -using System; using System.Threading; using System.Threading.Tasks; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; namespace OmniSharp.Extensions.DebugAdapter.Protocol.Requests { [Parallel, Method(RequestNames.Restart, Direction.ClientToServer)] + [GenerateHandlerMethods, GenerateRequestMethods] public interface IRestartHandler : IJsonRpcRequestHandler { } @@ -14,24 +15,4 @@ public abstract class RestartHandler : IRestartHandler { public abstract Task Handle(RestartArguments request, CancellationToken cancellationToken); } - - public static class RestartExtensions - { - public static IDebugAdapterServerRegistry OnRestart(this IDebugAdapterServerRegistry registry, - Func> handler) - { - return registry.AddHandler(RequestNames.Restart, RequestHandler.For(handler)); - } - - public static IDebugAdapterServerRegistry OnRestart(this IDebugAdapterServerRegistry registry, - Func> handler) - { - return registry.AddHandler(RequestNames.Restart, RequestHandler.For(handler)); - } - - public static Task RequestRestart(this IDebugAdapterClient mediator, RestartArguments @params, CancellationToken cancellationToken = default) - { - return mediator.SendRequest(@params, cancellationToken); - } - } } diff --git a/src/Dap.Protocol/Requests/IReverseContinueHandler.cs b/src/Dap.Protocol/Requests/IReverseContinueHandler.cs index a968f49b4..954708a9d 100644 --- a/src/Dap.Protocol/Requests/IReverseContinueHandler.cs +++ b/src/Dap.Protocol/Requests/IReverseContinueHandler.cs @@ -1,11 +1,12 @@ -using System; using System.Threading; using System.Threading.Tasks; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; namespace OmniSharp.Extensions.DebugAdapter.Protocol.Requests { [Parallel, Method(RequestNames.ReverseContinue, Direction.ClientToServer)] + [GenerateHandlerMethods, GenerateRequestMethods] public interface IReverseContinueHandler : IJsonRpcRequestHandler { } @@ -15,24 +16,4 @@ public abstract class ReverseContinueHandler : IReverseContinueHandler public abstract Task Handle(ReverseContinueArguments request, CancellationToken cancellationToken); } - - public static class ReverseContinueExtensions - { - public static IDebugAdapterServerRegistry OnReverseContinue(this IDebugAdapterServerRegistry registry, - Func> handler) - { - return registry.AddHandler(RequestNames.ReverseContinue, RequestHandler.For(handler)); - } - - public static IDebugAdapterServerRegistry OnReverseContinue(this IDebugAdapterServerRegistry registry, - Func> handler) - { - return registry.AddHandler(RequestNames.ReverseContinue, RequestHandler.For(handler)); - } - - public static Task RequestReverseContinue(this IDebugAdapterClient mediator, ReverseContinueArguments @params, CancellationToken cancellationToken = default) - { - return mediator.SendRequest(@params, cancellationToken); - } - } } diff --git a/src/Dap.Protocol/Requests/IRunInTerminalHandler.cs b/src/Dap.Protocol/Requests/IRunInTerminalHandler.cs index 76d8864a4..760175ecd 100644 --- a/src/Dap.Protocol/Requests/IRunInTerminalHandler.cs +++ b/src/Dap.Protocol/Requests/IRunInTerminalHandler.cs @@ -1,11 +1,12 @@ -using System; using System.Threading; using System.Threading.Tasks; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; namespace OmniSharp.Extensions.DebugAdapter.Protocol.Requests { [Parallel, Method(RequestNames.RunInTerminal, Direction.ServerToClient)] + [GenerateHandlerMethods, GenerateRequestMethods] public interface IRunInTerminalHandler : IJsonRpcRequestHandler { } @@ -14,25 +15,4 @@ public abstract class RunInTerminalHandler : IRunInTerminalHandler { public abstract Task Handle(RunInTerminalArguments request, CancellationToken cancellationToken); } - - public static class RunInTerminalExtensions - { - public static IDebugAdapterClientRegistry OnRunInTerminal(this IDebugAdapterClientRegistry registry, - Func> handler) - { - return registry.AddHandler(RequestNames.RunInTerminal, RequestHandler.For(handler)); - } - - public static IDebugAdapterClientRegistry OnRunInTerminal(this IDebugAdapterClientRegistry registry, - Func> handler) - { - return registry.AddHandler(RequestNames.RunInTerminal, RequestHandler.For(handler)); - } - - public static Task RunInTerminal(this IDebugAdapterServer mediator, RunInTerminalArguments @params, CancellationToken cancellationToken = default) - { - return mediator.SendRequest(@params, cancellationToken); - } - } - } diff --git a/src/Dap.Protocol/Requests/IScopesHandler.cs b/src/Dap.Protocol/Requests/IScopesHandler.cs index 407d2a8d2..901e508d5 100644 --- a/src/Dap.Protocol/Requests/IScopesHandler.cs +++ b/src/Dap.Protocol/Requests/IScopesHandler.cs @@ -1,11 +1,12 @@ -using System; using System.Threading; using System.Threading.Tasks; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; namespace OmniSharp.Extensions.DebugAdapter.Protocol.Requests { [Parallel, Method(RequestNames.Scopes, Direction.ClientToServer)] + [GenerateHandlerMethods, GenerateRequestMethods] public interface IScopesHandler : IJsonRpcRequestHandler { } @@ -14,24 +15,4 @@ public abstract class ScopesHandler : IScopesHandler { public abstract Task Handle(ScopesArguments request, CancellationToken cancellationToken); } - - public static class ScopesExtensions - { - public static IDebugAdapterServerRegistry OnScopes(this IDebugAdapterServerRegistry registry, - Func> handler) - { - return registry.AddHandler(RequestNames.Scopes, RequestHandler.For(handler)); - } - - public static IDebugAdapterServerRegistry OnScopes(this IDebugAdapterServerRegistry registry, - Func> handler) - { - return registry.AddHandler(RequestNames.Scopes, RequestHandler.For(handler)); - } - - public static Task RequestScopes(this IDebugAdapterClient mediator, ScopesArguments @params, CancellationToken cancellationToken = default) - { - return mediator.SendRequest(@params, cancellationToken); - } - } } diff --git a/src/Dap.Protocol/Requests/ISetBreakpointsHandler.cs b/src/Dap.Protocol/Requests/ISetBreakpointsHandler.cs index 75bf1bbb6..310f7b772 100644 --- a/src/Dap.Protocol/Requests/ISetBreakpointsHandler.cs +++ b/src/Dap.Protocol/Requests/ISetBreakpointsHandler.cs @@ -1,11 +1,12 @@ -using System; using System.Threading; using System.Threading.Tasks; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; namespace OmniSharp.Extensions.DebugAdapter.Protocol.Requests { [Parallel, Method(RequestNames.SetBreakpoints, Direction.ClientToServer)] + [GenerateHandlerMethods, GenerateRequestMethods] public interface ISetBreakpointsHandler : IJsonRpcRequestHandler { } @@ -15,24 +16,4 @@ public abstract class SetBreakpointsHandler : ISetBreakpointsHandler public abstract Task Handle(SetBreakpointsArguments request, CancellationToken cancellationToken); } - - public static class SetBreakpointsExtensions - { - public static IDebugAdapterServerRegistry OnSetBreakpoints(this IDebugAdapterServerRegistry registry, - Func> handler) - { - return registry.AddHandler(RequestNames.SetBreakpoints, RequestHandler.For(handler)); - } - - public static IDebugAdapterServerRegistry OnSetBreakpoints(this IDebugAdapterServerRegistry registry, - Func> handler) - { - return registry.AddHandler(RequestNames.SetBreakpoints, RequestHandler.For(handler)); - } - - public static Task RequestSetBreakpoints(this IDebugAdapterClient mediator, SetBreakpointsArguments @params, CancellationToken cancellationToken = default) - { - return mediator.SendRequest(@params, cancellationToken); - } - } } diff --git a/src/Dap.Protocol/Requests/ISetDataBreakpointsHandler.cs b/src/Dap.Protocol/Requests/ISetDataBreakpointsHandler.cs index 34aef6dd7..ab038e48d 100644 --- a/src/Dap.Protocol/Requests/ISetDataBreakpointsHandler.cs +++ b/src/Dap.Protocol/Requests/ISetDataBreakpointsHandler.cs @@ -1,11 +1,12 @@ -using System; using System.Threading; using System.Threading.Tasks; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; namespace OmniSharp.Extensions.DebugAdapter.Protocol.Requests { [Parallel, Method(RequestNames.SetDataBreakpoints, Direction.ClientToServer)] + [GenerateHandlerMethods, GenerateRequestMethods] public interface ISetDataBreakpointsHandler : IJsonRpcRequestHandler { @@ -16,24 +17,4 @@ public abstract class SetDataBreakpointsHandler : ISetDataBreakpointsHandler public abstract Task Handle(SetDataBreakpointsArguments request, CancellationToken cancellationToken); } - - public static class SetDataBreakpointsExtensions - { - public static IDebugAdapterServerRegistry OnSetDataBreakpoints(this IDebugAdapterServerRegistry registry, - Func> handler) - { - return registry.AddHandler(RequestNames.SetDataBreakpoints, RequestHandler.For(handler)); - } - - public static IDebugAdapterServerRegistry OnSetDataBreakpoints(this IDebugAdapterServerRegistry registry, - Func> handler) - { - return registry.AddHandler(RequestNames.SetDataBreakpoints, RequestHandler.For(handler)); - } - - public static Task RequestSetDataBreakpoints(this IDebugAdapterClient mediator, SetDataBreakpointsArguments @params, CancellationToken cancellationToken = default) - { - return mediator.SendRequest(@params, cancellationToken); - } - } } diff --git a/src/Dap.Protocol/Requests/ISetExceptionBreakpointsHandler.cs b/src/Dap.Protocol/Requests/ISetExceptionBreakpointsHandler.cs index 6e212a92c..1fee0ea62 100644 --- a/src/Dap.Protocol/Requests/ISetExceptionBreakpointsHandler.cs +++ b/src/Dap.Protocol/Requests/ISetExceptionBreakpointsHandler.cs @@ -1,11 +1,12 @@ -using System; using System.Threading; using System.Threading.Tasks; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; namespace OmniSharp.Extensions.DebugAdapter.Protocol.Requests { [Parallel, Method(RequestNames.SetExceptionBreakpoints, Direction.ClientToServer)] + [GenerateHandlerMethods, GenerateRequestMethods] public interface ISetExceptionBreakpointsHandler : IJsonRpcRequestHandler { @@ -16,24 +17,4 @@ public abstract class SetExceptionBreakpointsHandler : ISetExceptionBreakpointsH public abstract Task Handle(SetExceptionBreakpointsArguments request, CancellationToken cancellationToken); } - - public static class SetExceptionBreakpointsExtensions - { - public static IDebugAdapterServerRegistry OnSetExceptionBreakpoints(this IDebugAdapterServerRegistry registry, - Func> handler) - { - return registry.AddHandler(RequestNames.SetExceptionBreakpoints, RequestHandler.For(handler)); - } - - public static IDebugAdapterServerRegistry OnSetExceptionBreakpoints(this IDebugAdapterServerRegistry registry, - Func> handler) - { - return registry.AddHandler(RequestNames.SetExceptionBreakpoints, RequestHandler.For(handler)); - } - - public static Task RequestSetExceptionBreakpoints(this IDebugAdapterClient mediator, SetExceptionBreakpointsArguments @params, CancellationToken cancellationToken = default) - { - return mediator.SendRequest(@params, cancellationToken); - } - } } diff --git a/src/Dap.Protocol/Requests/ISetExpressionHandler.cs b/src/Dap.Protocol/Requests/ISetExpressionHandler.cs index d207fb1e1..d67336c1c 100644 --- a/src/Dap.Protocol/Requests/ISetExpressionHandler.cs +++ b/src/Dap.Protocol/Requests/ISetExpressionHandler.cs @@ -1,11 +1,12 @@ -using System; using System.Threading; using System.Threading.Tasks; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; namespace OmniSharp.Extensions.DebugAdapter.Protocol.Requests { [Parallel, Method(RequestNames.SetExpression, Direction.ClientToServer)] + [GenerateHandlerMethods, GenerateRequestMethods] public interface ISetExpressionHandler : IJsonRpcRequestHandler { } @@ -15,24 +16,4 @@ public abstract class SetExpressionHandler : ISetExpressionHandler public abstract Task Handle(SetExpressionArguments request, CancellationToken cancellationToken); } - - public static class SetExpressionExtensions - { - public static IDebugAdapterServerRegistry OnSetExpression(this IDebugAdapterServerRegistry registry, - Func> handler) - { - return registry.AddHandler(RequestNames.SetExpression, RequestHandler.For(handler)); - } - - public static IDebugAdapterServerRegistry OnSetExpression(this IDebugAdapterServerRegistry registry, - Func> handler) - { - return registry.AddHandler(RequestNames.SetExpression, RequestHandler.For(handler)); - } - - public static Task RequestSetExpression(this IDebugAdapterClient mediator, SetExpressionArguments @params, CancellationToken cancellationToken = default) - { - return mediator.SendRequest(@params, cancellationToken); - } - } } diff --git a/src/Dap.Protocol/Requests/ISetFunctionBreakpointsHandler.cs b/src/Dap.Protocol/Requests/ISetFunctionBreakpointsHandler.cs index 261d036c0..c750b8ac8 100644 --- a/src/Dap.Protocol/Requests/ISetFunctionBreakpointsHandler.cs +++ b/src/Dap.Protocol/Requests/ISetFunctionBreakpointsHandler.cs @@ -1,11 +1,12 @@ -using System; using System.Threading; using System.Threading.Tasks; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; namespace OmniSharp.Extensions.DebugAdapter.Protocol.Requests { [Parallel, Method(RequestNames.SetFunctionBreakpoints, Direction.ClientToServer)] + [GenerateHandlerMethods, GenerateRequestMethods] public interface ISetFunctionBreakpointsHandler : IJsonRpcRequestHandler @@ -17,24 +18,4 @@ public abstract class SetFunctionBreakpointsHandler : ISetFunctionBreakpointsHan public abstract Task Handle(SetFunctionBreakpointsArguments request, CancellationToken cancellationToken); } - - public static class SetFunctionBreakpointsExtensions - { - public static IDebugAdapterServerRegistry OnSetFunctionBreakpoints(this IDebugAdapterServerRegistry registry, - Func> handler) - { - return registry.AddHandler(RequestNames.SetFunctionBreakpoints, RequestHandler.For(handler)); - } - - public static IDebugAdapterServerRegistry OnSetFunctionBreakpoints(this IDebugAdapterServerRegistry registry, - Func> handler) - { - return registry.AddHandler(RequestNames.SetFunctionBreakpoints, RequestHandler.For(handler)); - } - - public static Task RequestSetFunctionBreakpoints(this IDebugAdapterClient mediator, SetFunctionBreakpointsArguments @params, CancellationToken cancellationToken = default) - { - return mediator.SendRequest(@params, cancellationToken); - } - } } diff --git a/src/Dap.Protocol/Requests/ISetVariableHandler.cs b/src/Dap.Protocol/Requests/ISetVariableHandler.cs index c529e0668..50acbc4dc 100644 --- a/src/Dap.Protocol/Requests/ISetVariableHandler.cs +++ b/src/Dap.Protocol/Requests/ISetVariableHandler.cs @@ -1,11 +1,12 @@ -using System; using System.Threading; using System.Threading.Tasks; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; namespace OmniSharp.Extensions.DebugAdapter.Protocol.Requests { [Parallel, Method(RequestNames.SetVariable, Direction.ClientToServer)] + [GenerateHandlerMethods, GenerateRequestMethods] public interface ISetVariableHandler : IJsonRpcRequestHandler { } @@ -15,24 +16,4 @@ public abstract class SetVariableHandler : ISetVariableHandler public abstract Task Handle(SetVariableArguments request, CancellationToken cancellationToken); } - - public static class SetVariableExtensions - { - public static IDebugAdapterServerRegistry OnSetVariable(this IDebugAdapterServerRegistry registry, - Func> handler) - { - return registry.AddHandler(RequestNames.SetVariable, RequestHandler.For(handler)); - } - - public static IDebugAdapterServerRegistry OnSetVariable(this IDebugAdapterServerRegistry registry, - Func> handler) - { - return registry.AddHandler(RequestNames.SetVariable, RequestHandler.For(handler)); - } - - public static Task RequestSetVariable(this IDebugAdapterClient mediator, SetVariableArguments @params, CancellationToken cancellationToken = default) - { - return mediator.SendRequest(@params, cancellationToken); - } - } } diff --git a/src/Dap.Protocol/Requests/ISourceHandler.cs b/src/Dap.Protocol/Requests/ISourceHandler.cs index 23d7eb569..a24cd8916 100644 --- a/src/Dap.Protocol/Requests/ISourceHandler.cs +++ b/src/Dap.Protocol/Requests/ISourceHandler.cs @@ -1,11 +1,12 @@ -using System; using System.Threading; using System.Threading.Tasks; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; namespace OmniSharp.Extensions.DebugAdapter.Protocol.Requests { [Parallel, Method(RequestNames.Source, Direction.ClientToServer)] + [GenerateHandlerMethods, GenerateRequestMethods] public interface ISourceHandler : IJsonRpcRequestHandler { } @@ -14,24 +15,4 @@ public abstract class SourceHandler : ISourceHandler { public abstract Task Handle(SourceArguments request, CancellationToken cancellationToken); } - - public static class SourceExtensions - { - public static IDebugAdapterServerRegistry OnSource(this IDebugAdapterServerRegistry registry, - Func> handler) - { - return registry.AddHandler(RequestNames.Source, RequestHandler.For(handler)); - } - - public static IDebugAdapterServerRegistry OnSource(this IDebugAdapterServerRegistry registry, - Func> handler) - { - return registry.AddHandler(RequestNames.Source, RequestHandler.For(handler)); - } - - public static Task RequestSource(this IDebugAdapterClient mediator, SourceArguments @params, CancellationToken cancellationToken = default) - { - return mediator.SendRequest(@params, cancellationToken); - } - } } diff --git a/src/Dap.Protocol/Requests/IStackTraceHandler.cs b/src/Dap.Protocol/Requests/IStackTraceHandler.cs index 2b20ee9f5..6939e09b0 100644 --- a/src/Dap.Protocol/Requests/IStackTraceHandler.cs +++ b/src/Dap.Protocol/Requests/IStackTraceHandler.cs @@ -1,11 +1,12 @@ -using System; using System.Threading; using System.Threading.Tasks; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; namespace OmniSharp.Extensions.DebugAdapter.Protocol.Requests { [Parallel, Method(RequestNames.StackTrace, Direction.ClientToServer)] + [GenerateHandlerMethods, GenerateRequestMethods] public interface IStackTraceHandler : IJsonRpcRequestHandler { } @@ -15,24 +16,4 @@ public abstract class StackTraceHandler : IStackTraceHandler public abstract Task Handle(StackTraceArguments request, CancellationToken cancellationToken); } - - public static class StackTraceExtensions - { - public static IDebugAdapterServerRegistry OnStackTrace(this IDebugAdapterServerRegistry registry, - Func> handler) - { - return registry.AddHandler(RequestNames.StackTrace, RequestHandler.For(handler)); - } - - public static IDebugAdapterServerRegistry OnStackTrace(this IDebugAdapterServerRegistry registry, - Func> handler) - { - return registry.AddHandler(RequestNames.StackTrace, RequestHandler.For(handler)); - } - - public static Task RequestStackTrace(this IDebugAdapterClient mediator, StackTraceArguments @params, CancellationToken cancellationToken = default) - { - return mediator.SendRequest(@params, cancellationToken); - } - } } diff --git a/src/Dap.Protocol/Requests/IStepBackHandler.cs b/src/Dap.Protocol/Requests/IStepBackHandler.cs index ada8ec031..3619ab306 100644 --- a/src/Dap.Protocol/Requests/IStepBackHandler.cs +++ b/src/Dap.Protocol/Requests/IStepBackHandler.cs @@ -1,11 +1,12 @@ -using System; using System.Threading; using System.Threading.Tasks; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; namespace OmniSharp.Extensions.DebugAdapter.Protocol.Requests { [Parallel, Method(RequestNames.StepBack, Direction.ClientToServer)] + [GenerateHandlerMethods, GenerateRequestMethods] public interface IStepBackHandler : IJsonRpcRequestHandler { } @@ -14,24 +15,4 @@ public abstract class StepBackHandler : IStepBackHandler { public abstract Task Handle(StepBackArguments request, CancellationToken cancellationToken); } - - public static class StepBackExtensions - { - public static IDebugAdapterServerRegistry OnStepBack(this IDebugAdapterServerRegistry registry, - Func> handler) - { - return registry.AddHandler(RequestNames.StepBack, RequestHandler.For(handler)); - } - - public static IDebugAdapterServerRegistry OnStepBack(this IDebugAdapterServerRegistry registry, - Func> handler) - { - return registry.AddHandler(RequestNames.StepBack, RequestHandler.For(handler)); - } - - public static Task RequestStepBack(this IDebugAdapterClient mediator, StepBackArguments @params, CancellationToken cancellationToken = default) - { - return mediator.SendRequest(@params, cancellationToken); - } - } } diff --git a/src/Dap.Protocol/Requests/IStepInHandler.cs b/src/Dap.Protocol/Requests/IStepInHandler.cs index 20b456501..ea9892276 100644 --- a/src/Dap.Protocol/Requests/IStepInHandler.cs +++ b/src/Dap.Protocol/Requests/IStepInHandler.cs @@ -1,11 +1,12 @@ -using System; using System.Threading; using System.Threading.Tasks; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; namespace OmniSharp.Extensions.DebugAdapter.Protocol.Requests { [Parallel, Method(RequestNames.StepIn, Direction.ClientToServer)] + [GenerateHandlerMethods, GenerateRequestMethods] public interface IStepInHandler : IJsonRpcRequestHandler { } @@ -14,24 +15,4 @@ public abstract class StepInHandler : IStepInHandler { public abstract Task Handle(StepInArguments request, CancellationToken cancellationToken); } - - public static class StepInExtensions - { - public static IDebugAdapterServerRegistry OnStepIn(this IDebugAdapterServerRegistry registry, - Func> handler) - { - return registry.AddHandler(RequestNames.StepIn, RequestHandler.For(handler)); - } - - public static IDebugAdapterServerRegistry OnStepIn(this IDebugAdapterServerRegistry registry, - Func> handler) - { - return registry.AddHandler(RequestNames.StepIn, RequestHandler.For(handler)); - } - - public static Task RequestStepIn(this IDebugAdapterClient mediator, StepInArguments @params, CancellationToken cancellationToken = default) - { - return mediator.SendRequest(@params, cancellationToken); - } - } } diff --git a/src/Dap.Protocol/Requests/IStepInTargetsHandler.cs b/src/Dap.Protocol/Requests/IStepInTargetsHandler.cs index fe4d7f98e..8f65db0cd 100644 --- a/src/Dap.Protocol/Requests/IStepInTargetsHandler.cs +++ b/src/Dap.Protocol/Requests/IStepInTargetsHandler.cs @@ -1,11 +1,12 @@ -using System; using System.Threading; using System.Threading.Tasks; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; namespace OmniSharp.Extensions.DebugAdapter.Protocol.Requests { [Parallel, Method(RequestNames.StepInTargets, Direction.ClientToServer)] + [GenerateHandlerMethods, GenerateRequestMethods] public interface IStepInTargetsHandler : IJsonRpcRequestHandler { } @@ -15,24 +16,4 @@ public abstract class StepInTargetsHandler : IStepInTargetsHandler public abstract Task Handle(StepInTargetsArguments request, CancellationToken cancellationToken); } - - public static class StepInTargetsExtensions - { - public static IDebugAdapterServerRegistry OnStepInTargets(this IDebugAdapterServerRegistry registry, - Func> handler) - { - return registry.AddHandler(RequestNames.StepInTargets, RequestHandler.For(handler)); - } - - public static IDebugAdapterServerRegistry OnStepInTargets(this IDebugAdapterServerRegistry registry, - Func> handler) - { - return registry.AddHandler(RequestNames.StepInTargets, RequestHandler.For(handler)); - } - - public static Task RequestStepInTargets(this IDebugAdapterClient mediator, StepInTargetsArguments @params, CancellationToken cancellationToken = default) - { - return mediator.SendRequest(@params, cancellationToken); - } - } } diff --git a/src/Dap.Protocol/Requests/IStepOutHandler.cs b/src/Dap.Protocol/Requests/IStepOutHandler.cs index a7032c0aa..0c513f90e 100644 --- a/src/Dap.Protocol/Requests/IStepOutHandler.cs +++ b/src/Dap.Protocol/Requests/IStepOutHandler.cs @@ -1,11 +1,12 @@ -using System; using System.Threading; using System.Threading.Tasks; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; namespace OmniSharp.Extensions.DebugAdapter.Protocol.Requests { [Parallel, Method(RequestNames.StepOut, Direction.ClientToServer)] + [GenerateHandlerMethods, GenerateRequestMethods] public interface IStepOutHandler : IJsonRpcRequestHandler { } @@ -14,24 +15,4 @@ public abstract class StepOutHandler : IStepOutHandler { public abstract Task Handle(StepOutArguments request, CancellationToken cancellationToken); } - - public static class StepOutExtensions - { - public static IDebugAdapterServerRegistry OnStepOut(this IDebugAdapterServerRegistry registry, - Func> handler) - { - return registry.AddHandler(RequestNames.StepOut, RequestHandler.For(handler)); - } - - public static IDebugAdapterServerRegistry OnStepOut(this IDebugAdapterServerRegistry registry, - Func> handler) - { - return registry.AddHandler(RequestNames.StepOut, RequestHandler.For(handler)); - } - - public static Task RequestStepOut(this IDebugAdapterClient mediator, StepOutArguments @params, CancellationToken cancellationToken = default) - { - return mediator.SendRequest(@params, cancellationToken); - } - } } diff --git a/src/Dap.Protocol/Requests/ITerminateHandler.cs b/src/Dap.Protocol/Requests/ITerminateHandler.cs index 0c3ed6d30..914c92ea1 100644 --- a/src/Dap.Protocol/Requests/ITerminateHandler.cs +++ b/src/Dap.Protocol/Requests/ITerminateHandler.cs @@ -1,11 +1,12 @@ -using System; using System.Threading; using System.Threading.Tasks; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; namespace OmniSharp.Extensions.DebugAdapter.Protocol.Requests { [Parallel, Method(RequestNames.Terminate, Direction.ClientToServer)] + [GenerateHandlerMethods, GenerateRequestMethods] public interface ITerminateHandler : IJsonRpcRequestHandler { } @@ -14,24 +15,4 @@ public abstract class TerminateHandler : ITerminateHandler { public abstract Task Handle(TerminateArguments request, CancellationToken cancellationToken); } - - public static class TerminateExtensions - { - public static IDebugAdapterServerRegistry OnTerminate(this IDebugAdapterServerRegistry registry, - Func> handler) - { - return registry.AddHandler(RequestNames.Terminate, RequestHandler.For(handler)); - } - - public static IDebugAdapterServerRegistry OnTerminate(this IDebugAdapterServerRegistry registry, - Func> handler) - { - return registry.AddHandler(RequestNames.Terminate, RequestHandler.For(handler)); - } - - public static Task RequestTerminate(this IDebugAdapterClient mediator, TerminateArguments @params, CancellationToken cancellationToken = default) - { - return mediator.SendRequest(@params, cancellationToken); - } - } } diff --git a/src/Dap.Protocol/Requests/ITerminateThreadsHandler.cs b/src/Dap.Protocol/Requests/ITerminateThreadsHandler.cs index 6f5b613ee..106b6b8a7 100644 --- a/src/Dap.Protocol/Requests/ITerminateThreadsHandler.cs +++ b/src/Dap.Protocol/Requests/ITerminateThreadsHandler.cs @@ -1,13 +1,13 @@ -using System; using System.Threading; using System.Threading.Tasks; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; namespace OmniSharp.Extensions.DebugAdapter.Protocol.Requests { [Parallel, Method(RequestNames.TerminateThreads, Direction.ClientToServer)] - public interface - ITerminateThreadsHandler : IJsonRpcRequestHandler + [GenerateHandlerMethods, GenerateRequestMethods] + public interface ITerminateThreadsHandler : IJsonRpcRequestHandler { } @@ -16,24 +16,4 @@ public abstract class TerminateThreadsHandler : ITerminateThreadsHandler public abstract Task Handle(TerminateThreadsArguments request, CancellationToken cancellationToken); } - - public static class TerminateThreadsExtensions - { - public static IDebugAdapterServerRegistry OnTerminateThreads(this IDebugAdapterServerRegistry registry, - Func> handler) - { - return registry.AddHandler(RequestNames.TerminateThreads, RequestHandler.For(handler)); - } - - public static IDebugAdapterServerRegistry OnTerminateThreads(this IDebugAdapterServerRegistry registry, - Func> handler) - { - return registry.AddHandler(RequestNames.TerminateThreads, RequestHandler.For(handler)); - } - - public static Task RequestTerminateThreads(this IDebugAdapterClient mediator, TerminateThreadsArguments @params, CancellationToken cancellationToken = default) - { - return mediator.SendRequest(@params, cancellationToken); - } - } } diff --git a/src/Dap.Protocol/Requests/IThreadsHandler.cs b/src/Dap.Protocol/Requests/IThreadsHandler.cs index 46b80f978..db70d9786 100644 --- a/src/Dap.Protocol/Requests/IThreadsHandler.cs +++ b/src/Dap.Protocol/Requests/IThreadsHandler.cs @@ -1,11 +1,12 @@ -using System; using System.Threading; using System.Threading.Tasks; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; namespace OmniSharp.Extensions.DebugAdapter.Protocol.Requests { [Parallel, Method(RequestNames.Threads, Direction.ClientToServer)] + [GenerateHandlerMethods, GenerateRequestMethods] public interface IThreadsHandler : IJsonRpcRequestHandler { } @@ -14,24 +15,4 @@ public abstract class ThreadsHandler : IThreadsHandler { public abstract Task Handle(ThreadsArguments request, CancellationToken cancellationToken); } - - public static class ThreadsExtensions - { - public static IDebugAdapterServerRegistry OnThreads(this IDebugAdapterServerRegistry registry, - Func> handler) - { - return registry.AddHandler(RequestNames.Threads, RequestHandler.For(handler)); - } - - public static IDebugAdapterServerRegistry OnThreads(this IDebugAdapterServerRegistry registry, - Func> handler) - { - return registry.AddHandler(RequestNames.Threads, RequestHandler.For(handler)); - } - - public static Task RequestThreads(this IDebugAdapterClient mediator, ThreadsArguments @params, CancellationToken cancellationToken = default) - { - return mediator.SendRequest(@params, cancellationToken); - } - } } diff --git a/src/Protocol/AbstractHandlers.cs b/src/Protocol/AbstractHandlers.cs index ad14fbaff..5b418cd8c 100644 --- a/src/Protocol/AbstractHandlers.cs +++ b/src/Protocol/AbstractHandlers.cs @@ -47,7 +47,6 @@ public abstract class PartialResult, CancellationToken> handler, TRegistrationOptions registrationOptions, IProgressManager progressManager, Func factory) diff --git a/src/Protocol/Client/Capabilities/FoldingRangeCapability.cs b/src/Protocol/Client/Capabilities/FoldingRangeCapability.cs index 57810101d..4cfde7ce2 100644 --- a/src/Protocol/Client/Capabilities/FoldingRangeCapability.cs +++ b/src/Protocol/Client/Capabilities/FoldingRangeCapability.cs @@ -1,5 +1,5 @@ -using OmniSharp.Extensions.LanguageServer.Protocol.Serialization; -using OmniSharp.Extensions.LanguageServer.Server; +using OmniSharp.Extensions.LanguageServer.Protocol.Document; +using OmniSharp.Extensions.LanguageServer.Protocol.Serialization; namespace OmniSharp.Extensions.LanguageServer.Protocol.Client.Capabilities { diff --git a/src/Protocol/Client/Capabilities/SelectionRangeCapability.cs b/src/Protocol/Client/Capabilities/SelectionRangeCapability.cs index 70188a31e..b8372c88d 100644 --- a/src/Protocol/Client/Capabilities/SelectionRangeCapability.cs +++ b/src/Protocol/Client/Capabilities/SelectionRangeCapability.cs @@ -1,5 +1,5 @@ -using OmniSharp.Extensions.LanguageServer.Protocol.Serialization; -using OmniSharp.Extensions.LanguageServer.Server; +using OmniSharp.Extensions.LanguageServer.Protocol.Document; +using OmniSharp.Extensions.LanguageServer.Protocol.Serialization; namespace OmniSharp.Extensions.LanguageServer.Protocol.Client.Capabilities { diff --git a/src/Protocol/Client/ILanguageClientRegistry.cs b/src/Protocol/Client/ILanguageClientRegistry.cs index 093470482..d0043704c 100644 --- a/src/Protocol/Client/ILanguageClientRegistry.cs +++ b/src/Protocol/Client/ILanguageClientRegistry.cs @@ -1,6 +1,4 @@ -using System; using OmniSharp.Extensions.JsonRpc; -using OmniSharp.Extensions.LanguageServer.Protocol.Document; namespace OmniSharp.Extensions.LanguageServer.Protocol.Client { diff --git a/src/Protocol/Client/IRegisterCapabilityHandler.cs b/src/Protocol/Client/IRegisterCapabilityHandler.cs index d5ba9a09a..0afa0b92b 100644 --- a/src/Protocol/Client/IRegisterCapabilityHandler.cs +++ b/src/Protocol/Client/IRegisterCapabilityHandler.cs @@ -1,14 +1,15 @@ -using System; using System.Threading; using System.Threading.Tasks; using MediatR; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; using OmniSharp.Extensions.LanguageServer.Protocol.Models; using OmniSharp.Extensions.LanguageServer.Protocol.Server; namespace OmniSharp.Extensions.LanguageServer.Protocol.Client { [Serial, Method(ClientNames.RegisterCapability, Direction.ServerToClient)] + [GenerateHandlerMethods, GenerateRequestMethods(typeof(IClientLanguageServer), typeof(ILanguageServer))] public interface IRegisterCapabilityHandler : IJsonRpcRequestHandler { } @@ -17,24 +18,4 @@ public abstract class RegisterCapabilityHandler : IRegisterCapabilityHandler { public abstract Task Handle(RegistrationParams request, CancellationToken cancellationToken); } - - public static class RegisterCapabilityExtensions - { - public static ILanguageClientRegistry OnRegisterCapability(this ILanguageClientRegistry registry, - Func handler) - { - return registry.AddHandler(ClientNames.RegisterCapability, RequestHandler.For(handler)); - } - - public static ILanguageClientRegistry OnRegisterCapability(this ILanguageClientRegistry registry, - Func handler) - { - return registry.AddHandler(ClientNames.RegisterCapability, RequestHandler.For(handler)); - } - - public static Task RegisterCapability(this IClientLanguageServer mediator, RegistrationParams @params, CancellationToken cancellationToken = default) - { - return mediator.SendRequest(@params, cancellationToken); - } - } } diff --git a/src/Protocol/Client/IUnregisterCapabilityHandler.cs b/src/Protocol/Client/IUnregisterCapabilityHandler.cs index 5075c05de..7354eefd5 100644 --- a/src/Protocol/Client/IUnregisterCapabilityHandler.cs +++ b/src/Protocol/Client/IUnregisterCapabilityHandler.cs @@ -1,38 +1,19 @@ -using System; using System.Threading; using System.Threading.Tasks; using MediatR; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; using OmniSharp.Extensions.LanguageServer.Protocol.Models; using OmniSharp.Extensions.LanguageServer.Protocol.Server; namespace OmniSharp.Extensions.LanguageServer.Protocol.Client { [Serial, Method(ClientNames.UnregisterCapability, Direction.ServerToClient)] + [GenerateHandlerMethods, GenerateRequestMethods(typeof(IClientLanguageServer), typeof(ILanguageServer))] public interface IUnregisterCapabilityHandler : IJsonRpcRequestHandler { } public abstract class UnregisterCapabilityHandler : IUnregisterCapabilityHandler { public abstract Task Handle(UnregistrationParams request, CancellationToken cancellationToken); } - - public static class UnregisterCapabilityExtensions - { - public static ILanguageClientRegistry OnUnregisterCapability(this ILanguageClientRegistry registry, - Func handler) - { - return registry.AddHandler(ClientNames.UnregisterCapability, RequestHandler.For(handler)); - } - - public static ILanguageClientRegistry OnUnregisterCapability(this ILanguageClientRegistry registry, - Func handler) - { - return registry.AddHandler(ClientNames.UnregisterCapability, RequestHandler.For(handler)); - } - - public static Task UnregisterCapability(this IClientLanguageServer mediator, UnregistrationParams @params, CancellationToken cancellationToken = default) - { - return mediator.SendRequest(@params, cancellationToken); - } - } } diff --git a/src/Protocol/Client/WorkDone/ClientWorkDoneManager.cs b/src/Protocol/Client/WorkDone/ClientWorkDoneManager.cs index c5cc17f12..60356350c 100644 --- a/src/Protocol/Client/WorkDone/ClientWorkDoneManager.cs +++ b/src/Protocol/Client/WorkDone/ClientWorkDoneManager.cs @@ -1,6 +1,5 @@ using System; using System.Collections.Concurrent; -using System.Collections.Immutable; using System.Reactive.Disposables; using System.Threading; using System.Threading.Tasks; diff --git a/src/Protocol/Document/ICodeActionHandler.cs b/src/Protocol/Document/ICodeActionHandler.cs index 496bb2580..504ca48c1 100644 --- a/src/Protocol/Document/ICodeActionHandler.cs +++ b/src/Protocol/Document/ICodeActionHandler.cs @@ -1,18 +1,15 @@ -using System; -using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; -using Microsoft.Extensions.DependencyInjection; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; using OmniSharp.Extensions.LanguageServer.Protocol.Client; using OmniSharp.Extensions.LanguageServer.Protocol.Client.Capabilities; using OmniSharp.Extensions.LanguageServer.Protocol.Models; -using OmniSharp.Extensions.LanguageServer.Protocol.Progress; -using OmniSharp.Extensions.LanguageServer.Protocol.Server; namespace OmniSharp.Extensions.LanguageServer.Protocol.Document { [Parallel, Method(TextDocumentNames.CodeAction, Direction.ClientToServer)] + [GenerateHandlerMethods, GenerateRequestMethods(typeof(ITextDocumentLanguageClient), typeof(ILanguageClient))] public interface ICodeActionHandler : IJsonRpcRequestHandler, IRegistration, ICapability { @@ -35,96 +32,4 @@ public abstract Task Handle(CodeActionParams reque public virtual void SetCapability(CodeActionCapability capability) => Capability = capability; protected CodeActionCapability Capability { get; private set; } } - - public static class CodeActionExtensions - { -public static ILanguageServerRegistry OnCodeAction(this ILanguageServerRegistry registry, - Func> - handler, - CodeActionRegistrationOptions registrationOptions) - { - registrationOptions ??= new CodeActionRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.CodeAction, - new LanguageProtocolDelegatingHandlers.Request(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnCodeAction(this ILanguageServerRegistry registry, - Func> handler, - CodeActionRegistrationOptions registrationOptions) - { - registrationOptions ??= new CodeActionRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.CodeAction, - new LanguageProtocolDelegatingHandlers.RequestRegistration(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnCodeAction(this ILanguageServerRegistry registry, - Func> handler, - CodeActionRegistrationOptions registrationOptions) - { - registrationOptions ??= new CodeActionRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.CodeAction, - new LanguageProtocolDelegatingHandlers.RequestRegistration(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnCodeAction(this ILanguageServerRegistry registry, - Action>, CodeActionCapability, - CancellationToken> handler, - CodeActionRegistrationOptions registrationOptions) - { - registrationOptions ??= new CodeActionRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.CodeAction, - _ => - new LanguageProtocolDelegatingHandlers.PartialResults(handler, - registrationOptions, _.GetService(), x => new CommandOrCodeActionContainer(x))); - } - -public static ILanguageServerRegistry OnCodeAction(this ILanguageServerRegistry registry, - Action>, CodeActionCapability> - handler, - CodeActionRegistrationOptions registrationOptions) - { - registrationOptions ??= new CodeActionRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.CodeAction, - _ => - new LanguageProtocolDelegatingHandlers.PartialResults(handler, - registrationOptions, _.GetService(), x => new CommandOrCodeActionContainer(x))); - } - -public static ILanguageServerRegistry OnCodeAction(this ILanguageServerRegistry registry, - Action>, CancellationToken> handler, - CodeActionRegistrationOptions registrationOptions) - { - registrationOptions ??= new CodeActionRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.CodeAction, - _ => - new LanguageProtocolDelegatingHandlers.PartialResults(handler, registrationOptions, - _.GetService(), x => new CommandOrCodeActionContainer(x))); - } - -public static ILanguageServerRegistry OnCodeAction(this ILanguageServerRegistry registry, - Action>> handler, - CodeActionRegistrationOptions registrationOptions) - { - registrationOptions ??= new CodeActionRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.CodeAction, - _ => - new LanguageProtocolDelegatingHandlers.PartialResults(handler, registrationOptions, - _.GetService(), x => new CommandOrCodeActionContainer(x))); - } - - public static IRequestProgressObservable, CommandOrCodeActionContainer> RequestCodeAction( - this ITextDocumentLanguageClient mediator, - CodeActionParams @params, - CancellationToken cancellationToken = default) - { - return mediator.ProgressManager.MonitorUntil(@params, x => new CommandOrCodeActionContainer(x), cancellationToken); - } - } } diff --git a/src/Protocol/Document/ICodeLensHandler.cs b/src/Protocol/Document/ICodeLensHandler.cs index 653fb732c..47cf37f28 100644 --- a/src/Protocol/Document/ICodeLensHandler.cs +++ b/src/Protocol/Document/ICodeLensHandler.cs @@ -1,10 +1,10 @@ using System; using System.Collections.Generic; -using System.Reactive.Disposables; using System.Threading; using System.Threading.Tasks; using Microsoft.Extensions.DependencyInjection; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; using OmniSharp.Extensions.LanguageServer.Protocol.Client; using OmniSharp.Extensions.LanguageServer.Protocol.Client.Capabilities; using OmniSharp.Extensions.LanguageServer.Protocol.Models; @@ -14,11 +14,13 @@ namespace OmniSharp.Extensions.LanguageServer.Protocol.Document { [Parallel, Method(TextDocumentNames.CodeLens, Direction.ClientToServer)] + [GenerateHandlerMethods, GenerateRequestMethods(typeof(ITextDocumentLanguageClient), typeof(ILanguageClient))] public interface ICodeLensHandler : IJsonRpcRequestHandler, IRegistration, ICapability { } [Parallel, Method(TextDocumentNames.CodeLensResolve, Direction.ClientToServer)] + [GenerateRequestMethods(typeof(ITextDocumentLanguageClient), typeof(ILanguageClient))] public interface ICodeLensResolveHandler : ICanBeResolvedHandler { } @@ -40,21 +42,8 @@ public CodeLensHandler(CodeLensRegistrationOptions registrationOptions) protected CodeLensCapability Capability { get; private set; } } - public static class CodeLensExtensions + public static partial class CodeLensExtensions { - public static ILanguageServerRegistry OnCodeLens(this ILanguageServerRegistry registry, - Func> handler, - CodeLensRegistrationOptions registrationOptions) - { - registrationOptions ??= new CodeLensRegistrationOptions(); - - return registry.AddHandler(TextDocumentNames.CodeLens, - new LanguageProtocolDelegatingHandlers.Request( - handler, - registrationOptions)); - } - public static ILanguageServerRegistry OnCodeLens(this ILanguageServerRegistry registry, Func> handler, Func canResolve, @@ -79,19 +68,6 @@ public static ILanguageServerRegistry OnCodeLens(this ILanguageServerRegistry re ; } - public static ILanguageServerRegistry OnCodeLens(this ILanguageServerRegistry registry, - Func> handler, - CodeLensRegistrationOptions registrationOptions) - { - registrationOptions ??= new CodeLensRegistrationOptions(); - - return registry.AddHandler(TextDocumentNames.CodeLens, - new LanguageProtocolDelegatingHandlers.RequestRegistration( - handler, - registrationOptions)); - } - public static ILanguageServerRegistry OnCodeLens(this ILanguageServerRegistry registry, Func> handler, Func canResolve, @@ -116,19 +92,6 @@ public static ILanguageServerRegistry OnCodeLens(this ILanguageServerRegistry re ; } - public static ILanguageServerRegistry OnCodeLens(this ILanguageServerRegistry registry, - Func> handler, - CodeLensRegistrationOptions registrationOptions) - { - registrationOptions ??= new CodeLensRegistrationOptions(); - - return registry.AddHandler(TextDocumentNames.CodeLens, - new LanguageProtocolDelegatingHandlers.RequestRegistration( - handler, - registrationOptions)); - } - public static ILanguageServerRegistry OnCodeLens(this ILanguageServerRegistry registry, Func> handler, Func canResolve, @@ -153,21 +116,6 @@ public static ILanguageServerRegistry OnCodeLens(this ILanguageServerRegistry re ; } - public static ILanguageServerRegistry OnCodeLens(this ILanguageServerRegistry registry, - Action>, CodeLensCapability, CancellationToken> handler, - CodeLensRegistrationOptions registrationOptions) - { - registrationOptions ??= new CodeLensRegistrationOptions(); - - return registry.AddHandler(TextDocumentNames.CodeLens, - _ => new LanguageProtocolDelegatingHandlers.PartialResults( - handler, - registrationOptions, - _.GetRequiredService(), - x => new CodeLensContainer(x))); - } - public static ILanguageServerRegistry OnCodeLens(this ILanguageServerRegistry registry, Action>, CodeLensCapability, CancellationToken> handler, Func canResolve, @@ -195,21 +143,6 @@ public static ILanguageServerRegistry OnCodeLens(this ILanguageServerRegistry re ; } - public static ILanguageServerRegistry OnCodeLens(this ILanguageServerRegistry registry, - Action>, CancellationToken> handler, - CodeLensRegistrationOptions registrationOptions) - { - registrationOptions ??= new CodeLensRegistrationOptions(); - - return registry.AddHandler(TextDocumentNames.CodeLens, - _ => new LanguageProtocolDelegatingHandlers.PartialResults( - handler, - registrationOptions, - _.GetRequiredService(), - x => new CodeLensContainer(x))); - } - public static ILanguageServerRegistry OnCodeLens(this ILanguageServerRegistry registry, Action>, CancellationToken> handler, Func canResolve, @@ -236,21 +169,6 @@ public static ILanguageServerRegistry OnCodeLens(this ILanguageServerRegistry re ; } - public static ILanguageServerRegistry OnCodeLens(this ILanguageServerRegistry registry, - Action>> handler, - CodeLensRegistrationOptions registrationOptions) - { - registrationOptions ??= new CodeLensRegistrationOptions(); - - return registry.AddHandler(TextDocumentNames.CodeLens, - _ => new LanguageProtocolDelegatingHandlers.PartialResults( - handler, - registrationOptions, - _.GetRequiredService(), - x => new CodeLensContainer(x))); - } - public static ILanguageServerRegistry OnCodeLens(this ILanguageServerRegistry registry, Action>> handler, Func canResolve, @@ -276,18 +194,5 @@ public static ILanguageServerRegistry OnCodeLens(this ILanguageServerRegistry re registrationOptions)) ; } - - public static IRequestProgressObservable, CodeLensContainer> RequestCodeLens( - this ITextDocumentLanguageClient mediator, - CodeLensParams @params, - CancellationToken cancellationToken = default) - { - return mediator.ProgressManager.MonitorUntil(@params, x => new CodeLensContainer(x), cancellationToken); - } - - public static Task ResolveCodeLens(this ITextDocumentLanguageClient mediator, CodeLens @params, CancellationToken cancellationToken = default) - { - return mediator.SendRequest(@params, cancellationToken); - } } } diff --git a/src/Protocol/Document/IColorPresentationHandler.cs b/src/Protocol/Document/IColorPresentationHandler.cs index 97fbcd840..bfeb7d16d 100644 --- a/src/Protocol/Document/IColorPresentationHandler.cs +++ b/src/Protocol/Document/IColorPresentationHandler.cs @@ -1,15 +1,15 @@ -using System; using System.Threading; using System.Threading.Tasks; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; using OmniSharp.Extensions.LanguageServer.Protocol.Client; using OmniSharp.Extensions.LanguageServer.Protocol.Client.Capabilities; using OmniSharp.Extensions.LanguageServer.Protocol.Models; -using OmniSharp.Extensions.LanguageServer.Protocol.Server; namespace OmniSharp.Extensions.LanguageServer.Protocol.Document { [Parallel, Method(TextDocumentNames.ColorPresentation, Direction.ClientToServer)] + [GenerateHandlerMethods, GenerateRequestMethods(typeof(ITextDocumentLanguageClient), typeof(ILanguageClient))] public interface IColorPresentationHandler : IJsonRpcRequestHandler>, IRegistration, ICapability { } public abstract class ColorPresentationHandler : IColorPresentationHandler @@ -25,43 +25,4 @@ public ColorPresentationHandler(DocumentColorRegistrationOptions registrationOpt public virtual void SetCapability(ColorProviderCapability capability) => Capability = capability; protected ColorProviderCapability Capability { get; private set; } } - - public static class ColorPresentationExtensions - { -public static ILanguageServerRegistry OnColorPresentation(this ILanguageServerRegistry registry, - Func>> - handler, - DocumentColorRegistrationOptions registrationOptions) - { - registrationOptions ??= new DocumentColorRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.ColorPresentation, - new LanguageProtocolDelegatingHandlers.Request, ColorProviderCapability, - DocumentColorRegistrationOptions>(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnColorPresentation(this ILanguageServerRegistry registry, - Func>> handler, - DocumentColorRegistrationOptions registrationOptions) - { - registrationOptions ??= new DocumentColorRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.ColorPresentation, - new LanguageProtocolDelegatingHandlers.RequestRegistration, - DocumentColorRegistrationOptions>(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnColorPresentation(this ILanguageServerRegistry registry, - Func>> handler, - DocumentColorRegistrationOptions registrationOptions) - { - registrationOptions ??= new DocumentColorRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.ColorPresentation, - new LanguageProtocolDelegatingHandlers.RequestRegistration, - DocumentColorRegistrationOptions>(handler, registrationOptions)); - } - - public static Task> RequestColorPresentation(this ITextDocumentLanguageClient mediator, ColorPresentationParams @params, CancellationToken cancellationToken = default) - { - return mediator.SendRequest(@params, cancellationToken); - } - } } diff --git a/src/Protocol/Document/ICompletionHandler.cs b/src/Protocol/Document/ICompletionHandler.cs index 0131434b7..8bd48aecb 100644 --- a/src/Protocol/Document/ICompletionHandler.cs +++ b/src/Protocol/Document/ICompletionHandler.cs @@ -1,10 +1,10 @@ using System; using System.Collections.Generic; -using System.Reactive.Disposables; using System.Threading; using System.Threading.Tasks; using Microsoft.Extensions.DependencyInjection; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; using OmniSharp.Extensions.LanguageServer.Protocol.Client; using OmniSharp.Extensions.LanguageServer.Protocol.Client.Capabilities; using OmniSharp.Extensions.LanguageServer.Protocol.Models; @@ -14,11 +14,13 @@ namespace OmniSharp.Extensions.LanguageServer.Protocol.Document { [Parallel, Method(TextDocumentNames.Completion, Direction.ClientToServer)] + [GenerateHandlerMethods, GenerateRequestMethods(typeof(ITextDocumentLanguageClient), typeof(ILanguageClient))] public interface ICompletionHandler : IJsonRpcRequestHandler, IRegistration, ICapability { } [Parallel, Method(TextDocumentNames.CompletionResolve, Direction.ClientToServer)] + [GenerateRequestMethods(typeof(ITextDocumentLanguageClient), typeof(ILanguageClient))] public interface ICompletionResolveHandler : ICanBeResolvedHandler { } @@ -40,22 +42,8 @@ public CompletionHandler(CompletionRegistrationOptions registrationOptions) protected CompletionCapability Capability { get; private set; } } - public static class CompletionExtensions + public static partial class CompletionExtensions { - public static ILanguageServerRegistry OnCompletion( - this ILanguageServerRegistry registry, - Func> handler, - CompletionRegistrationOptions registrationOptions) - { - registrationOptions ??= new CompletionRegistrationOptions(); - - return registry.AddHandler(TextDocumentNames.Completion, - new LanguageProtocolDelegatingHandlers.Request( - handler, - registrationOptions)); - } - public static ILanguageServerRegistry OnCompletion( this ILanguageServerRegistry registry, Func> handler, @@ -82,19 +70,6 @@ public static ILanguageServerRegistry OnCompletion( registrationOptions)); } - public static ILanguageServerRegistry OnCompletion(this ILanguageServerRegistry registry, - Func> handler, - CompletionRegistrationOptions registrationOptions) - { - registrationOptions ??= new CompletionRegistrationOptions(); - - return registry.AddHandler(TextDocumentNames.Completion, - new LanguageProtocolDelegatingHandlers.RequestRegistration( - handler, - registrationOptions)); - } - public static ILanguageServerRegistry OnCompletion(this ILanguageServerRegistry registry, Func> handler, Func canResolve, @@ -119,19 +94,6 @@ public static ILanguageServerRegistry OnCompletion(this ILanguageServerRegistry registrationOptions)); } - public static ILanguageServerRegistry OnCompletion(this ILanguageServerRegistry registry, - Func> handler, - CompletionRegistrationOptions registrationOptions) - { - registrationOptions ??= new CompletionRegistrationOptions(); - - return registry.AddHandler(TextDocumentNames.Completion, - new LanguageProtocolDelegatingHandlers.RequestRegistration( - handler, - registrationOptions)); - } - public static ILanguageServerRegistry OnCompletion(this ILanguageServerRegistry registry, Func> handler, Func canResolve, @@ -157,21 +119,6 @@ public static ILanguageServerRegistry OnCompletion(this ILanguageServerRegistry registrationOptions)); } - public static ILanguageServerRegistry OnCompletion(this ILanguageServerRegistry registry, - Action>, CompletionCapability, CancellationToken> handler, - CompletionRegistrationOptions registrationOptions) - { - registrationOptions ??= new CompletionRegistrationOptions(); - - return registry.AddHandler(TextDocumentNames.Completion, - _ => new LanguageProtocolDelegatingHandlers.PartialResults( - handler, - registrationOptions, - _.GetRequiredService(), - x => new CompletionList(x))); - } - public static ILanguageServerRegistry OnCompletion(this ILanguageServerRegistry registry, Action>, CompletionCapability, CancellationToken> handler, Func canResolve, @@ -198,21 +145,6 @@ public static ILanguageServerRegistry OnCompletion(this ILanguageServerRegistry registrationOptions)); } - public static ILanguageServerRegistry OnCompletion(this ILanguageServerRegistry registry, - Action>, CancellationToken> handler, - CompletionRegistrationOptions registrationOptions) - { - registrationOptions ??= new CompletionRegistrationOptions(); - - return registry.AddHandler(TextDocumentNames.Completion, - _ => new LanguageProtocolDelegatingHandlers.PartialResults( - handler, - registrationOptions, - _.GetRequiredService(), - x => new CompletionList(x))); - } - public static ILanguageServerRegistry OnCompletion(this ILanguageServerRegistry registry, Action>, CancellationToken> handler, Func canResolve, @@ -238,21 +170,6 @@ public static ILanguageServerRegistry OnCompletion(this ILanguageServerRegistry registrationOptions)); } - public static ILanguageServerRegistry OnCompletion(this ILanguageServerRegistry registry, - Action>> handler, - CompletionRegistrationOptions registrationOptions) - { - registrationOptions ??= new CompletionRegistrationOptions(); - - return registry.AddHandler(TextDocumentNames.Completion, - _ => new LanguageProtocolDelegatingHandlers.PartialResults( - handler, - registrationOptions, - _.GetRequiredService(), - x => new CompletionList(x))); - } - public static ILanguageServerRegistry OnCompletion(this ILanguageServerRegistry registry, Action>> handler, Func canResolve, @@ -277,16 +194,5 @@ public static ILanguageServerRegistry OnCompletion(this ILanguageServerRegistry canResolve, registrationOptions)); } - - public static IRequestProgressObservable, CompletionList> RequestCompletion(this ITextDocumentLanguageClient mediator, CompletionParams @params, - CancellationToken cancellationToken = default) - { - return mediator.ProgressManager.MonitorUntil(@params, x => new CompletionList(x), cancellationToken); - } - - public static Task ResolveCompletion(this ITextDocumentLanguageClient mediator, CompletionItem @params, CancellationToken cancellationToken = default) - { - return mediator.SendRequest(@params, cancellationToken); - } } } diff --git a/src/Protocol/Document/IDeclarationHandler.cs b/src/Protocol/Document/IDeclarationHandler.cs index a62ece19b..7d415bcdf 100644 --- a/src/Protocol/Document/IDeclarationHandler.cs +++ b/src/Protocol/Document/IDeclarationHandler.cs @@ -1,18 +1,15 @@ -using System; -using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; -using Microsoft.Extensions.DependencyInjection; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; using OmniSharp.Extensions.LanguageServer.Protocol.Client; using OmniSharp.Extensions.LanguageServer.Protocol.Client.Capabilities; using OmniSharp.Extensions.LanguageServer.Protocol.Models; -using OmniSharp.Extensions.LanguageServer.Protocol.Progress; -using OmniSharp.Extensions.LanguageServer.Protocol.Server; namespace OmniSharp.Extensions.LanguageServer.Protocol.Document { [Parallel, Method(TextDocumentNames.Declaration, Direction.ClientToServer)] + [GenerateHandlerMethods, GenerateRequestMethods(typeof(ITextDocumentLanguageClient), typeof(ILanguageClient))] public interface IDeclarationHandler : IJsonRpcRequestHandler, IRegistration, ICapability { } public abstract class DeclarationHandler : IDeclarationHandler @@ -28,111 +25,4 @@ public DeclarationHandler(DeclarationRegistrationOptions registrationOptions) public virtual void SetCapability(DeclarationCapability capability) => Capability = capability; protected DeclarationCapability Capability { get; private set; } } - - public static class DeclarationExtensions - { -public static ILanguageServerRegistry OnDeclaration(this ILanguageServerRegistry registry, - Func> - handler, - DeclarationRegistrationOptions registrationOptions) - { - registrationOptions ??= new DeclarationRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.Declaration, - new LanguageProtocolDelegatingHandlers.Request(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnDeclaration(this ILanguageServerRegistry registry, - Func> handler, - DeclarationRegistrationOptions registrationOptions) - { - registrationOptions ??= new DeclarationRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.Declaration, - new LanguageProtocolDelegatingHandlers.Request(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnDeclaration(this ILanguageServerRegistry registry, - Func> handler, - DeclarationRegistrationOptions registrationOptions) - { - registrationOptions ??= new DeclarationRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.Declaration, - new LanguageProtocolDelegatingHandlers.RequestRegistration(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnDeclaration(this ILanguageServerRegistry registry, - Func> handler, - DeclarationRegistrationOptions registrationOptions) - { - registrationOptions ??= new DeclarationRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.Declaration, - new LanguageProtocolDelegatingHandlers.RequestRegistration(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnDeclaration(this ILanguageServerRegistry registry, - Action>, DeclarationCapability, - CancellationToken> handler, - DeclarationRegistrationOptions registrationOptions) - { - registrationOptions ??= new DeclarationRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.Declaration, - _ => - new LanguageProtocolDelegatingHandlers.PartialResults(handler, - registrationOptions, _.GetService(), - x => new LocationOrLocationLinks(x))); - } - -public static ILanguageServerRegistry OnDeclaration(this ILanguageServerRegistry registry, - Action>, DeclarationCapability> - handler, - DeclarationRegistrationOptions registrationOptions) - { - registrationOptions ??= new DeclarationRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.Declaration, - _ => - new LanguageProtocolDelegatingHandlers.PartialResults(handler, - registrationOptions, _.GetService(), - x => new LocationOrLocationLinks(x) - )); - } - -public static ILanguageServerRegistry OnDeclaration(this ILanguageServerRegistry registry, - Action>, CancellationToken> handler, - DeclarationRegistrationOptions registrationOptions) - { - registrationOptions ??= new DeclarationRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.Declaration, - _ => - new LanguageProtocolDelegatingHandlers.PartialResults(handler, registrationOptions, - _.GetService(), - x => new LocationOrLocationLinks(x))); - } - -public static ILanguageServerRegistry OnDeclaration(this ILanguageServerRegistry registry, - Action>> handler, - DeclarationRegistrationOptions registrationOptions) - { - registrationOptions ??= new DeclarationRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.Declaration, - _ => - new LanguageProtocolDelegatingHandlers.PartialResults(handler, registrationOptions, - _.GetService(), - x => new LocationOrLocationLinks(x))); - } - - public static IRequestProgressObservable, LocationOrLocationLinks> RequestDeclaration( - this ITextDocumentLanguageClient mediator, - DeclarationParams @params, - CancellationToken cancellationToken = default) - { - return mediator.ProgressManager.MonitorUntil(@params, x => new LocationOrLocationLinks(x), cancellationToken); - } - } } diff --git a/src/Protocol/Document/IDefinitionHandler.cs b/src/Protocol/Document/IDefinitionHandler.cs index c2210a35a..1c097f018 100644 --- a/src/Protocol/Document/IDefinitionHandler.cs +++ b/src/Protocol/Document/IDefinitionHandler.cs @@ -4,6 +4,7 @@ using System.Threading.Tasks; using Microsoft.Extensions.DependencyInjection; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; using OmniSharp.Extensions.LanguageServer.Protocol.Client; using OmniSharp.Extensions.LanguageServer.Protocol.Client.Capabilities; using OmniSharp.Extensions.LanguageServer.Protocol.Models; @@ -13,11 +14,16 @@ namespace OmniSharp.Extensions.LanguageServer.Protocol.Document { [Parallel, Method(TextDocumentNames.Definition, Direction.ClientToServer)] - public interface IDefinitionHandler : IJsonRpcRequestHandler, IRegistration, ICapability { } + [GenerateHandlerMethods, GenerateRequestMethods(typeof(ITextDocumentLanguageClient), typeof(ILanguageClient))] + public interface IDefinitionHandler : IJsonRpcRequestHandler, IRegistration, + ICapability + { + } public abstract class DefinitionHandler : IDefinitionHandler { private readonly DefinitionRegistrationOptions _options; + public DefinitionHandler(DefinitionRegistrationOptions registrationOptions) { _options = registrationOptions; @@ -28,100 +34,4 @@ public DefinitionHandler(DefinitionRegistrationOptions registrationOptions) public virtual void SetCapability(DefinitionCapability capability) => Capability = capability; protected DefinitionCapability Capability { get; private set; } } - - public static class DefinitionExtensions - { -public static ILanguageServerRegistry OnDefinition(this ILanguageServerRegistry registry, - Func> - handler, - DefinitionRegistrationOptions registrationOptions) - { - registrationOptions ??= new DefinitionRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.Definition, - new LanguageProtocolDelegatingHandlers.Request(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnDefinition(this ILanguageServerRegistry registry, - Func> handler, - DefinitionRegistrationOptions registrationOptions) - { - registrationOptions ??= new DefinitionRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.Definition, - new LanguageProtocolDelegatingHandlers.RequestRegistration(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnDefinition(this ILanguageServerRegistry registry, - Func> handler, - DefinitionRegistrationOptions registrationOptions) - { - registrationOptions ??= new DefinitionRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.Definition, - new LanguageProtocolDelegatingHandlers.RequestRegistration(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnDefinition(this ILanguageServerRegistry registry, - Action>, DefinitionCapability, - CancellationToken> handler, - DefinitionRegistrationOptions registrationOptions) - { - registrationOptions ??= new DefinitionRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.Definition, - _ => - new LanguageProtocolDelegatingHandlers.PartialResults(handler, - registrationOptions, _.GetService(), - x => new LocationOrLocationLinks(x))); - } - -public static ILanguageServerRegistry OnDefinition(this ILanguageServerRegistry registry, - Action>, DefinitionCapability> - handler, - DefinitionRegistrationOptions registrationOptions) - { - registrationOptions ??= new DefinitionRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.Definition, - _ => - new LanguageProtocolDelegatingHandlers.PartialResults(handler, - registrationOptions, _.GetService(), - x => new LocationOrLocationLinks(x))); - } - -public static ILanguageServerRegistry OnDefinition(this ILanguageServerRegistry registry, - Action>, CancellationToken> handler, - DefinitionRegistrationOptions registrationOptions) - { - registrationOptions ??= new DefinitionRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.Definition, - _ => - new LanguageProtocolDelegatingHandlers.PartialResults(handler, registrationOptions, - _.GetService(), - x => new LocationOrLocationLinks(x))); - } - -public static ILanguageServerRegistry OnDefinition(this ILanguageServerRegistry registry, - Action>> handler, - DefinitionRegistrationOptions registrationOptions) - { - registrationOptions ??= new DefinitionRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.Definition, - _ => - new LanguageProtocolDelegatingHandlers.PartialResults(handler, registrationOptions, - _.GetService(), - x => new LocationOrLocationLinks(x))); - } - - public static IRequestProgressObservable, LocationOrLocationLinks> RequestDefinition( - this ITextDocumentLanguageClient mediator, - DefinitionParams @params, - CancellationToken cancellationToken = default) - { - return mediator.ProgressManager.MonitorUntil(@params, x => new LocationOrLocationLinks(x), cancellationToken); - } - } } diff --git a/src/Protocol/Document/IDidChangeTextDocumentHandler.cs b/src/Protocol/Document/IDidChangeTextDocumentHandler.cs index da7ce9398..e2a07430b 100644 --- a/src/Protocol/Document/IDidChangeTextDocumentHandler.cs +++ b/src/Protocol/Document/IDidChangeTextDocumentHandler.cs @@ -1,16 +1,16 @@ -using System; using System.Threading; using System.Threading.Tasks; using MediatR; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; using OmniSharp.Extensions.LanguageServer.Protocol.Client; using OmniSharp.Extensions.LanguageServer.Protocol.Client.Capabilities; using OmniSharp.Extensions.LanguageServer.Protocol.Models; -using OmniSharp.Extensions.LanguageServer.Protocol.Server; namespace OmniSharp.Extensions.LanguageServer.Protocol.Document { [Serial, Method(TextDocumentNames.DidChange, Direction.ClientToServer)] + [GenerateHandlerMethods, GenerateRequestMethods(typeof(ITextDocumentLanguageClient), typeof(ILanguageClient))] public interface IDidChangeTextDocumentHandler : IJsonRpcNotificationHandler, IRegistration, ICapability { } @@ -28,92 +28,4 @@ public DidChangeTextDocumentHandler(TextDocumentChangeRegistrationOptions regist public virtual void SetCapability(SynchronizationCapability capability) => Capability = capability; protected SynchronizationCapability Capability { get; private set; } } - - public static class DidChangeTextDocumentExtensions - { -public static ILanguageServerRegistry OnDidChangeTextDocument(this ILanguageServerRegistry registry, - Action handler, - TextDocumentChangeRegistrationOptions registrationOptions) - { - registrationOptions ??= new TextDocumentChangeRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.DidChange, - new LanguageProtocolDelegatingHandlers.Notification(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnDidChangeTextDocument(this ILanguageServerRegistry registry, - Action handler, - TextDocumentChangeRegistrationOptions registrationOptions) - { - registrationOptions ??= new TextDocumentChangeRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.DidChange, - new LanguageProtocolDelegatingHandlers.Notification(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnDidChangeTextDocument(this ILanguageServerRegistry registry, - Action handler, - TextDocumentChangeRegistrationOptions registrationOptions) - { - registrationOptions ??= new TextDocumentChangeRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.DidChange, - new LanguageProtocolDelegatingHandlers.Notification(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnDidChangeTextDocument(this ILanguageServerRegistry registry, - Action handler, - TextDocumentChangeRegistrationOptions registrationOptions) - { - registrationOptions ??= new TextDocumentChangeRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.DidChange, - new LanguageProtocolDelegatingHandlers.Notification(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnDidChangeTextDocument(this ILanguageServerRegistry registry, - Func handler, - TextDocumentChangeRegistrationOptions registrationOptions) - { - registrationOptions ??= new TextDocumentChangeRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.DidChange, - new LanguageProtocolDelegatingHandlers.Notification(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnDidChangeTextDocument(this ILanguageServerRegistry registry, - Func handler, - TextDocumentChangeRegistrationOptions registrationOptions) - { - registrationOptions ??= new TextDocumentChangeRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.DidChange, - new LanguageProtocolDelegatingHandlers.Notification(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnDidChangeTextDocument(this ILanguageServerRegistry registry, - Func handler, - TextDocumentChangeRegistrationOptions registrationOptions) - { - registrationOptions ??= new TextDocumentChangeRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.DidChange, - new LanguageProtocolDelegatingHandlers.Notification(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnDidChangeTextDocument(this ILanguageServerRegistry registry, - Func handler, - TextDocumentChangeRegistrationOptions registrationOptions) - { - registrationOptions ??= new TextDocumentChangeRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.DidChange, - new LanguageProtocolDelegatingHandlers.Notification(handler, registrationOptions)); - } - - public static void DidChangeTextDocument(this ITextDocumentLanguageClient mediator, DidChangeTextDocumentParams @params) - { - mediator.SendNotification(@params); - } - } } diff --git a/src/Protocol/Document/IDidCloseTextDocumentHandler.cs b/src/Protocol/Document/IDidCloseTextDocumentHandler.cs index 456248552..927e5fd2f 100644 --- a/src/Protocol/Document/IDidCloseTextDocumentHandler.cs +++ b/src/Protocol/Document/IDidCloseTextDocumentHandler.cs @@ -1,16 +1,16 @@ -using System; using System.Threading; using System.Threading.Tasks; using MediatR; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; using OmniSharp.Extensions.LanguageServer.Protocol.Client; using OmniSharp.Extensions.LanguageServer.Protocol.Client.Capabilities; using OmniSharp.Extensions.LanguageServer.Protocol.Models; -using OmniSharp.Extensions.LanguageServer.Protocol.Server; namespace OmniSharp.Extensions.LanguageServer.Protocol.Document { [Parallel, Method(TextDocumentNames.DidClose, Direction.ClientToServer)] + [GenerateHandlerMethods, GenerateRequestMethods(typeof(ITextDocumentLanguageClient), typeof(ILanguageClient))] public interface IDidCloseTextDocumentHandler : IJsonRpcNotificationHandler, IRegistration, ICapability { } public abstract class DidCloseTextDocumentHandler : IDidCloseTextDocumentHandler @@ -26,92 +26,4 @@ public DidCloseTextDocumentHandler(TextDocumentRegistrationOptions registrationO public virtual void SetCapability(SynchronizationCapability capability) => Capability = capability; protected SynchronizationCapability Capability { get; private set; } } - - public static class DidCloseTextDocumentExtensions - { -public static ILanguageServerRegistry OnDidCloseTextDocument(this ILanguageServerRegistry registry, - Action handler, - TextDocumentRegistrationOptions registrationOptions) - { - registrationOptions ??= new TextDocumentRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.DidClose, - new LanguageProtocolDelegatingHandlers.Notification(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnDidCloseTextDocument(this ILanguageServerRegistry registry, - Action handler, - TextDocumentRegistrationOptions registrationOptions) - { - registrationOptions ??= new TextDocumentRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.DidClose, - new LanguageProtocolDelegatingHandlers.Notification(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnDidCloseTextDocument(this ILanguageServerRegistry registry, - Action handler, - TextDocumentRegistrationOptions registrationOptions) - { - registrationOptions ??= new TextDocumentRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.DidClose, - new LanguageProtocolDelegatingHandlers.Notification(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnDidCloseTextDocument(this ILanguageServerRegistry registry, - Action handler, - TextDocumentRegistrationOptions registrationOptions) - { - registrationOptions ??= new TextDocumentRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.DidClose, - new LanguageProtocolDelegatingHandlers.Notification(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnDidCloseTextDocument(this ILanguageServerRegistry registry, - Func handler, - TextDocumentRegistrationOptions registrationOptions) - { - registrationOptions ??= new TextDocumentRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.DidClose, - new LanguageProtocolDelegatingHandlers.Notification(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnDidCloseTextDocument(this ILanguageServerRegistry registry, - Func handler, - TextDocumentRegistrationOptions registrationOptions) - { - registrationOptions ??= new TextDocumentRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.DidClose, - new LanguageProtocolDelegatingHandlers.Notification(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnDidCloseTextDocument(this ILanguageServerRegistry registry, - Func handler, - TextDocumentRegistrationOptions registrationOptions) - { - registrationOptions ??= new TextDocumentRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.DidClose, - new LanguageProtocolDelegatingHandlers.Notification(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnDidCloseTextDocument(this ILanguageServerRegistry registry, - Func handler, - TextDocumentRegistrationOptions registrationOptions) - { - registrationOptions ??= new TextDocumentRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.DidClose, - new LanguageProtocolDelegatingHandlers.Notification(handler, registrationOptions)); - } - - public static void DidCloseTextDocument(this ITextDocumentLanguageClient mediator, DidCloseTextDocumentParams @params) - { - mediator.SendNotification(@params); - } - } } diff --git a/src/Protocol/Document/IDidOpenTextDocumentHandler.cs b/src/Protocol/Document/IDidOpenTextDocumentHandler.cs index d492243c0..d68aae46b 100644 --- a/src/Protocol/Document/IDidOpenTextDocumentHandler.cs +++ b/src/Protocol/Document/IDidOpenTextDocumentHandler.cs @@ -3,6 +3,7 @@ using System.Threading.Tasks; using MediatR; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; using OmniSharp.Extensions.LanguageServer.Protocol.Client; using OmniSharp.Extensions.LanguageServer.Protocol.Client.Capabilities; using OmniSharp.Extensions.LanguageServer.Protocol.Models; @@ -11,11 +12,16 @@ namespace OmniSharp.Extensions.LanguageServer.Protocol.Document { [Serial, Method(TextDocumentNames.DidOpen, Direction.ClientToServer)] - public interface IDidOpenTextDocumentHandler : IJsonRpcNotificationHandler, IRegistration, ICapability { } + [GenerateHandlerMethods, GenerateRequestMethods(typeof(ITextDocumentLanguageClient), typeof(ILanguageClient))] + public interface IDidOpenTextDocumentHandler : IJsonRpcNotificationHandler, IRegistration, + ICapability + { + } public abstract class DidOpenTextDocumentHandler : IDidOpenTextDocumentHandler { private readonly TextDocumentRegistrationOptions _options; + public DidOpenTextDocumentHandler(TextDocumentRegistrationOptions registrationOptions) { _options = registrationOptions; @@ -26,92 +32,4 @@ public DidOpenTextDocumentHandler(TextDocumentRegistrationOptions registrationOp public virtual void SetCapability(SynchronizationCapability capability) => Capability = capability; protected SynchronizationCapability Capability { get; private set; } } - - public static class DidOpenTextDocumentExtensions - { -public static ILanguageServerRegistry OnDidOpenTextDocument(this ILanguageServerRegistry registry, - Action handler, - TextDocumentRegistrationOptions registrationOptions) - { - registrationOptions ??= new TextDocumentRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.DidOpen, - new LanguageProtocolDelegatingHandlers.Notification(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnDidOpenTextDocument(this ILanguageServerRegistry registry, - Action handler, - TextDocumentRegistrationOptions registrationOptions) - { - registrationOptions ??= new TextDocumentRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.DidOpen, - new LanguageProtocolDelegatingHandlers.Notification(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnDidOpenTextDocument(this ILanguageServerRegistry registry, - Action handler, - TextDocumentRegistrationOptions registrationOptions) - { - registrationOptions ??= new TextDocumentRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.DidOpen, - new LanguageProtocolDelegatingHandlers.Notification(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnDidOpenTextDocument(this ILanguageServerRegistry registry, - Action handler, - TextDocumentRegistrationOptions registrationOptions) - { - registrationOptions ??= new TextDocumentRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.DidOpen, - new LanguageProtocolDelegatingHandlers.Notification(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnDidOpenTextDocument(this ILanguageServerRegistry registry, - Func handler, - TextDocumentRegistrationOptions registrationOptions) - { - registrationOptions ??= new TextDocumentRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.DidOpen, - new LanguageProtocolDelegatingHandlers.Notification(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnDidOpenTextDocument(this ILanguageServerRegistry registry, - Func handler, - TextDocumentRegistrationOptions registrationOptions) - { - registrationOptions ??= new TextDocumentRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.DidOpen, - new LanguageProtocolDelegatingHandlers.Notification(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnDidOpenTextDocument(this ILanguageServerRegistry registry, - Func handler, - TextDocumentRegistrationOptions registrationOptions) - { - registrationOptions ??= new TextDocumentRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.DidOpen, - new LanguageProtocolDelegatingHandlers.Notification(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnDidOpenTextDocument(this ILanguageServerRegistry registry, - Func handler, - TextDocumentRegistrationOptions registrationOptions) - { - registrationOptions ??= new TextDocumentRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.DidOpen, - new LanguageProtocolDelegatingHandlers.Notification(handler, registrationOptions)); - } - - public static void DidOpenTextDocument(this ITextDocumentLanguageClient mediator, DidOpenTextDocumentParams @params) - { - mediator.SendNotification(@params); - } - } } diff --git a/src/Protocol/Document/IDidSaveTextDocumentHandler.cs b/src/Protocol/Document/IDidSaveTextDocumentHandler.cs index 495978087..e30fae169 100644 --- a/src/Protocol/Document/IDidSaveTextDocumentHandler.cs +++ b/src/Protocol/Document/IDidSaveTextDocumentHandler.cs @@ -1,16 +1,16 @@ -using System; using System.Threading; using System.Threading.Tasks; using MediatR; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; using OmniSharp.Extensions.LanguageServer.Protocol.Client; using OmniSharp.Extensions.LanguageServer.Protocol.Client.Capabilities; using OmniSharp.Extensions.LanguageServer.Protocol.Models; -using OmniSharp.Extensions.LanguageServer.Protocol.Server; namespace OmniSharp.Extensions.LanguageServer.Protocol.Document { [Serial, Method(TextDocumentNames.DidSave, Direction.ClientToServer)] + [GenerateHandlerMethods, GenerateRequestMethods(typeof(ITextDocumentLanguageClient), typeof(ILanguageClient))] public interface IDidSaveTextDocumentHandler : IJsonRpcNotificationHandler, IRegistration, ICapability { } public abstract class DidSaveTextDocumentHandler : IDidSaveTextDocumentHandler @@ -26,92 +26,4 @@ public DidSaveTextDocumentHandler(TextDocumentSaveRegistrationOptions registrati public virtual void SetCapability(SynchronizationCapability capability) => Capability = capability; protected SynchronizationCapability Capability { get; private set; } } - - public static class DidSaveTextDocumentExtensions - { -public static ILanguageServerRegistry OnDidSaveTextDocument(this ILanguageServerRegistry registry, - Action handler, - TextDocumentSaveRegistrationOptions registrationOptions) - { - registrationOptions ??= new TextDocumentSaveRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.DidSave, - new LanguageProtocolDelegatingHandlers.Notification(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnDidSaveTextDocument(this ILanguageServerRegistry registry, - Action handler, - TextDocumentSaveRegistrationOptions registrationOptions) - { - registrationOptions ??= new TextDocumentSaveRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.DidSave, - new LanguageProtocolDelegatingHandlers.Notification(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnDidSaveTextDocument(this ILanguageServerRegistry registry, - Action handler, - TextDocumentSaveRegistrationOptions registrationOptions) - { - registrationOptions ??= new TextDocumentSaveRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.DidSave, - new LanguageProtocolDelegatingHandlers.Notification(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnDidSaveTextDocument(this ILanguageServerRegistry registry, - Action handler, - TextDocumentSaveRegistrationOptions registrationOptions) - { - registrationOptions ??= new TextDocumentSaveRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.DidSave, - new LanguageProtocolDelegatingHandlers.Notification(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnDidSaveTextDocument(this ILanguageServerRegistry registry, - Func handler, - TextDocumentSaveRegistrationOptions registrationOptions) - { - registrationOptions ??= new TextDocumentSaveRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.DidSave, - new LanguageProtocolDelegatingHandlers.Notification(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnDidSaveTextDocument(this ILanguageServerRegistry registry, - Func handler, - TextDocumentSaveRegistrationOptions registrationOptions) - { - registrationOptions ??= new TextDocumentSaveRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.DidSave, - new LanguageProtocolDelegatingHandlers.Notification(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnDidSaveTextDocument(this ILanguageServerRegistry registry, - Func handler, - TextDocumentSaveRegistrationOptions registrationOptions) - { - registrationOptions ??= new TextDocumentSaveRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.DidSave, - new LanguageProtocolDelegatingHandlers.Notification(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnDidSaveTextDocument(this ILanguageServerRegistry registry, - Func handler, - TextDocumentSaveRegistrationOptions registrationOptions) - { - registrationOptions ??= new TextDocumentSaveRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.DidSave, - new LanguageProtocolDelegatingHandlers.Notification(handler, registrationOptions)); - } - - public static void DidSaveTextDocument(this ITextDocumentLanguageClient mediator, DidSaveTextDocumentParams @params) - { - mediator.SendNotification(@params); - } - } } diff --git a/src/Protocol/Document/IDocumentColorHandler.cs b/src/Protocol/Document/IDocumentColorHandler.cs index c2c5c0d80..d3f559d75 100644 --- a/src/Protocol/Document/IDocumentColorHandler.cs +++ b/src/Protocol/Document/IDocumentColorHandler.cs @@ -4,6 +4,7 @@ using System.Threading.Tasks; using Microsoft.Extensions.DependencyInjection; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; using OmniSharp.Extensions.LanguageServer.Protocol.Client; using OmniSharp.Extensions.LanguageServer.Protocol.Client.Capabilities; using OmniSharp.Extensions.LanguageServer.Protocol.Models; @@ -13,6 +14,7 @@ namespace OmniSharp.Extensions.LanguageServer.Protocol.Document { [Parallel, Method(TextDocumentNames.DocumentColor, Direction.ClientToServer)] + [GenerateHandlerMethods, GenerateRequestMethods(typeof(ITextDocumentLanguageClient), typeof(ILanguageClient))] public interface IDocumentColorHandler : IJsonRpcRequestHandler>, IRegistration, ICapability { } public abstract class DocumentColorHandler : IDocumentColorHandler @@ -28,100 +30,4 @@ public DocumentColorHandler(DocumentColorRegistrationOptions registrationOptions public virtual void SetCapability(ColorProviderCapability capability) => Capability = capability; protected ColorProviderCapability Capability { get; private set; } } - - public static class DocumentColorExtensions - { -public static ILanguageServerRegistry OnDocumentColor(this ILanguageServerRegistry registry, - Func>> - handler, - DocumentColorRegistrationOptions registrationOptions) - { - registrationOptions ??= new DocumentColorRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.DocumentColor, - new LanguageProtocolDelegatingHandlers.Request, ColorProviderCapability, - DocumentColorRegistrationOptions>(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnDocumentColor(this ILanguageServerRegistry registry, - Func>> handler, - DocumentColorRegistrationOptions registrationOptions) - { - registrationOptions ??= new DocumentColorRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.DocumentColor, - new LanguageProtocolDelegatingHandlers.RequestRegistration, - DocumentColorRegistrationOptions>(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnDocumentColor(this ILanguageServerRegistry registry, - Func>> handler, - DocumentColorRegistrationOptions registrationOptions) - { - registrationOptions ??= new DocumentColorRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.DocumentColor, - new LanguageProtocolDelegatingHandlers.RequestRegistration, - DocumentColorRegistrationOptions>(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnDocumentColor(this ILanguageServerRegistry registry, - Action>, ColorProviderCapability, - CancellationToken> handler, - DocumentColorRegistrationOptions registrationOptions) - { - registrationOptions ??= new DocumentColorRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.DocumentColor, - _ => - new LanguageProtocolDelegatingHandlers.PartialResults, - ColorPresentation, ColorProviderCapability, DocumentColorRegistrationOptions>(handler, - registrationOptions, _.GetService(), - x => new Container(x))); - } - -public static ILanguageServerRegistry OnDocumentColor(this ILanguageServerRegistry registry, - Action>, ColorProviderCapability> - handler, - DocumentColorRegistrationOptions registrationOptions) - { - registrationOptions ??= new DocumentColorRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.DocumentColor, - _ => - new LanguageProtocolDelegatingHandlers.PartialResults, - ColorPresentation, ColorProviderCapability, DocumentColorRegistrationOptions>(handler, - registrationOptions, _.GetService(), - x => new Container(x))); - } - -public static ILanguageServerRegistry OnDocumentColor(this ILanguageServerRegistry registry, - Action>, CancellationToken> handler, - DocumentColorRegistrationOptions registrationOptions) - { - registrationOptions ??= new DocumentColorRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.DocumentColor, - _ => - new LanguageProtocolDelegatingHandlers.PartialResults, - ColorPresentation, DocumentColorRegistrationOptions>(handler, registrationOptions, - _.GetService(), - x => new Container(x))); - } - -public static ILanguageServerRegistry OnDocumentColor(this ILanguageServerRegistry registry, - Action>> handler, - DocumentColorRegistrationOptions registrationOptions) - { - registrationOptions ??= new DocumentColorRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.DocumentColor, - _ => - new LanguageProtocolDelegatingHandlers.PartialResults, - ColorPresentation, DocumentColorRegistrationOptions>(handler, registrationOptions, - _.GetService(), - x => new Container(x))); - } - - public static IRequestProgressObservable RequestDocumentColor( - this ITextDocumentLanguageClient mediator, - DocumentColorParams @params, - CancellationToken cancellationToken = default) - { - return mediator.ProgressManager.MonitorUntil(@params, cancellationToken); - } - } } diff --git a/src/Protocol/Document/IDocumentFormattingHandler.cs b/src/Protocol/Document/IDocumentFormattingHandler.cs index 40db9cf4d..af450b5a5 100644 --- a/src/Protocol/Document/IDocumentFormattingHandler.cs +++ b/src/Protocol/Document/IDocumentFormattingHandler.cs @@ -1,15 +1,15 @@ -using System; using System.Threading; using System.Threading.Tasks; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; using OmniSharp.Extensions.LanguageServer.Protocol.Client; using OmniSharp.Extensions.LanguageServer.Protocol.Client.Capabilities; using OmniSharp.Extensions.LanguageServer.Protocol.Models; -using OmniSharp.Extensions.LanguageServer.Protocol.Server; namespace OmniSharp.Extensions.LanguageServer.Protocol.Document { [Serial, Method(TextDocumentNames.DocumentFormatting, Direction.ClientToServer)] + [GenerateHandlerMethods, GenerateRequestMethods(typeof(ITextDocumentLanguageClient), typeof(ILanguageClient))] public interface IDocumentFormattingHandler : IJsonRpcRequestHandler, IRegistration, ICapability { } public abstract class DocumentFormattingHandler : IDocumentFormattingHandler @@ -25,43 +25,4 @@ public DocumentFormattingHandler(DocumentFormattingRegistrationOptions registrat public virtual void SetCapability(DocumentFormattingCapability capability) => Capability = capability; protected DocumentFormattingCapability Capability { get; private set; } } - - public static class DocumentFormattingExtensions - { -public static ILanguageServerRegistry OnDocumentFormatting(this ILanguageServerRegistry registry, - Func> - handler, - DocumentFormattingRegistrationOptions registrationOptions) - { - registrationOptions ??= new DocumentFormattingRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.DocumentFormatting, - new LanguageProtocolDelegatingHandlers.Request(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnDocumentFormatting(this ILanguageServerRegistry registry, - Func> handler, - DocumentFormattingRegistrationOptions registrationOptions) - { - registrationOptions ??= new DocumentFormattingRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.DocumentFormatting, - new LanguageProtocolDelegatingHandlers.RequestRegistration(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnDocumentFormatting(this ILanguageServerRegistry registry, - Func> handler, - DocumentFormattingRegistrationOptions registrationOptions) - { - registrationOptions ??= new DocumentFormattingRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.DocumentFormatting, - new LanguageProtocolDelegatingHandlers.RequestRegistration(handler, registrationOptions)); - } - - public static Task RequestDocumentFormatting(this ITextDocumentLanguageClient mediator, DocumentFormattingParams @params, CancellationToken cancellationToken = default) - { - return mediator.SendRequest(@params, cancellationToken); - } - } } diff --git a/src/Protocol/Document/IDocumentHighlightHandler.cs b/src/Protocol/Document/IDocumentHighlightHandler.cs index e38dad3f4..ff142aab6 100644 --- a/src/Protocol/Document/IDocumentHighlightHandler.cs +++ b/src/Protocol/Document/IDocumentHighlightHandler.cs @@ -4,6 +4,7 @@ using System.Threading.Tasks; using Microsoft.Extensions.DependencyInjection; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; using OmniSharp.Extensions.LanguageServer.Protocol.Client; using OmniSharp.Extensions.LanguageServer.Protocol.Client.Capabilities; using OmniSharp.Extensions.LanguageServer.Protocol.Models; @@ -13,6 +14,7 @@ namespace OmniSharp.Extensions.LanguageServer.Protocol.Document { [Parallel, Method(TextDocumentNames.DocumentHighlight, Direction.ClientToServer)] + [GenerateHandlerMethods, GenerateRequestMethods(typeof(ITextDocumentLanguageClient), typeof(ILanguageClient))] public interface IDocumentHighlightHandler : IJsonRpcRequestHandler, IRegistration, ICapability { } public abstract class DocumentHighlightHandler : IDocumentHighlightHandler @@ -28,100 +30,4 @@ public DocumentHighlightHandler(DocumentHighlightRegistrationOptions registratio public virtual void SetCapability(DocumentHighlightCapability capability) => Capability = capability; protected DocumentHighlightCapability Capability { get; private set; } } - - public static class DocumentHighlightExtensions - { -public static ILanguageServerRegistry OnDocumentHighlight(this ILanguageServerRegistry registry, - Func> - handler, - DocumentHighlightRegistrationOptions registrationOptions) - { - registrationOptions ??= new DocumentHighlightRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.DocumentHighlight, - new LanguageProtocolDelegatingHandlers.Request(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnDocumentHighlight(this ILanguageServerRegistry registry, - Func> handler, - DocumentHighlightRegistrationOptions registrationOptions) - { - registrationOptions ??= new DocumentHighlightRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.DocumentHighlight, - new LanguageProtocolDelegatingHandlers.RequestRegistration(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnDocumentHighlight(this ILanguageServerRegistry registry, - Func> handler, - DocumentHighlightRegistrationOptions registrationOptions) - { - registrationOptions ??= new DocumentHighlightRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.DocumentHighlight, - new LanguageProtocolDelegatingHandlers.RequestRegistration(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnDocumentHighlight(this ILanguageServerRegistry registry, - Action>, DocumentHighlightCapability, - CancellationToken> handler, - DocumentHighlightRegistrationOptions registrationOptions) - { - registrationOptions ??= new DocumentHighlightRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.DocumentHighlight, - _ => - new LanguageProtocolDelegatingHandlers.PartialResults(handler, - registrationOptions, _.GetService(), - x => new DocumentHighlightContainer(x))); - } - -public static ILanguageServerRegistry OnDocumentHighlight(this ILanguageServerRegistry registry, - Action>, DocumentHighlightCapability> - handler, - DocumentHighlightRegistrationOptions registrationOptions) - { - registrationOptions ??= new DocumentHighlightRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.DocumentHighlight, - _ => - new LanguageProtocolDelegatingHandlers.PartialResults(handler, - registrationOptions, _.GetService(), - x => new DocumentHighlightContainer(x))); - } - -public static ILanguageServerRegistry OnDocumentHighlight(this ILanguageServerRegistry registry, - Action>, CancellationToken> handler, - DocumentHighlightRegistrationOptions registrationOptions) - { - registrationOptions ??= new DocumentHighlightRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.DocumentHighlight, - _ => - new LanguageProtocolDelegatingHandlers.PartialResults(handler, registrationOptions, - _.GetService(), - x => new DocumentHighlightContainer(x))); - } - -public static ILanguageServerRegistry OnDocumentHighlight(this ILanguageServerRegistry registry, - Action>> handler, - DocumentHighlightRegistrationOptions registrationOptions) - { - registrationOptions ??= new DocumentHighlightRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.DocumentHighlight, - _ => - new LanguageProtocolDelegatingHandlers.PartialResults(handler, registrationOptions, - _.GetService(), - x => new DocumentHighlightContainer(x))); - } - - public static IRequestProgressObservable, DocumentHighlightContainer> RequestDocumentHighlight( - this ITextDocumentLanguageClient mediator, - DocumentHighlightParams @params, - CancellationToken cancellationToken = default) - { - return mediator.ProgressManager.MonitorUntil(@params, x => new DocumentHighlightContainer(x), cancellationToken); - } - } } diff --git a/src/Protocol/Document/IDocumentLinkHandler.cs b/src/Protocol/Document/IDocumentLinkHandler.cs index dbf84fdce..dc0845e6c 100644 --- a/src/Protocol/Document/IDocumentLinkHandler.cs +++ b/src/Protocol/Document/IDocumentLinkHandler.cs @@ -1,10 +1,10 @@ using System; using System.Collections.Generic; -using System.Reactive.Disposables; using System.Threading; using System.Threading.Tasks; using Microsoft.Extensions.DependencyInjection; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; using OmniSharp.Extensions.LanguageServer.Protocol.Client; using OmniSharp.Extensions.LanguageServer.Protocol.Client.Capabilities; using OmniSharp.Extensions.LanguageServer.Protocol.Models; @@ -14,12 +14,14 @@ namespace OmniSharp.Extensions.LanguageServer.Protocol.Document { [Parallel, Method(TextDocumentNames.DocumentLink, Direction.ClientToServer)] + [GenerateHandlerMethods, GenerateRequestMethods(typeof(ITextDocumentLanguageClient), typeof(ILanguageClient))] public interface IDocumentLinkHandler : IJsonRpcRequestHandler, IRegistration, ICapability { } [Parallel, Method(TextDocumentNames.DocumentLinkResolve, Direction.ClientToServer)] + [GenerateRequestMethods(typeof(ITextDocumentLanguageClient), typeof(ILanguageClient))] public interface IDocumentLinkResolveHandler : ICanBeResolvedHandler { } @@ -43,22 +45,9 @@ public DocumentLinkHandler(DocumentLinkRegistrationOptions registrationOptions) protected DocumentLinkCapability Capability { get; private set; } } - public static class DocumentLinkExtensions + public static partial class DocumentLinkExtensions { -public static ILanguageServerRegistry OnDocumentLink(this ILanguageServerRegistry registry, - Func> handler, - DocumentLinkRegistrationOptions registrationOptions) - { - registrationOptions ??= new DocumentLinkRegistrationOptions(); - - return registry.AddHandler(TextDocumentNames.DocumentLink, - new LanguageProtocolDelegatingHandlers.Request( - handler, - registrationOptions)); - } - -public static ILanguageServerRegistry OnDocumentLink(this ILanguageServerRegistry registry, + public static ILanguageServerRegistry OnDocumentLink(this ILanguageServerRegistry registry, Func> handler, Func canResolve, Func> resolveHandler, @@ -82,20 +71,7 @@ public static ILanguageServerRegistry OnDocumentLink(this ILanguageServerRegistr ; } -public static ILanguageServerRegistry OnDocumentLink(this ILanguageServerRegistry registry, - Func> handler, - DocumentLinkRegistrationOptions registrationOptions) - { - registrationOptions ??= new DocumentLinkRegistrationOptions(); - - return registry.AddHandler(TextDocumentNames.DocumentLink, - new LanguageProtocolDelegatingHandlers.RequestRegistration( - handler, - registrationOptions)); - } - -public static ILanguageServerRegistry OnDocumentLink(this ILanguageServerRegistry registry, + public static ILanguageServerRegistry OnDocumentLink(this ILanguageServerRegistry registry, Func> handler, Func canResolve, Func> resolveHandler, @@ -118,20 +94,7 @@ public static ILanguageServerRegistry OnDocumentLink(this ILanguageServerRegistr ; } -public static ILanguageServerRegistry OnDocumentLink(this ILanguageServerRegistry registry, - Func> handler, - DocumentLinkRegistrationOptions registrationOptions) - { - registrationOptions ??= new DocumentLinkRegistrationOptions(); - - return registry.AddHandler(TextDocumentNames.DocumentLink, - new LanguageProtocolDelegatingHandlers.RequestRegistration( - handler, - registrationOptions)); - } - -public static ILanguageServerRegistry OnDocumentLink(this ILanguageServerRegistry registry, + public static ILanguageServerRegistry OnDocumentLink(this ILanguageServerRegistry registry, Func> handler, Func canResolve, Func> resolveHandler, @@ -155,22 +118,7 @@ public static ILanguageServerRegistry OnDocumentLink(this ILanguageServerRegistr ; } -public static ILanguageServerRegistry OnDocumentLink(this ILanguageServerRegistry registry, - Action>, DocumentLinkCapability, CancellationToken> handler, - DocumentLinkRegistrationOptions registrationOptions) - { - registrationOptions ??= new DocumentLinkRegistrationOptions(); - - return registry.AddHandler(TextDocumentNames.DocumentLink, - _ => new LanguageProtocolDelegatingHandlers.PartialResults( - handler, - registrationOptions, - _.GetRequiredService(), - x => new DocumentLinkContainer(x))); - } - -public static ILanguageServerRegistry OnDocumentLink(this ILanguageServerRegistry registry, + public static ILanguageServerRegistry OnDocumentLink(this ILanguageServerRegistry registry, Action>, DocumentLinkCapability, CancellationToken> handler, Func canResolve, Func> resolveHandler, @@ -196,22 +144,7 @@ public static ILanguageServerRegistry OnDocumentLink(this ILanguageServerRegistr ; } -public static ILanguageServerRegistry OnDocumentLink(this ILanguageServerRegistry registry, - Action>, CancellationToken> handler, - DocumentLinkRegistrationOptions registrationOptions) - { - registrationOptions ??= new DocumentLinkRegistrationOptions(); - - return registry.AddHandler(TextDocumentNames.DocumentLink, - _ => new LanguageProtocolDelegatingHandlers.PartialResults( - handler, - registrationOptions, - _.GetRequiredService(), - x => new DocumentLinkContainer(x))); - } - -public static ILanguageServerRegistry OnDocumentLink(this ILanguageServerRegistry registry, + public static ILanguageServerRegistry OnDocumentLink(this ILanguageServerRegistry registry, Action>, CancellationToken> handler, Func canResolve, Func> resolveHandler, @@ -237,22 +170,7 @@ public static ILanguageServerRegistry OnDocumentLink(this ILanguageServerRegistr ; } -public static ILanguageServerRegistry OnDocumentLink(this ILanguageServerRegistry registry, - Action>> handler, - DocumentLinkRegistrationOptions registrationOptions) - { - registrationOptions ??= new DocumentLinkRegistrationOptions(); - - return registry.AddHandler(TextDocumentNames.DocumentLink, - _ => new LanguageProtocolDelegatingHandlers.PartialResults( - handler, - registrationOptions, - _.GetRequiredService(), - x => new DocumentLinkContainer(x))); - } - -public static ILanguageServerRegistry OnDocumentLink(this ILanguageServerRegistry registry, + public static ILanguageServerRegistry OnDocumentLink(this ILanguageServerRegistry registry, Action>> handler, Func canResolve, Func> resolveHandler, @@ -277,17 +195,5 @@ public static ILanguageServerRegistry OnDocumentLink(this ILanguageServerRegistr registrationOptions)) ; } - - public static IRequestProgressObservable, DocumentLinkContainer> RequestDocumentLink(this ITextDocumentLanguageClient mediator, - DocumentLinkParams @params, - CancellationToken cancellationToken = default) - { - return mediator.ProgressManager.MonitorUntil(@params, x => new DocumentLinkContainer(x), cancellationToken); - } - - public static Task ResolveDocumentLink(this ITextDocumentLanguageClient mediator, DocumentLink @params, CancellationToken cancellationToken = default) - { - return mediator.SendRequest(@params, cancellationToken); - } } } diff --git a/src/Protocol/Document/IDocumentOnTypeFormattingHandler.cs b/src/Protocol/Document/IDocumentOnTypeFormattingHandler.cs index 602e2bc88..2a3144404 100644 --- a/src/Protocol/Document/IDocumentOnTypeFormattingHandler.cs +++ b/src/Protocol/Document/IDocumentOnTypeFormattingHandler.cs @@ -1,15 +1,15 @@ -using System; using System.Threading; using System.Threading.Tasks; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; using OmniSharp.Extensions.LanguageServer.Protocol.Client; using OmniSharp.Extensions.LanguageServer.Protocol.Client.Capabilities; using OmniSharp.Extensions.LanguageServer.Protocol.Models; -using OmniSharp.Extensions.LanguageServer.Protocol.Server; namespace OmniSharp.Extensions.LanguageServer.Protocol.Document { [Serial, Method(TextDocumentNames.OnTypeFormatting, Direction.ClientToServer)] + [GenerateHandlerMethods, GenerateRequestMethods(typeof(ITextDocumentLanguageClient), typeof(ILanguageClient))] public interface IDocumentOnTypeFormattingHandler : IJsonRpcRequestHandler, IRegistration, ICapability { } public abstract class DocumentOnTypeFormattingHandler : IDocumentOnTypeFormattingHandler @@ -25,43 +25,4 @@ public DocumentOnTypeFormattingHandler(DocumentOnTypeFormattingRegistrationOptio public virtual void SetCapability(DocumentOnTypeFormattingCapability capability) => Capability = capability; protected DocumentOnTypeFormattingCapability Capability { get; private set; } } - - public static class DocumentOnTypeFormattingExtensions - { -public static ILanguageServerRegistry OnDocumentOnTypeFormatting(this ILanguageServerRegistry registry, - Func> - handler, - DocumentOnTypeFormattingRegistrationOptions registrationOptions) - { - registrationOptions ??= new DocumentOnTypeFormattingRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.OnTypeFormatting, - new LanguageProtocolDelegatingHandlers.Request(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnDocumentOnTypeFormatting(this ILanguageServerRegistry registry, - Func> handler, - DocumentOnTypeFormattingRegistrationOptions registrationOptions) - { - registrationOptions ??= new DocumentOnTypeFormattingRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.OnTypeFormatting, - new LanguageProtocolDelegatingHandlers.RequestRegistration(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnDocumentOnTypeFormatting(this ILanguageServerRegistry registry, - Func> handler, - DocumentOnTypeFormattingRegistrationOptions registrationOptions) - { - registrationOptions ??= new DocumentOnTypeFormattingRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.OnTypeFormatting, - new LanguageProtocolDelegatingHandlers.RequestRegistration(handler, registrationOptions)); - } - - public static Task RequestDocumentOnTypeFormatting(this ITextDocumentLanguageClient mediator, DocumentOnTypeFormattingParams @params, CancellationToken cancellationToken = default) - { - return mediator.SendRequest(@params, cancellationToken); - } - } } diff --git a/src/Protocol/Document/IDocumentRangeFormattingHandler.cs b/src/Protocol/Document/IDocumentRangeFormattingHandler.cs index 5f07426b1..eec9f05ac 100644 --- a/src/Protocol/Document/IDocumentRangeFormattingHandler.cs +++ b/src/Protocol/Document/IDocumentRangeFormattingHandler.cs @@ -1,15 +1,15 @@ -using System; using System.Threading; using System.Threading.Tasks; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; using OmniSharp.Extensions.LanguageServer.Protocol.Client; using OmniSharp.Extensions.LanguageServer.Protocol.Client.Capabilities; using OmniSharp.Extensions.LanguageServer.Protocol.Models; -using OmniSharp.Extensions.LanguageServer.Protocol.Server; namespace OmniSharp.Extensions.LanguageServer.Protocol.Document { [Serial, Method(TextDocumentNames.RangeFormatting, Direction.ClientToServer)] + [GenerateHandlerMethods, GenerateRequestMethods(typeof(ITextDocumentLanguageClient), typeof(ILanguageClient))] public interface IDocumentRangeFormattingHandler : IJsonRpcRequestHandler, IRegistration, ICapability { } public abstract class DocumentRangeFormattingHandler : IDocumentRangeFormattingHandler @@ -25,43 +25,4 @@ public DocumentRangeFormattingHandler(DocumentRangeFormattingRegistrationOptions public virtual void SetCapability(DocumentRangeFormattingCapability capability) => Capability = capability; protected DocumentRangeFormattingCapability Capability { get; private set; } } - - public static class DocumentRangeFormattingExtensions - { -public static ILanguageServerRegistry OnDocumentRangeFormatting(this ILanguageServerRegistry registry, - Func> - handler, - DocumentRangeFormattingRegistrationOptions registrationOptions) - { - registrationOptions ??= new DocumentRangeFormattingRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.RangeFormatting, - new LanguageProtocolDelegatingHandlers.Request(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnDocumentRangeFormatting(this ILanguageServerRegistry registry, - Func> handler, - DocumentRangeFormattingRegistrationOptions registrationOptions) - { - registrationOptions ??= new DocumentRangeFormattingRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.RangeFormatting, - new LanguageProtocolDelegatingHandlers.RequestRegistration(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnDocumentRangeFormatting(this ILanguageServerRegistry registry, - Func> handler, - DocumentRangeFormattingRegistrationOptions registrationOptions) - { - registrationOptions ??= new DocumentRangeFormattingRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.RangeFormatting, - new LanguageProtocolDelegatingHandlers.RequestRegistration(handler, registrationOptions)); - } - - public static Task RequestDocumentRangeFormatting(this ITextDocumentLanguageClient mediator, DocumentRangeFormattingParams @params, CancellationToken cancellationToken = default) - { - return mediator.SendRequest(@params, cancellationToken); - } - } } diff --git a/src/Protocol/Document/IDocumentSymbolHandler.cs b/src/Protocol/Document/IDocumentSymbolHandler.cs index 52fb25792..f994ea2dc 100644 --- a/src/Protocol/Document/IDocumentSymbolHandler.cs +++ b/src/Protocol/Document/IDocumentSymbolHandler.cs @@ -1,18 +1,15 @@ -using System; -using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; -using Microsoft.Extensions.DependencyInjection; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; using OmniSharp.Extensions.LanguageServer.Protocol.Client; using OmniSharp.Extensions.LanguageServer.Protocol.Client.Capabilities; using OmniSharp.Extensions.LanguageServer.Protocol.Models; -using OmniSharp.Extensions.LanguageServer.Protocol.Progress; -using OmniSharp.Extensions.LanguageServer.Protocol.Server; namespace OmniSharp.Extensions.LanguageServer.Protocol.Document { [Parallel, Method(TextDocumentNames.DocumentSymbol, Direction.ClientToServer)] + [GenerateHandlerMethods, GenerateRequestMethods(typeof(ITextDocumentLanguageClient), typeof(ILanguageClient))] public interface IDocumentSymbolHandler : IJsonRpcRequestHandler, IRegistration, ICapability { } public abstract class DocumentSymbolHandler : IDocumentSymbolHandler @@ -28,96 +25,4 @@ public DocumentSymbolHandler(DocumentSymbolRegistrationOptions registrationOptio public virtual void SetCapability(DocumentSymbolCapability capability) => Capability = capability; protected DocumentSymbolCapability Capability { get; private set; } } - - public static class DocumentSymbolExtensions - { -public static ILanguageServerRegistry OnDocumentSymbol(this ILanguageServerRegistry registry, - Func> - handler, - DocumentSymbolRegistrationOptions registrationOptions) - { - registrationOptions ??= new DocumentSymbolRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.DocumentSymbol, - new LanguageProtocolDelegatingHandlers.Request(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnDocumentSymbol(this ILanguageServerRegistry registry, - Func> handler, - DocumentSymbolRegistrationOptions registrationOptions) - { - registrationOptions ??= new DocumentSymbolRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.DocumentSymbol, - new LanguageProtocolDelegatingHandlers.RequestRegistration(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnDocumentSymbol(this ILanguageServerRegistry registry, - Func> handler, - DocumentSymbolRegistrationOptions registrationOptions) - { - registrationOptions ??= new DocumentSymbolRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.DocumentSymbol, - new LanguageProtocolDelegatingHandlers.RequestRegistration(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnDocumentSymbol(this ILanguageServerRegistry registry, - Action>, DocumentSymbolCapability, - CancellationToken> handler, - DocumentSymbolRegistrationOptions registrationOptions) - { - registrationOptions ??= new DocumentSymbolRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.DocumentSymbol, - _ => - new LanguageProtocolDelegatingHandlers.PartialResults(handler, - registrationOptions, _.GetService(), x => new SymbolInformationOrDocumentSymbolContainer(x))); - } - -public static ILanguageServerRegistry OnDocumentSymbol(this ILanguageServerRegistry registry, - Action>, DocumentSymbolCapability> - handler, - DocumentSymbolRegistrationOptions registrationOptions) - { - registrationOptions ??= new DocumentSymbolRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.DocumentSymbol, - _ => - new LanguageProtocolDelegatingHandlers.PartialResults(handler, - registrationOptions, _.GetService(), x => new SymbolInformationOrDocumentSymbolContainer(x))); - } - -public static ILanguageServerRegistry OnDocumentSymbol(this ILanguageServerRegistry registry, - Action>, CancellationToken> handler, - DocumentSymbolRegistrationOptions registrationOptions) - { - registrationOptions ??= new DocumentSymbolRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.DocumentSymbol, - _ => - new LanguageProtocolDelegatingHandlers.PartialResults(handler, registrationOptions, - _.GetService(), x => new SymbolInformationOrDocumentSymbolContainer(x))); - } - -public static ILanguageServerRegistry OnDocumentSymbol(this ILanguageServerRegistry registry, - Action>> handler, - DocumentSymbolRegistrationOptions registrationOptions) - { - registrationOptions ??= new DocumentSymbolRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.DocumentSymbol, - _ => - new LanguageProtocolDelegatingHandlers.PartialResults(handler, registrationOptions, - _.GetService(), x => new SymbolInformationOrDocumentSymbolContainer(x))); - } - - public static IRequestProgressObservable, SymbolInformationOrDocumentSymbolContainer> RequestDocumentSymbol( - this ITextDocumentLanguageClient mediator, - DocumentSymbolParams @params, - CancellationToken cancellationToken = default) - { - return mediator.ProgressManager.MonitorUntil(@params, x => new SymbolInformationOrDocumentSymbolContainer(x), cancellationToken); - } - } } diff --git a/src/Protocol/Document/IFoldingRangeHandler.cs b/src/Protocol/Document/IFoldingRangeHandler.cs index 5395aabe7..c942949e1 100644 --- a/src/Protocol/Document/IFoldingRangeHandler.cs +++ b/src/Protocol/Document/IFoldingRangeHandler.cs @@ -1,21 +1,15 @@ -using System; -using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; -using Microsoft.Extensions.DependencyInjection; using OmniSharp.Extensions.JsonRpc; -using OmniSharp.Extensions.LanguageServer.Protocol; +using OmniSharp.Extensions.JsonRpc.Generation; using OmniSharp.Extensions.LanguageServer.Protocol.Client; using OmniSharp.Extensions.LanguageServer.Protocol.Client.Capabilities; using OmniSharp.Extensions.LanguageServer.Protocol.Models; -using OmniSharp.Extensions.LanguageServer.Protocol.Progress; -using OmniSharp.Extensions.LanguageServer.Protocol.Server; -// ReSharper disable once CheckNamespace - -namespace OmniSharp.Extensions.LanguageServer.Server +namespace OmniSharp.Extensions.LanguageServer.Protocol.Document { [Parallel, Method(TextDocumentNames.FoldingRange, Direction.ClientToServer)] + [GenerateHandlerMethods, GenerateRequestMethods(typeof(ITextDocumentLanguageClient), typeof(ILanguageClient))] public interface IFoldingRangeHandler : IJsonRpcRequestHandler>, IRegistration, ICapability { @@ -26,6 +20,7 @@ public abstract class FoldingRangeHandler : IFoldingRangeHandler private readonly FoldingRangeRegistrationOptions _options; public FoldingRangeHandler(FoldingRangeRegistrationOptions registrationOptions) + { _options = registrationOptions; } @@ -38,96 +33,4 @@ public abstract Task> Handle(FoldingRangeRequestParam re public virtual void SetCapability(FoldingRangeCapability capability) => Capability = capability; protected FoldingRangeCapability Capability { get; private set; } } - - public static class FoldingRangeExtensions - { -public static ILanguageServerRegistry OnFoldingRange(this ILanguageServerRegistry registry, - Func>> - handler, - FoldingRangeRegistrationOptions registrationOptions) - { - registrationOptions ??= new FoldingRangeRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.FoldingRange, - new LanguageProtocolDelegatingHandlers.Request, FoldingRangeCapability - , - FoldingRangeRegistrationOptions>(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnFoldingRange(this ILanguageServerRegistry registry, - Func>> handler, - FoldingRangeRegistrationOptions registrationOptions) - { - registrationOptions ??= new FoldingRangeRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.FoldingRange, - new LanguageProtocolDelegatingHandlers.RequestRegistration, - FoldingRangeRegistrationOptions>(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnFoldingRange(this ILanguageServerRegistry registry, - Func>> handler, - FoldingRangeRegistrationOptions registrationOptions) - { - registrationOptions ??= new FoldingRangeRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.FoldingRange, - new LanguageProtocolDelegatingHandlers.RequestRegistration, - FoldingRangeRegistrationOptions>(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnFoldingRange(this ILanguageServerRegistry registry, - Action>, FoldingRangeCapability, - CancellationToken> handler, FoldingRangeRegistrationOptions registrationOptions) - { - registrationOptions ??= new FoldingRangeRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.FoldingRange, - _ => - new LanguageProtocolDelegatingHandlers.PartialResults, - FoldingRange, FoldingRangeCapability, FoldingRangeRegistrationOptions>(handler, - registrationOptions, _.GetService(), x => new Container(x))); - } - -public static ILanguageServerRegistry OnFoldingRange(this ILanguageServerRegistry registry, - Action>, FoldingRangeCapability> - handler, - FoldingRangeRegistrationOptions registrationOptions) - { - registrationOptions ??= new FoldingRangeRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.FoldingRange, - _ => - new LanguageProtocolDelegatingHandlers.PartialResults, - FoldingRange, FoldingRangeCapability, FoldingRangeRegistrationOptions>(handler, - registrationOptions, _.GetService(), x => new Container(x))); - } - -public static ILanguageServerRegistry OnFoldingRange(this ILanguageServerRegistry registry, - Action>, CancellationToken> handler, - FoldingRangeRegistrationOptions registrationOptions) - { - registrationOptions ??= new FoldingRangeRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.FoldingRange, - _ => - new LanguageProtocolDelegatingHandlers.PartialResults, - FoldingRange, FoldingRangeRegistrationOptions>(handler, registrationOptions, - _.GetService(), x => new Container(x))); - } - -public static ILanguageServerRegistry OnFoldingRange(this ILanguageServerRegistry registry, - Action>> handler, - FoldingRangeRegistrationOptions registrationOptions) - { - registrationOptions ??= new FoldingRangeRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.FoldingRange, - _ => - new LanguageProtocolDelegatingHandlers.PartialResults, - FoldingRange, FoldingRangeRegistrationOptions>(handler, registrationOptions, - _.GetService(), x => new Container(x))); - } - - public static IRequestProgressObservable RequestFoldingRange( - this ITextDocumentLanguageClient mediator, - FoldingRangeRequestParam @params, - CancellationToken cancellationToken = default) - { - return mediator.ProgressManager.MonitorUntil(@params, cancellationToken); - } - } } diff --git a/src/Protocol/Document/IHoverHandler.cs b/src/Protocol/Document/IHoverHandler.cs index 0958ced50..b41872cc3 100644 --- a/src/Protocol/Document/IHoverHandler.cs +++ b/src/Protocol/Document/IHoverHandler.cs @@ -1,15 +1,15 @@ -using System; using System.Threading; using System.Threading.Tasks; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; using OmniSharp.Extensions.LanguageServer.Protocol.Client; using OmniSharp.Extensions.LanguageServer.Protocol.Client.Capabilities; using OmniSharp.Extensions.LanguageServer.Protocol.Models; -using OmniSharp.Extensions.LanguageServer.Protocol.Server; namespace OmniSharp.Extensions.LanguageServer.Protocol.Document { [Parallel, Method(TextDocumentNames.Hover, Direction.ClientToServer)] + [GenerateHandlerMethods, GenerateRequestMethods(typeof(ITextDocumentLanguageClient), typeof(ILanguageClient))] public interface IHoverHandler : IJsonRpcRequestHandler, IRegistration, ICapability { } public abstract class HoverHandler : IHoverHandler @@ -25,43 +25,4 @@ public HoverHandler(HoverRegistrationOptions registrationOptions) public virtual void SetCapability(HoverCapability capability) => Capability = capability; protected HoverCapability Capability { get; private set; } } - - public static class HoverExtensions - { -public static ILanguageServerRegistry OnHover(this ILanguageServerRegistry registry, - Func> - handler, - HoverRegistrationOptions registrationOptions) - { - registrationOptions ??= new HoverRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.Hover, - new LanguageProtocolDelegatingHandlers.Request(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnHover(this ILanguageServerRegistry registry, - Func> handler, - HoverRegistrationOptions registrationOptions) - { - registrationOptions ??= new HoverRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.Hover, - new LanguageProtocolDelegatingHandlers.RequestRegistration(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnHover(this ILanguageServerRegistry registry, - Func> handler, - HoverRegistrationOptions registrationOptions) - { - registrationOptions ??= new HoverRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.Hover, - new LanguageProtocolDelegatingHandlers.RequestRegistration(handler, registrationOptions)); - } - - public static Task RequestHover(this ITextDocumentLanguageClient mediator, HoverParams @params, CancellationToken cancellationToken = default) - { - return mediator.SendRequest(@params, cancellationToken); - } - } } diff --git a/src/Protocol/Document/IImplementationHandler.cs b/src/Protocol/Document/IImplementationHandler.cs index 776c1bcf5..097cf624a 100644 --- a/src/Protocol/Document/IImplementationHandler.cs +++ b/src/Protocol/Document/IImplementationHandler.cs @@ -1,18 +1,13 @@ -using System; -using System.Collections.Generic; -using System.Threading; -using System.Threading.Tasks; -using Microsoft.Extensions.DependencyInjection; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; using OmniSharp.Extensions.LanguageServer.Protocol.Client; using OmniSharp.Extensions.LanguageServer.Protocol.Client.Capabilities; using OmniSharp.Extensions.LanguageServer.Protocol.Models; -using OmniSharp.Extensions.LanguageServer.Protocol.Progress; -using OmniSharp.Extensions.LanguageServer.Protocol.Server; namespace OmniSharp.Extensions.LanguageServer.Protocol.Document { [Parallel, Method(TextDocumentNames.Implementation, Direction.ClientToServer)] + [GenerateHandlerMethods, GenerateRequestMethods(typeof(ITextDocumentLanguageClient), typeof(ILanguageClient))] public interface IImplementationHandler : IJsonRpcRequestHandler, IRegistration, ICapability { @@ -27,96 +22,4 @@ protected ImplementationHandler(ImplementationRegistrationOptions registrationOp { } } - - public static class ImplementationExtensions - { -public static ILanguageServerRegistry OnImplementation(this ILanguageServerRegistry registry, - Func> - handler, - ImplementationRegistrationOptions registrationOptions) - { - registrationOptions ??= new ImplementationRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.Implementation, - new LanguageProtocolDelegatingHandlers.Request(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnImplementation(this ILanguageServerRegistry registry, - Func> handler, - ImplementationRegistrationOptions registrationOptions) - { - registrationOptions ??= new ImplementationRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.Implementation, - new LanguageProtocolDelegatingHandlers.RequestRegistration(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnImplementation(this ILanguageServerRegistry registry, - Func> handler, - ImplementationRegistrationOptions registrationOptions) - { - registrationOptions ??= new ImplementationRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.Implementation, - new LanguageProtocolDelegatingHandlers.RequestRegistration(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnImplementation(this ILanguageServerRegistry registry, - Action>, ImplementationCapability, - CancellationToken> handler, - ImplementationRegistrationOptions registrationOptions) - { - registrationOptions ??= new ImplementationRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.Implementation, - _ => - new LanguageProtocolDelegatingHandlers.PartialResults(handler, - registrationOptions, _.GetService(), x => new LocationOrLocationLinks(x))); - } - -public static ILanguageServerRegistry OnImplementation(this ILanguageServerRegistry registry, - Action>, ImplementationCapability> - handler, - ImplementationRegistrationOptions registrationOptions) - { - registrationOptions ??= new ImplementationRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.Implementation, - _ => - new LanguageProtocolDelegatingHandlers.PartialResults(handler, - registrationOptions, _.GetService(), x => new LocationOrLocationLinks(x))); - } - -public static ILanguageServerRegistry OnImplementation(this ILanguageServerRegistry registry, - Action>, CancellationToken> handler, - ImplementationRegistrationOptions registrationOptions) - { - registrationOptions ??= new ImplementationRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.Implementation, - _ => - new LanguageProtocolDelegatingHandlers.PartialResults(handler, registrationOptions, - _.GetService(), x => new LocationOrLocationLinks(x))); - } - -public static ILanguageServerRegistry OnImplementation(this ILanguageServerRegistry registry, - Action>> handler, - ImplementationRegistrationOptions registrationOptions) - { - registrationOptions ??= new ImplementationRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.Implementation, - _ => - new LanguageProtocolDelegatingHandlers.PartialResults(handler, registrationOptions, - _.GetService(), x => new LocationOrLocationLinks(x))); - } - - public static IRequestProgressObservable, LocationOrLocationLinks> RequestImplementation( - this ITextDocumentLanguageClient mediator, - ImplementationParams @params, - CancellationToken cancellationToken = default) - { - return mediator.ProgressManager.MonitorUntil(@params, x => new LocationOrLocationLinks(x), cancellationToken); - } - } } diff --git a/src/Protocol/Document/IPrepareRenameHandler.cs b/src/Protocol/Document/IPrepareRenameHandler.cs index efaed1be7..70c02ec64 100644 --- a/src/Protocol/Document/IPrepareRenameHandler.cs +++ b/src/Protocol/Document/IPrepareRenameHandler.cs @@ -1,16 +1,16 @@ -using System; using System.Threading; using System.Threading.Tasks; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; using OmniSharp.Extensions.LanguageServer.Protocol.Client; using OmniSharp.Extensions.LanguageServer.Protocol.Client.Capabilities; using OmniSharp.Extensions.LanguageServer.Protocol.Models; -using OmniSharp.Extensions.LanguageServer.Protocol.Server; namespace OmniSharp.Extensions.LanguageServer.Protocol.Document { [Serial, Method(TextDocumentNames.PrepareRename, Direction.ClientToServer)] - public interface IPrepareRenameHandler : IJsonRpcRequestHandler, IRegistration, ICapability { } + [GenerateHandlerMethods, GenerateRequestMethods(typeof(ITextDocumentLanguageClient), typeof(ILanguageClient))] + public interface IPrepareRenameHandler : IJsonRpcRequestHandler, IRegistration, ICapability { } public abstract class PrepareRenameHandler : IPrepareRenameHandler { @@ -20,37 +20,9 @@ public PrepareRenameHandler(TextDocumentRegistrationOptions registrationOptions) _options = registrationOptions; } - public object GetRegistrationOptions() => new object(); + public TextDocumentRegistrationOptions GetRegistrationOptions() => _options; public abstract Task Handle(PrepareRenameParams request, CancellationToken cancellationToken); public virtual void SetCapability(RenameCapability capability) => Capability = capability; protected RenameCapability Capability { get; private set; } } - - public static class PrepareRenameExtensions - { -public static ILanguageServerRegistry OnPrepareRename(this ILanguageServerRegistry registry, - Func> - handler) - { - return registry.AddHandler(TextDocumentNames.PrepareRename, - new LanguageProtocolDelegatingHandlers.RequestCapability(handler)); - } - -public static ILanguageServerRegistry OnPrepareRename(this ILanguageServerRegistry registry, - Func> handler) - { - return registry.AddHandler(TextDocumentNames.PrepareRename, RequestHandler.For(handler)); - } - -public static ILanguageServerRegistry OnPrepareRename(this ILanguageServerRegistry registry, - Func> handler) - { - return registry.AddHandler(TextDocumentNames.PrepareRename, RequestHandler.For(handler)); - } - - public static Task PrepareRename(this ITextDocumentLanguageClient mediator, PrepareRenameParams @params, CancellationToken cancellationToken = default) - { - return mediator.SendRequest(@params, cancellationToken); - } - } } diff --git a/src/Protocol/Document/IPublishDiagnosticsHandler.cs b/src/Protocol/Document/IPublishDiagnosticsHandler.cs index e7218c3fc..6db77ba24 100644 --- a/src/Protocol/Document/IPublishDiagnosticsHandler.cs +++ b/src/Protocol/Document/IPublishDiagnosticsHandler.cs @@ -1,9 +1,8 @@ -using System; using System.Threading; using System.Threading.Tasks; using MediatR; using OmniSharp.Extensions.JsonRpc; -using OmniSharp.Extensions.LanguageServer.Protocol.Client; +using OmniSharp.Extensions.JsonRpc.Generation; using OmniSharp.Extensions.LanguageServer.Protocol.Models; using OmniSharp.Extensions.LanguageServer.Protocol.Server; @@ -11,42 +10,11 @@ namespace OmniSharp.Extensions.LanguageServer.Protocol.Document { [Parallel, Method(TextDocumentNames.PublishDiagnostics, Direction.ServerToClient)] + [GenerateHandlerMethods, GenerateRequestMethods(typeof(ITextDocumentLanguageServer), typeof(ILanguageServer))] public interface IPublishDiagnosticsHandler : IJsonRpcNotificationHandler { } public abstract class PublishDiagnosticsHandler : IPublishDiagnosticsHandler { public abstract Task Handle(PublishDiagnosticsParams request, CancellationToken cancellationToken); } - - public static class PublishDiagnosticsExtensions - { - public static ILanguageClientRegistry OnPublishDiagnostics(this ILanguageClientRegistry registry, - Func handler) - { - return registry.AddHandler(TextDocumentNames.PublishDiagnostics, NotificationHandler.For(handler)); - } - - public static ILanguageClientRegistry OnPublishDiagnostics(this ILanguageClientRegistry registry, - Func handler) - { - return registry.AddHandler(TextDocumentNames.PublishDiagnostics, NotificationHandler.For(handler)); - } - - public static ILanguageClientRegistry OnPublishDiagnostics(this ILanguageClientRegistry registry, - Action handler) - { - return registry.AddHandler(TextDocumentNames.PublishDiagnostics, NotificationHandler.For(handler)); - } - - public static ILanguageClientRegistry OnPublishDiagnostics(this ILanguageClientRegistry registry, - Action handler) - { - return registry.AddHandler(TextDocumentNames.PublishDiagnostics, NotificationHandler.For(handler)); - } - - public static void PublishDiagnostics(this ITextDocumentLanguageServer mediator, PublishDiagnosticsParams @params) - { - mediator.SendNotification(@params); - } - } } diff --git a/src/Protocol/Document/IReferencesHandler.cs b/src/Protocol/Document/IReferencesHandler.cs index ce447a0cc..96b1fa83a 100644 --- a/src/Protocol/Document/IReferencesHandler.cs +++ b/src/Protocol/Document/IReferencesHandler.cs @@ -1,18 +1,15 @@ -using System; -using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; -using Microsoft.Extensions.DependencyInjection; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; using OmniSharp.Extensions.LanguageServer.Protocol.Client; using OmniSharp.Extensions.LanguageServer.Protocol.Client.Capabilities; using OmniSharp.Extensions.LanguageServer.Protocol.Models; -using OmniSharp.Extensions.LanguageServer.Protocol.Progress; -using OmniSharp.Extensions.LanguageServer.Protocol.Server; namespace OmniSharp.Extensions.LanguageServer.Protocol.Document { [Parallel, Method(TextDocumentNames.References, Direction.ClientToServer)] + [GenerateHandlerMethods, GenerateRequestMethods(typeof(ITextDocumentLanguageClient), typeof(ILanguageClient))] public interface IReferencesHandler : IJsonRpcRequestHandler, IRegistration, ICapability { } public abstract class ReferencesHandler : IReferencesHandler @@ -28,96 +25,4 @@ public ReferencesHandler(ReferenceRegistrationOptions registrationOptions) public virtual void SetCapability(ReferenceCapability capability) => Capability = capability; protected ReferenceCapability Capability { get; private set; } } - - public static class ReferencesExtensions - { -public static ILanguageServerRegistry OnReferences(this ILanguageServerRegistry registry, - Func> - handler, - ReferenceRegistrationOptions registrationOptions) - { - registrationOptions ??= new ReferenceRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.References, - new LanguageProtocolDelegatingHandlers.Request(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnReferences(this ILanguageServerRegistry registry, - Func> handler, - ReferenceRegistrationOptions registrationOptions) - { - registrationOptions ??= new ReferenceRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.References, - new LanguageProtocolDelegatingHandlers.RequestRegistration(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnReferences(this ILanguageServerRegistry registry, - Func> handler, - ReferenceRegistrationOptions registrationOptions) - { - registrationOptions ??= new ReferenceRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.References, - new LanguageProtocolDelegatingHandlers.RequestRegistration(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnReferences(this ILanguageServerRegistry registry, - Action>, ReferenceCapability, - CancellationToken> handler, - ReferenceRegistrationOptions registrationOptions) - { - registrationOptions ??= new ReferenceRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.References, - _ => - new LanguageProtocolDelegatingHandlers.PartialResults(handler, - registrationOptions, _.GetService(), x => new LocationContainer(x))); - } - -public static ILanguageServerRegistry OnReferences(this ILanguageServerRegistry registry, - Action>, ReferenceCapability> - handler, - ReferenceRegistrationOptions registrationOptions) - { - registrationOptions ??= new ReferenceRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.References, - _ => - new LanguageProtocolDelegatingHandlers.PartialResults(handler, - registrationOptions, _.GetService(), x => new LocationContainer(x))); - } - -public static ILanguageServerRegistry OnReferences(this ILanguageServerRegistry registry, - Action>, CancellationToken> handler, - ReferenceRegistrationOptions registrationOptions) - { - registrationOptions ??= new ReferenceRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.References, - _ => - new LanguageProtocolDelegatingHandlers.PartialResults(handler, registrationOptions, - _.GetService(), x => new LocationContainer(x))); - } - -public static ILanguageServerRegistry OnReferences(this ILanguageServerRegistry registry, - Action>> handler, - ReferenceRegistrationOptions registrationOptions) - { - registrationOptions ??= new ReferenceRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.References, - _ => - new LanguageProtocolDelegatingHandlers.PartialResults(handler, registrationOptions, - _.GetService(), x => new LocationContainer(x))); - } - - public static IRequestProgressObservable, LocationContainer> RequestReferences( - this ITextDocumentLanguageClient mediator, - ReferenceParams @params, - CancellationToken cancellationToken = default) - { - return mediator.ProgressManager.MonitorUntil(@params, x => new LocationContainer(x), cancellationToken); - } - } } diff --git a/src/Protocol/Document/IRenameHandler.cs b/src/Protocol/Document/IRenameHandler.cs index 406db33c1..8eb88267a 100644 --- a/src/Protocol/Document/IRenameHandler.cs +++ b/src/Protocol/Document/IRenameHandler.cs @@ -1,15 +1,15 @@ -using System; using System.Threading; using System.Threading.Tasks; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; using OmniSharp.Extensions.LanguageServer.Protocol.Client; using OmniSharp.Extensions.LanguageServer.Protocol.Client.Capabilities; using OmniSharp.Extensions.LanguageServer.Protocol.Models; -using OmniSharp.Extensions.LanguageServer.Protocol.Server; namespace OmniSharp.Extensions.LanguageServer.Protocol.Document { [Serial, Method(TextDocumentNames.Rename, Direction.ClientToServer)] + [GenerateHandlerMethods, GenerateRequestMethods(typeof(ITextDocumentLanguageClient), typeof(ILanguageClient))] public interface IRenameHandler : IJsonRpcRequestHandler, IRegistration, ICapability { } public abstract class RenameHandler : IRenameHandler @@ -25,43 +25,4 @@ public RenameHandler(RenameRegistrationOptions registrationOptions) public virtual void SetCapability(RenameCapability capability) => Capability = capability; protected RenameCapability Capability { get; private set; } } - - public static class RenameExtensions - { -public static ILanguageServerRegistry OnRename(this ILanguageServerRegistry registry, - Func> - handler, - RenameRegistrationOptions registrationOptions) - { - registrationOptions ??= new RenameRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.Rename, - new LanguageProtocolDelegatingHandlers.Request(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnRename(this ILanguageServerRegistry registry, - Func> handler, - RenameRegistrationOptions registrationOptions) - { - registrationOptions ??= new RenameRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.Rename, - new LanguageProtocolDelegatingHandlers.RequestRegistration(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnRename(this ILanguageServerRegistry registry, - Func> handler, - RenameRegistrationOptions registrationOptions) - { - registrationOptions ??= new RenameRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.Rename, - new LanguageProtocolDelegatingHandlers.RequestRegistration(handler, registrationOptions)); - } - - public static Task RequestRename(this ITextDocumentLanguageClient mediator, RenameParams @params, CancellationToken cancellationToken = default) - { - return mediator.SendRequest(@params, cancellationToken); - } - } } diff --git a/src/Protocol/Document/ISelectionRangeHandler.cs b/src/Protocol/Document/ISelectionRangeHandler.cs index 27d7e74b7..56e1e25b1 100644 --- a/src/Protocol/Document/ISelectionRangeHandler.cs +++ b/src/Protocol/Document/ISelectionRangeHandler.cs @@ -1,21 +1,15 @@ -using System; -using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; -using Microsoft.Extensions.DependencyInjection; using OmniSharp.Extensions.JsonRpc; -using OmniSharp.Extensions.LanguageServer.Protocol; +using OmniSharp.Extensions.JsonRpc.Generation; using OmniSharp.Extensions.LanguageServer.Protocol.Client; using OmniSharp.Extensions.LanguageServer.Protocol.Client.Capabilities; using OmniSharp.Extensions.LanguageServer.Protocol.Models; -using OmniSharp.Extensions.LanguageServer.Protocol.Progress; -using OmniSharp.Extensions.LanguageServer.Protocol.Server; -// ReSharper disable once CheckNamespace - -namespace OmniSharp.Extensions.LanguageServer.Server +namespace OmniSharp.Extensions.LanguageServer.Protocol.Document { [Parallel, Method(TextDocumentNames.SelectionRange, Direction.ClientToServer)] + [GenerateHandlerMethods, GenerateRequestMethods(typeof(ITextDocumentLanguageClient), typeof(ILanguageClient))] public interface ISelectionRangeHandler : IJsonRpcRequestHandler>, IRegistration, ICapability { @@ -38,97 +32,4 @@ public abstract Task> Handle(SelectionRangeParams requ public virtual void SetCapability(SelectionRangeCapability capability) => Capability = capability; protected SelectionRangeCapability Capability { get; private set; } } - - public static class SelectionRangeExtensions - { -public static ILanguageServerRegistry OnSelectionRange(this ILanguageServerRegistry registry, - Func>> - handler, - SelectionRangeRegistrationOptions registrationOptions) - { - registrationOptions ??= new SelectionRangeRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.SelectionRange, - new LanguageProtocolDelegatingHandlers.Request, SelectionRangeCapability - , - SelectionRangeRegistrationOptions>(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnSelectionRange(this ILanguageServerRegistry registry, - Func>> handler, - SelectionRangeRegistrationOptions registrationOptions) - { - registrationOptions ??= new SelectionRangeRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.SelectionRange, - new LanguageProtocolDelegatingHandlers.RequestRegistration, - SelectionRangeRegistrationOptions>(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnSelectionRange(this ILanguageServerRegistry registry, - Func>> handler, - SelectionRangeRegistrationOptions registrationOptions) - { - registrationOptions ??= new SelectionRangeRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.SelectionRange, - new LanguageProtocolDelegatingHandlers.RequestRegistration, - SelectionRangeRegistrationOptions>(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnSelectionRange(this ILanguageServerRegistry registry, - Action>, SelectionRangeCapability, - CancellationToken> handler, - SelectionRangeRegistrationOptions registrationOptions) - { - registrationOptions ??= new SelectionRangeRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.SelectionRange, - _ => - new LanguageProtocolDelegatingHandlers.PartialResults, - SelectionRange, SelectionRangeCapability, SelectionRangeRegistrationOptions>(handler, - registrationOptions, _.GetService(), x => new Container(x))); - } - -public static ILanguageServerRegistry OnSelectionRange(this ILanguageServerRegistry registry, - Action>, SelectionRangeCapability> - handler, - SelectionRangeRegistrationOptions registrationOptions) - { - registrationOptions ??= new SelectionRangeRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.SelectionRange, - _ => - new LanguageProtocolDelegatingHandlers.PartialResults, - SelectionRange, SelectionRangeCapability, SelectionRangeRegistrationOptions>(handler, - registrationOptions, _.GetService(), x => new Container(x))); - } - -public static ILanguageServerRegistry OnSelectionRange(this ILanguageServerRegistry registry, - Action>, CancellationToken> handler, - SelectionRangeRegistrationOptions registrationOptions) - { - registrationOptions ??= new SelectionRangeRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.SelectionRange, - _ => - new LanguageProtocolDelegatingHandlers.PartialResults, - SelectionRange, SelectionRangeRegistrationOptions>(handler, registrationOptions, - _.GetService(), x => new Container(x))); - } - -public static ILanguageServerRegistry OnSelectionRange(this ILanguageServerRegistry registry, - Action>> handler, - SelectionRangeRegistrationOptions registrationOptions) - { - registrationOptions ??= new SelectionRangeRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.SelectionRange, - _ => - new LanguageProtocolDelegatingHandlers.PartialResults, - SelectionRange, SelectionRangeRegistrationOptions>(handler, registrationOptions, - _.GetService(), x => new Container(x))); - } - - public static IRequestProgressObservable RequestSelectionRange( - this ITextDocumentLanguageClient mediator, - SelectionRangeParams @params, - CancellationToken cancellationToken = default) - { - return mediator.ProgressManager.MonitorUntil(@params, cancellationToken); - } - } } diff --git a/src/Protocol/Document/ISignatureHelpHandler.cs b/src/Protocol/Document/ISignatureHelpHandler.cs index 777914b74..83a54a1a1 100644 --- a/src/Protocol/Document/ISignatureHelpHandler.cs +++ b/src/Protocol/Document/ISignatureHelpHandler.cs @@ -2,6 +2,7 @@ using System.Threading; using System.Threading.Tasks; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; using OmniSharp.Extensions.LanguageServer.Protocol.Client; using OmniSharp.Extensions.LanguageServer.Protocol.Client.Capabilities; using OmniSharp.Extensions.LanguageServer.Protocol.Models; @@ -10,6 +11,7 @@ namespace OmniSharp.Extensions.LanguageServer.Protocol.Document { [Parallel, Method(TextDocumentNames.SignatureHelp, Direction.ClientToServer)] + [GenerateHandlerMethods, GenerateRequestMethods(typeof(ITextDocumentLanguageClient), typeof(ILanguageClient))] public interface ISignatureHelpHandler : IJsonRpcRequestHandler, IRegistration, ICapability { } public abstract class SignatureHelpHandler : ISignatureHelpHandler @@ -25,43 +27,4 @@ public SignatureHelpHandler(SignatureHelpRegistrationOptions registrationOptions public virtual void SetCapability(SignatureHelpCapability capability) => Capability = capability; protected SignatureHelpCapability Capability { get; private set; } } - - public static class SignatureHelpExtensions - { -public static ILanguageServerRegistry OnSignatureHelp(this ILanguageServerRegistry registry, - Func> - handler, - SignatureHelpRegistrationOptions registrationOptions) - { - registrationOptions ??= new SignatureHelpRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.SignatureHelp, - new LanguageProtocolDelegatingHandlers.Request(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnSignatureHelp(this ILanguageServerRegistry registry, - Func> handler, - SignatureHelpRegistrationOptions registrationOptions) - { - registrationOptions ??= new SignatureHelpRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.SignatureHelp, - new LanguageProtocolDelegatingHandlers.RequestRegistration(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnSignatureHelp(this ILanguageServerRegistry registry, - Func> handler, - SignatureHelpRegistrationOptions registrationOptions) - { - registrationOptions ??= new SignatureHelpRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.SignatureHelp, - new LanguageProtocolDelegatingHandlers.RequestRegistration(handler, registrationOptions)); - } - - public static Task RequestSignatureHelp(this ITextDocumentLanguageClient mediator, SignatureHelpParams @params, CancellationToken cancellationToken = default) - { - return mediator.SendRequest(@params, cancellationToken); - } - } } diff --git a/src/Protocol/Document/ITypeDefinitionHandler.cs b/src/Protocol/Document/ITypeDefinitionHandler.cs index 9a807da24..e5445ba49 100644 --- a/src/Protocol/Document/ITypeDefinitionHandler.cs +++ b/src/Protocol/Document/ITypeDefinitionHandler.cs @@ -1,15 +1,10 @@ -using System; -using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; -using Microsoft.Extensions.DependencyInjection; using OmniSharp.Extensions.JsonRpc; using OmniSharp.Extensions.JsonRpc.Generation; using OmniSharp.Extensions.LanguageServer.Protocol.Client; using OmniSharp.Extensions.LanguageServer.Protocol.Client.Capabilities; using OmniSharp.Extensions.LanguageServer.Protocol.Models; -using OmniSharp.Extensions.LanguageServer.Protocol.Progress; -using OmniSharp.Extensions.LanguageServer.Protocol.Server; namespace OmniSharp.Extensions.LanguageServer.Protocol.Document { diff --git a/src/Protocol/Document/IWillSaveTextDocumentHandler.cs b/src/Protocol/Document/IWillSaveTextDocumentHandler.cs index 0f965cf12..4f5221cfc 100644 --- a/src/Protocol/Document/IWillSaveTextDocumentHandler.cs +++ b/src/Protocol/Document/IWillSaveTextDocumentHandler.cs @@ -3,6 +3,7 @@ using System.Threading.Tasks; using MediatR; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; using OmniSharp.Extensions.LanguageServer.Protocol.Client; using OmniSharp.Extensions.LanguageServer.Protocol.Client.Capabilities; using OmniSharp.Extensions.LanguageServer.Protocol.Models; @@ -11,6 +12,7 @@ namespace OmniSharp.Extensions.LanguageServer.Protocol.Document { [Parallel, Method(TextDocumentNames.WillSave, Direction.ClientToServer)] + [GenerateHandlerMethods, GenerateRequestMethods(typeof(ITextDocumentLanguageClient), typeof(ILanguageClient))] public interface IWillSaveTextDocumentHandler : IJsonRpcNotificationHandler, IRegistration, ICapability { } public abstract class WillSaveTextDocumentHandler : IWillSaveTextDocumentHandler @@ -26,81 +28,4 @@ public WillSaveTextDocumentHandler(TextDocumentRegistrationOptions registrationO public virtual void SetCapability(SynchronizationCapability capability) => Capability = capability; protected SynchronizationCapability Capability { get; private set; } } - - public static class WillSaveTextDocumentExtensions - { -public static ILanguageServerRegistry OnWillSaveTextDocument(this ILanguageServerRegistry registry, - Func handler, - TextDocumentRegistrationOptions registrationOptions) - { - registrationOptions ??= new TextDocumentRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.WillSave, - new LanguageProtocolDelegatingHandlers.Notification(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnWillSaveTextDocument(this ILanguageServerRegistry registry, - Func handler, - TextDocumentRegistrationOptions registrationOptions) - { - registrationOptions ??= new TextDocumentRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.WillSave, - new LanguageProtocolDelegatingHandlers.Notification(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnWillSaveTextDocument(this ILanguageServerRegistry registry, - Func handler, - TextDocumentRegistrationOptions registrationOptions) - { - registrationOptions ??= new TextDocumentRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.WillSave, - new LanguageProtocolDelegatingHandlers.Notification(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnWillSaveTextDocument(this ILanguageServerRegistry registry, - Action handler, - TextDocumentRegistrationOptions registrationOptions) - { - registrationOptions ??= new TextDocumentRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.WillSave, - new LanguageProtocolDelegatingHandlers.Notification((p, c, ct) => { - handler(p, c, ct); - return Task.CompletedTask; - }, registrationOptions)); - } - -public static ILanguageServerRegistry OnWillSaveTextDocument(this ILanguageServerRegistry registry, - Action handler, - TextDocumentRegistrationOptions registrationOptions) - { - registrationOptions ??= new TextDocumentRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.WillSave, - new LanguageProtocolDelegatingHandlers.Notification((p, ct) => { - handler(p, ct); - return Task.CompletedTask; - }, registrationOptions)); - } - -public static ILanguageServerRegistry OnWillSaveTextDocument(this ILanguageServerRegistry registry, - Action handler, - TextDocumentRegistrationOptions registrationOptions) - { - registrationOptions ??= new TextDocumentRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.WillSave, - new LanguageProtocolDelegatingHandlers.Notification((p, ct) => { - handler(p); - return Task.CompletedTask; - }, registrationOptions)); - } - - public static void SendWillSaveTextDocument(this ITextDocumentLanguageClient mediator, WillSaveTextDocumentParams @params, CancellationToken cancellationToken = default) - { - mediator.SendRequest(@params, cancellationToken); - } - } } diff --git a/src/Protocol/Document/IWillSaveWaitUntilTextDocumentHandler.cs b/src/Protocol/Document/IWillSaveWaitUntilTextDocumentHandler.cs index acf62375d..1ef780351 100644 --- a/src/Protocol/Document/IWillSaveWaitUntilTextDocumentHandler.cs +++ b/src/Protocol/Document/IWillSaveWaitUntilTextDocumentHandler.cs @@ -1,15 +1,15 @@ -using System; using System.Threading; using System.Threading.Tasks; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; using OmniSharp.Extensions.LanguageServer.Protocol.Client; using OmniSharp.Extensions.LanguageServer.Protocol.Client.Capabilities; using OmniSharp.Extensions.LanguageServer.Protocol.Models; -using OmniSharp.Extensions.LanguageServer.Protocol.Server; namespace OmniSharp.Extensions.LanguageServer.Protocol.Document { [Serial, Method(TextDocumentNames.WillSaveWaitUntil, Direction.ClientToServer)] + [GenerateHandlerMethods, GenerateRequestMethods(typeof(ITextDocumentLanguageClient), typeof(ILanguageClient))] public interface IWillSaveWaitUntilTextDocumentHandler : IJsonRpcRequestHandler, IRegistration, ICapability { } public abstract class WillSaveWaitUntilTextDocumentHandler : IWillSaveWaitUntilTextDocumentHandler @@ -25,53 +25,4 @@ public WillSaveWaitUntilTextDocumentHandler(TextDocumentRegistrationOptions regi public virtual void SetCapability(SynchronizationCapability capability) => Capability = capability; protected SynchronizationCapability Capability { get; private set; } } - - public static class WillSaveWaitUntilTextDocumentExtensions - { -public static ILanguageServerRegistry OnWillSaveWaitUntilTextDocument(this ILanguageServerRegistry registry, - Func> - handler, - TextDocumentRegistrationOptions registrationOptions) - { - registrationOptions ??= new TextDocumentRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.WillSaveWaitUntil, - new LanguageProtocolDelegatingHandlers.Request(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnWillSaveWaitUntilTextDocument(this ILanguageServerRegistry registry, - Func> handler, - TextDocumentRegistrationOptions registrationOptions) - { - registrationOptions ??= new TextDocumentRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.WillSaveWaitUntil, - new LanguageProtocolDelegatingHandlers.Request(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnWillSaveWaitUntilTextDocument(this ILanguageServerRegistry registry, - Func> handler, - TextDocumentRegistrationOptions registrationOptions) - { - registrationOptions ??= new TextDocumentRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.WillSaveWaitUntil, - new LanguageProtocolDelegatingHandlers.RequestRegistration(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnWillSaveWaitUntilTextDocument(this ILanguageServerRegistry registry, - Func> handler, - TextDocumentRegistrationOptions registrationOptions) - { - registrationOptions ??= new TextDocumentRegistrationOptions(); - return registry.AddHandler(TextDocumentNames.WillSaveWaitUntil, - new LanguageProtocolDelegatingHandlers.RequestRegistration(handler, registrationOptions)); - } - - public static Task RequestWillSaveWaitUntilTextDocument(this ITextDocumentLanguageClient mediator, WillSaveWaitUntilTextDocumentParams @params, CancellationToken cancellationToken = default) - { - return mediator.SendRequest(@params, cancellationToken); - } - } } diff --git a/src/Protocol/Document/Proposals/ICallHierarchyHandler.cs b/src/Protocol/Document/Proposals/ICallHierarchyHandler.cs index c8963e6db..2d98f6c12 100644 --- a/src/Protocol/Document/Proposals/ICallHierarchyHandler.cs +++ b/src/Protocol/Document/Proposals/ICallHierarchyHandler.cs @@ -1,10 +1,10 @@ using System; using System.Collections.Generic; -using System.Reactive.Disposables; using System.Threading; using System.Threading.Tasks; using Microsoft.Extensions.DependencyInjection; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; using OmniSharp.Extensions.LanguageServer.Protocol.Client; using OmniSharp.Extensions.LanguageServer.Protocol.Client.Capabilities; using OmniSharp.Extensions.LanguageServer.Protocol.Models; @@ -16,6 +16,7 @@ namespace OmniSharp.Extensions.LanguageServer.Protocol.Document.Proposals { [Obsolete(Constants.Proposal)] [Parallel, Method(TextDocumentNames.PrepareCallHierarchy, Direction.ClientToServer)] + [GenerateHandlerMethods, GenerateRequestMethods(typeof(ITextDocumentLanguageClient), typeof(ILanguageClient))] public interface ICallHierarchyHandler : IJsonRpcRequestHandler>, IRegistration, ICapability @@ -24,6 +25,7 @@ public interface ICallHierarchyHandler : [Obsolete(Constants.Proposal)] [Parallel, Method(TextDocumentNames.CallHierarchyIncoming, Direction.ClientToServer)] + [GenerateHandlerMethods, GenerateRequestMethods(typeof(ITextDocumentLanguageClient), typeof(ILanguageClient))] public interface ICallHierarchyIncomingHandler : IJsonRpcRequestHandler>, IRegistration, ICapability @@ -32,6 +34,7 @@ public interface ICallHierarchyIncomingHandler : IJsonRpcRequestHandler>, IRegistration, ICapability @@ -65,7 +68,7 @@ public abstract Task> Handle(CallHierarchyO } [Obsolete(Constants.Proposal)] - public static class CallHierarchyExtensions + public static partial class CallHierarchyExtensions { public static ILanguageServerRegistry OnCallHierarchy( this ILanguageServerRegistry registry, @@ -93,7 +96,7 @@ public static ILanguageServerRegistry OnCallHierarchy( ; } -public static ILanguageServerRegistry OnCallHierarchy(this ILanguageServerRegistry registry, + public static ILanguageServerRegistry OnCallHierarchy(this ILanguageServerRegistry registry, Func>> handler, Func>> incomingHandler, Func>> outgoingHandler, @@ -118,7 +121,7 @@ public static ILanguageServerRegistry OnCallHierarchy(this ILanguageServerRegist ; } -public static ILanguageServerRegistry OnCallHierarchy(this ILanguageServerRegistry registry, + public static ILanguageServerRegistry OnCallHierarchy(this ILanguageServerRegistry registry, Func>> handler, Func>> incomingHandler, Func>> outgoingHandler, @@ -141,7 +144,7 @@ public static ILanguageServerRegistry OnCallHierarchy(this ILanguageServerRegist ; } -public static ILanguageServerRegistry OnCallHierarchy(this ILanguageServerRegistry registry, + public static ILanguageServerRegistry OnCallHierarchy(this ILanguageServerRegistry registry, Func>> handler, Func>> incomingHandler, Func>> outgoingHandler, @@ -164,7 +167,7 @@ public static ILanguageServerRegistry OnCallHierarchy(this ILanguageServerRegist ; } -public static ILanguageServerRegistry OnCallHierarchy(this ILanguageServerRegistry registry, + public static ILanguageServerRegistry OnCallHierarchy(this ILanguageServerRegistry registry, Func>> handler, Action>, CallHierarchyCapability, CancellationToken> incomingHandler, Action>, CallHierarchyCapability, CancellationToken> outgoingHandler, @@ -192,7 +195,7 @@ public static ILanguageServerRegistry OnCallHierarchy(this ILanguageServerRegist ; } -public static ILanguageServerRegistry OnCallHierarchy(this ILanguageServerRegistry registry, + public static ILanguageServerRegistry OnCallHierarchy(this ILanguageServerRegistry registry, Func>> handler, Action>, CallHierarchyCapability> incomingHandler, Action>, CallHierarchyCapability> outgoingHandler, @@ -220,7 +223,7 @@ public static ILanguageServerRegistry OnCallHierarchy(this ILanguageServerRegist ; } -public static ILanguageServerRegistry OnCallHierarchy(this ILanguageServerRegistry registry, + public static ILanguageServerRegistry OnCallHierarchy(this ILanguageServerRegistry registry, Func>> handler, Action>, CancellationToken> incomingHandler, Action>, CancellationToken> outgoingHandler, @@ -245,7 +248,7 @@ public static ILanguageServerRegistry OnCallHierarchy(this ILanguageServerRegist ; } -public static ILanguageServerRegistry OnCallHierarchy(this ILanguageServerRegistry registry, + public static ILanguageServerRegistry OnCallHierarchy(this ILanguageServerRegistry registry, Func>> handler, Action>> incomingHandler, Action>> outgoingHandler, @@ -269,32 +272,5 @@ public static ILanguageServerRegistry OnCallHierarchy(this ILanguageServerRegist _.GetRequiredService(), x => new Container(x))) ; } - - public static Task> RequestCallHierarchy(this ITextDocumentLanguageClient mediator, - CallHierarchyPrepareParams @params, CancellationToken cancellationToken = default) - { - return mediator.SendRequest(@params, cancellationToken); - } - - public static IRequestProgressObservable RequestCallHierarchyIncoming( - this ITextDocumentLanguageClient mediator, CallHierarchyIncomingCallsParams @params, - CancellationToken cancellationToken = default) - { - return mediator.ProgressManager.MonitorUntil(@params, cancellationToken); - } - - public static Task> RequestCallHierarchyOutgoing( - this ITextDocumentLanguageClient mediator, CallHierarchyOutgoingCallsParams @params, - CancellationToken cancellationToken = default) - { - return mediator.SendRequest(@params, cancellationToken); - } - - public static IRequestProgressObservable RequestCallHierarchyIncoming( - this ITextDocumentLanguageClient mediator, CallHierarchyOutgoingCallsParams @params, - CancellationToken cancellationToken = default) - { - return mediator.ProgressManager.MonitorUntil(@params, cancellationToken); - } } } diff --git a/src/Protocol/Document/Proposals/ISemanticTokensEditsHandler.cs b/src/Protocol/Document/Proposals/ISemanticTokensEditsHandler.cs index ec3157637..e0c4e2ed5 100644 --- a/src/Protocol/Document/Proposals/ISemanticTokensEditsHandler.cs +++ b/src/Protocol/Document/Proposals/ISemanticTokensEditsHandler.cs @@ -81,7 +81,7 @@ public virtual async Task Handle(SemanticTokensRangeParams reque [Obsolete(Constants.Proposal)] public static class SemanticTokensExtensions { -public static ILanguageServerRegistry OnSemanticTokens(this ILanguageServerRegistry registry, + public static ILanguageServerRegistry OnSemanticTokens(this ILanguageServerRegistry registry, Func tokenize, Func> getSemanticTokensDocument, SemanticTokensRegistrationOptions registrationOptions) @@ -101,7 +101,7 @@ public static ILanguageServerRegistry OnSemanticTokens(this ILanguageServerRegis new DelegatingHandler(tokenize, getSemanticTokensDocument, registrationOptions)); } -public static ILanguageServerRegistry OnSemanticTokens(this ILanguageServerRegistry registry, + public static ILanguageServerRegistry OnSemanticTokens(this ILanguageServerRegistry registry, Func tokenize, Func> getSemanticTokensDocument, SemanticTokensRegistrationOptions registrationOptions) @@ -123,7 +123,7 @@ public static ILanguageServerRegistry OnSemanticTokens(this ILanguageServerRegis registrationOptions)); } -public static ILanguageServerRegistry OnSemanticTokens(this ILanguageServerRegistry registry, + public static ILanguageServerRegistry OnSemanticTokens(this ILanguageServerRegistry registry, Func tokenize, Func> getSemanticTokensDocument, SemanticTokensRegistrationOptions registrationOptions) diff --git a/src/Protocol/General/IExitHandler.cs b/src/Protocol/General/IExitHandler.cs index 01525e9d5..b9d93e387 100644 --- a/src/Protocol/General/IExitHandler.cs +++ b/src/Protocol/General/IExitHandler.cs @@ -1,15 +1,14 @@ -using System; using System.Threading; using System.Threading.Tasks; using MediatR; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; using OmniSharp.Extensions.LanguageServer.Protocol.Client; using OmniSharp.Extensions.LanguageServer.Protocol.Models; -using OmniSharp.Extensions.LanguageServer.Protocol.Server; namespace OmniSharp.Extensions.LanguageServer.Protocol.General { - [Serial, Method(GeneralNames.Exit, Direction.ClientToServer)] + [Serial, Method(GeneralNames.Exit, Direction.ClientToServer), GenerateHandlerMethods, GenerateRequestMethods] public interface IExitHandler : IJsonRpcNotificationHandler { } @@ -25,40 +24,11 @@ public virtual async Task Handle(ExitParams request, CancellationToken can protected abstract Task Handle(CancellationToken cancellationToken); } - public static class ExitExtensions + public static partial class ExitExtensions { - public static ILanguageServerRegistry OnExit(this ILanguageServerRegistry registry, Action handler) - { - return registry.AddHandler(GeneralNames.Exit, - NotificationHandler.For(handler)); - } - - public static ILanguageServerRegistry OnExit(this ILanguageServerRegistry registry, Func handler) - { - return registry.AddHandler(GeneralNames.Exit, - NotificationHandler.For(handler)); - } - - public static ILanguageServerRegistry OnExit(this ILanguageServerRegistry registry, Action handler) - { - return registry.AddHandler(GeneralNames.Exit, - NotificationHandler.For(handler)); - } - - public static ILanguageServerRegistry OnExit(this ILanguageServerRegistry registry, Func handler) - { - return registry.AddHandler(GeneralNames.Exit, - NotificationHandler.For(handler)); - } - public static void SendExit(this ILanguageClient mediator) { mediator.SendNotification(ExitParams.Instance); } - - public static void SendExit(this ILanguageClient mediator, ExitParams @params) - { - mediator.SendNotification(@params); - } } } diff --git a/src/Protocol/General/ILanguageProtocolInitializeHandler.cs b/src/Protocol/General/ILanguageProtocolInitializeHandler.cs index b6d7a6d8c..fda94eac7 100644 --- a/src/Protocol/General/ILanguageProtocolInitializeHandler.cs +++ b/src/Protocol/General/ILanguageProtocolInitializeHandler.cs @@ -1,4 +1,3 @@ -using System; using System.Threading; using System.Threading.Tasks; using OmniSharp.Extensions.JsonRpc; diff --git a/src/Protocol/General/ILanguageProtocolInitializedHandler.cs b/src/Protocol/General/ILanguageProtocolInitializedHandler.cs index 81bb5eeb7..be207a051 100644 --- a/src/Protocol/General/ILanguageProtocolInitializedHandler.cs +++ b/src/Protocol/General/ILanguageProtocolInitializedHandler.cs @@ -1,8 +1,8 @@ -using System; using System.Threading; using System.Threading.Tasks; using MediatR; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; using OmniSharp.Extensions.LanguageServer.Protocol.Client; using OmniSharp.Extensions.LanguageServer.Protocol.Models; using OmniSharp.Extensions.LanguageServer.Protocol.Server; @@ -10,38 +10,11 @@ namespace OmniSharp.Extensions.LanguageServer.Protocol.General { [Serial, Method(GeneralNames.Initialized, Direction.ClientToServer)] + [GenerateHandlerMethods(typeof(ILanguageServerRegistry), MethodName = "OnLanguageProtocolInitialized"), GenerateRequestMethods(typeof(ILanguageClient), MethodName = "SendLanguageProtocolInitialized")] public interface ILanguageProtocolInitializedHandler : IJsonRpcNotificationHandler { } public abstract class LanguageProtocolInitializedHandler : ILanguageProtocolInitializedHandler { public abstract Task Handle(InitializedParams request, CancellationToken cancellationToken); } - - public static class LanguageProtocolInitializedExtensions - { - public static ILanguageServerRegistry OnLanguageProtocolInitialized(this ILanguageServerRegistry registry, Action handler) - { - return registry.AddHandler(GeneralNames.Initialized, NotificationHandler.For(handler)); - } - - public static ILanguageServerRegistry OnLanguageProtocolInitialized(this ILanguageServerRegistry registry, Action handler) - { - return registry.AddHandler(GeneralNames.Initialized, NotificationHandler.For(handler)); - } - - public static ILanguageServerRegistry OnLanguageProtocolInitialized(this ILanguageServerRegistry registry, Func handler) - { - return registry.AddHandler(GeneralNames.Initialized, NotificationHandler.For(handler)); - } - - public static ILanguageServerRegistry OnLanguageProtocolInitialized(this ILanguageServerRegistry registry, Func handler) - { - return registry.AddHandler(GeneralNames.Initialized, NotificationHandler.For(handler)); - } - - public static void SendLanguageProtocolInitialized(this ILanguageClient mediator, InitializedParams @params) - { - mediator.SendNotification(@params); - } - } } diff --git a/src/Protocol/General/IShutdownHandler.cs b/src/Protocol/General/IShutdownHandler.cs index ca0696ddb..73fad267e 100644 --- a/src/Protocol/General/IShutdownHandler.cs +++ b/src/Protocol/General/IShutdownHandler.cs @@ -1,4 +1,3 @@ -using System; using System.Threading; using System.Threading.Tasks; using MediatR; @@ -6,7 +5,6 @@ using OmniSharp.Extensions.JsonRpc.Generation; using OmniSharp.Extensions.LanguageServer.Protocol.Client; using OmniSharp.Extensions.LanguageServer.Protocol.Models; -using OmniSharp.Extensions.LanguageServer.Protocol.Server; namespace OmniSharp.Extensions.LanguageServer.Protocol.General { diff --git a/src/Protocol/Progress/ProgressManager.cs b/src/Protocol/Progress/ProgressManager.cs index afbca58b3..0f036f0ff 100644 --- a/src/Protocol/Progress/ProgressManager.cs +++ b/src/Protocol/Progress/ProgressManager.cs @@ -7,7 +7,6 @@ using MediatR; using Newtonsoft.Json.Linq; using OmniSharp.Extensions.JsonRpc; -using OmniSharp.Extensions.JsonRpc.Server; using OmniSharp.Extensions.LanguageServer.Protocol.Models; using ISerializer = OmniSharp.Extensions.LanguageServer.Protocol.Serialization.ISerializer; diff --git a/src/Protocol/Server/ILanguageServerRegistry.cs b/src/Protocol/Server/ILanguageServerRegistry.cs index 639345811..0007e0d05 100644 --- a/src/Protocol/Server/ILanguageServerRegistry.cs +++ b/src/Protocol/Server/ILanguageServerRegistry.cs @@ -1,6 +1,4 @@ -using System; using OmniSharp.Extensions.JsonRpc; -using OmniSharp.Extensions.LanguageServer.Protocol.Document; namespace OmniSharp.Extensions.LanguageServer.Protocol.Server { diff --git a/src/Protocol/Window/ILogMessageHandler.cs b/src/Protocol/Window/ILogMessageHandler.cs index b1fc064e8..41509a184 100644 --- a/src/Protocol/Window/ILogMessageHandler.cs +++ b/src/Protocol/Window/ILogMessageHandler.cs @@ -1,15 +1,15 @@ -using System; using System.Threading; using System.Threading.Tasks; using MediatR; using OmniSharp.Extensions.JsonRpc; -using OmniSharp.Extensions.LanguageServer.Protocol.Client; +using OmniSharp.Extensions.JsonRpc.Generation; using OmniSharp.Extensions.LanguageServer.Protocol.Models; using OmniSharp.Extensions.LanguageServer.Protocol.Server; namespace OmniSharp.Extensions.LanguageServer.Protocol.Window { [Parallel, Method(WindowNames.LogMessage, Direction.ServerToClient)] + [GenerateHandlerMethods, GenerateRequestMethods(typeof(IWindowLanguageServer), typeof(ILanguageServer))] public interface ILogMessageHandler : IJsonRpcNotificationHandler { } public abstract class LogMessageHandler : ILogMessageHandler @@ -17,37 +17,8 @@ public abstract class LogMessageHandler : ILogMessageHandler public abstract Task Handle(LogMessageParams request, CancellationToken cancellationToken); } - public static class LogMessageExtensions + public static partial class LogMessageExtensions { -public static ILanguageClientRegistry OnLogMessage(this ILanguageClientRegistry registry, - Action handler) - { - return registry.AddHandler(WindowNames.LogMessage, NotificationHandler.For(handler)); - } - -public static ILanguageClientRegistry OnLogMessage(this ILanguageClientRegistry registry, - Action handler) - { - return registry.AddHandler(WindowNames.LogMessage, NotificationHandler.For(handler)); - } - -public static ILanguageClientRegistry OnLogMessage(this ILanguageClientRegistry registry, - Func handler) - { - return registry.AddHandler(WindowNames.LogMessage, NotificationHandler.For(handler)); - } - -public static ILanguageClientRegistry OnLogMessage(this ILanguageClientRegistry registry, - Func handler) - { - return registry.AddHandler(WindowNames.LogMessage, NotificationHandler.For(handler)); - } - - public static void LogMessage(this IWindowLanguageServer mediator, LogMessageParams @params) - { - mediator.SendNotification(@params); - } - public static void Log(this IWindowLanguageServer mediator, LogMessageParams @params) { mediator.LogMessage(@params); diff --git a/src/Protocol/Window/IShowMessageHandler.cs b/src/Protocol/Window/IShowMessageHandler.cs index 8972b17e7..f64a55ffb 100644 --- a/src/Protocol/Window/IShowMessageHandler.cs +++ b/src/Protocol/Window/IShowMessageHandler.cs @@ -1,76 +1,19 @@ -using System; using System.Threading; using System.Threading.Tasks; using MediatR; using OmniSharp.Extensions.JsonRpc; -using OmniSharp.Extensions.LanguageServer.Protocol.Client; +using OmniSharp.Extensions.JsonRpc.Generation; using OmniSharp.Extensions.LanguageServer.Protocol.Models; using OmniSharp.Extensions.LanguageServer.Protocol.Server; namespace OmniSharp.Extensions.LanguageServer.Protocol.Window { [Parallel, Method(WindowNames.ShowMessage, Direction.ServerToClient)] + [GenerateHandlerMethods, GenerateRequestMethods(typeof(IWindowLanguageServer), typeof(ILanguageServer))] public interface IShowMessageHandler : IJsonRpcNotificationHandler { } public abstract class ShowMessageHandler : IShowMessageHandler { public abstract Task Handle(ShowMessageParams request, CancellationToken cancellationToken); } - - public static class ShowMessageExtensions - { -public static ILanguageClientRegistry OnShowMessage(this ILanguageClientRegistry registry, - Action handler) - { - return registry.AddHandler(WindowNames.ShowMessage, NotificationHandler.For(handler)); - } - -public static ILanguageClientRegistry OnShowMessage(this ILanguageClientRegistry registry, - Action handler) - { - return registry.AddHandler(WindowNames.ShowMessage, NotificationHandler.For(handler)); - } - -public static ILanguageClientRegistry OnShowMessage(this ILanguageClientRegistry registry, - Func handler) - { - return registry.AddHandler(WindowNames.ShowMessage, NotificationHandler.For(handler)); - } - -public static ILanguageClientRegistry OnShowMessage(this ILanguageClientRegistry registry, - Func handler) - { - return registry.AddHandler(WindowNames.ShowMessage, NotificationHandler.For(handler)); - } - - public static void ShowMessage(this IWindowLanguageServer mediator, ShowMessageParams @params) - { - mediator.SendNotification(@params); - } - - public static void Show(this IWindowLanguageServer mediator, ShowMessageParams @params) - { - mediator.ShowMessage(@params); - } - - public static void ShowError(this IWindowLanguageServer mediator, string message) - { - mediator.ShowMessage(new ShowMessageParams() { Type = MessageType.Error, Message = message }); - } - - public static void Show(this IWindowLanguageServer mediator, string message) - { - mediator.ShowMessage(new ShowMessageParams() { Type = MessageType.Log, Message = message }); - } - - public static void ShowWarning(this IWindowLanguageServer mediator, string message) - { - mediator.ShowMessage(new ShowMessageParams() { Type = MessageType.Warning, Message = message }); - } - - public static void ShowInfo(this IWindowLanguageServer mediator, string message) - { - mediator.ShowMessage(new ShowMessageParams() { Type = MessageType.Info, Message = message }); - } - } } diff --git a/src/Protocol/Window/IShowMessageRequestHandler.cs b/src/Protocol/Window/IShowMessageRequestHandler.cs index 314d860de..32b2a66b7 100644 --- a/src/Protocol/Window/IShowMessageRequestHandler.cs +++ b/src/Protocol/Window/IShowMessageRequestHandler.cs @@ -1,39 +1,18 @@ -using System; using System.Threading; using System.Threading.Tasks; using OmniSharp.Extensions.JsonRpc; -using OmniSharp.Extensions.LanguageServer.Protocol.Client; +using OmniSharp.Extensions.JsonRpc.Generation; using OmniSharp.Extensions.LanguageServer.Protocol.Models; using OmniSharp.Extensions.LanguageServer.Protocol.Server; namespace OmniSharp.Extensions.LanguageServer.Protocol.Window { [Serial, Method(WindowNames.ShowMessageRequest, Direction.ServerToClient)] + [GenerateHandlerMethods, GenerateRequestMethods(typeof(IWindowLanguageServer), typeof(ILanguageServer))] public interface IShowMessageRequestHandler : IJsonRpcRequestHandler { } public abstract class ShowMessageRequestHandler : IShowMessageRequestHandler { public abstract Task Handle(ShowMessageRequestParams request, CancellationToken cancellationToken); } - - public static class ShowMessageRequestExtensions - { -public static ILanguageClientRegistry OnShowMessageRequest(this ILanguageClientRegistry registry, - Func> - handler) - { - return registry.AddHandler(WindowNames.ShowMessageRequest, RequestHandler.For(handler)); - } - -public static ILanguageClientRegistry OnShowMessageRequest(this ILanguageClientRegistry registry, - Func> handler) - { - return registry.AddHandler(WindowNames.ShowMessageRequest, RequestHandler.For(handler)); - } - - public static Task ShowMessageRequest(this IWindowLanguageServer mediator, ShowMessageRequestParams @params, CancellationToken cancellationToken = default) - { - return mediator.SendRequest(@params, cancellationToken); - } - } } diff --git a/src/Protocol/Window/ITelemetryEventHandler.cs b/src/Protocol/Window/ITelemetryEventHandler.cs index 945e07661..cb4ee8212 100644 --- a/src/Protocol/Window/ITelemetryEventHandler.cs +++ b/src/Protocol/Window/ITelemetryEventHandler.cs @@ -1,51 +1,19 @@ -using System; using System.Threading; using System.Threading.Tasks; using MediatR; using OmniSharp.Extensions.JsonRpc; -using OmniSharp.Extensions.LanguageServer.Protocol.Client; +using OmniSharp.Extensions.JsonRpc.Generation; using OmniSharp.Extensions.LanguageServer.Protocol.Models; using OmniSharp.Extensions.LanguageServer.Protocol.Server; namespace OmniSharp.Extensions.LanguageServer.Protocol.Window { [Parallel, Method(WindowNames.TelemetryEvent, Direction.ServerToClient)] + [GenerateHandlerMethods, GenerateRequestMethods(typeof(IWindowLanguageServer), typeof(ILanguageServer))] public interface ITelemetryEventHandler : IJsonRpcNotificationHandler { } public abstract class TelemetryEventHandler : ITelemetryEventHandler { public abstract Task Handle(TelemetryEventParams request, CancellationToken cancellationToken); } - - public static class TelemetryEventExtensions - { -public static ILanguageClientRegistry OnTelemetryEvent(this ILanguageClientRegistry registry, - Action handler) - { - return registry.AddHandler(WindowNames.TelemetryEvent, NotificationHandler.For(handler)); - } - -public static ILanguageClientRegistry OnTelemetryEvent(this ILanguageClientRegistry registry, - Action handler) - { - return registry.AddHandler(WindowNames.TelemetryEvent, NotificationHandler.For(handler)); - } - -public static ILanguageClientRegistry OnTelemetryEvent(this ILanguageClientRegistry registry, - Func handler) - { - return registry.AddHandler(WindowNames.TelemetryEvent, NotificationHandler.For(handler)); - } - -public static ILanguageClientRegistry OnTelemetryEvent(this ILanguageClientRegistry registry, - Func handler) - { - return registry.AddHandler(WindowNames.TelemetryEvent, NotificationHandler.For(handler)); - } - - public static void SendTelemetryEvent(this IWindowLanguageServer mediator, TelemetryEventParams @params) - { - mediator.SendNotification(@params); - } - } } diff --git a/src/Protocol/Window/IWorkDoneProgressCancelHandler.cs b/src/Protocol/Window/IWorkDoneProgressCancelHandler.cs index 2f7aaf261..135395216 100644 --- a/src/Protocol/Window/IWorkDoneProgressCancelHandler.cs +++ b/src/Protocol/Window/IWorkDoneProgressCancelHandler.cs @@ -1,48 +1,26 @@ -using System; using System.Threading; using System.Threading.Tasks; using MediatR; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; using OmniSharp.Extensions.LanguageServer.Protocol.Client; using OmniSharp.Extensions.LanguageServer.Protocol.Models; -using OmniSharp.Extensions.LanguageServer.Protocol.Server; namespace OmniSharp.Extensions.LanguageServer.Protocol.Window { [Parallel, Method(WindowNames.WorkDoneProgressCancel, Direction.ClientToServer)] - public interface IWorkDoneProgressCancelHandler : IJsonRpcNotificationHandler { } + [GenerateHandlerMethods, GenerateRequestMethods(typeof(IWindowLanguageClient), typeof(ILanguageClient))] + public interface IWorkDoneProgressCancelHandler : IJsonRpcNotificationHandler + { + } public abstract class WorkDoneProgressCancelHandler : IWorkDoneProgressCancelHandler { public abstract Task Handle(WorkDoneProgressCancelParams request, CancellationToken cancellationToken); } - public static class WorkDoneProgressCancelExtensions + public static partial class WorkDoneProgressCancelExtensions { -public static ILanguageServerRegistry OnWorkDoneProgressCancel(this ILanguageServerRegistry registry, - Action handler) - { - return registry.AddHandler(WindowNames.WorkDoneProgressCancel, NotificationHandler.For(handler)); - } - -public static ILanguageServerRegistry OnWorkDoneProgressCancel(this ILanguageServerRegistry registry, - Action handler) - { - return registry.AddHandler(WindowNames.WorkDoneProgressCancel, NotificationHandler.For(handler)); - } - -public static ILanguageServerRegistry OnWorkDoneProgressCancel(this ILanguageServerRegistry registry, - Func handler) - { - return registry.AddHandler(WindowNames.WorkDoneProgressCancel, NotificationHandler.For(handler)); - } - -public static ILanguageServerRegistry OnWorkDoneProgressCancel(this ILanguageServerRegistry registry, - Func handler) - { - return registry.AddHandler(WindowNames.WorkDoneProgressCancel, NotificationHandler.For(handler)); - } - public static void SendWorkDoneProgressCancel(this IWindowLanguageClient mediator, IWorkDoneProgressParams @params) { mediator.SendNotification(WindowNames.WorkDoneProgressCancel, new WorkDoneProgressCancelParams() { @@ -56,10 +34,5 @@ public static void SendWorkDoneProgressCancel(this IWindowLanguageClient mediato Token = token }); } - - public static void SendWorkDoneProgressCancel(this IWindowLanguageClient mediator, WorkDoneProgressCancelParams token) - { - mediator.SendNotification(token); - } } } diff --git a/src/Protocol/Window/IWorkDoneProgressCreateHandler.cs b/src/Protocol/Window/IWorkDoneProgressCreateHandler.cs index 604bbaa03..e22f76767 100644 --- a/src/Protocol/Window/IWorkDoneProgressCreateHandler.cs +++ b/src/Protocol/Window/IWorkDoneProgressCreateHandler.cs @@ -1,41 +1,19 @@ -using System; using System.Threading; using System.Threading.Tasks; using MediatR; using OmniSharp.Extensions.JsonRpc; -using OmniSharp.Extensions.LanguageServer.Protocol.Client; +using OmniSharp.Extensions.JsonRpc.Generation; using OmniSharp.Extensions.LanguageServer.Protocol.Models; using OmniSharp.Extensions.LanguageServer.Protocol.Server; namespace OmniSharp.Extensions.LanguageServer.Protocol.Window { [Parallel, Method(WindowNames.WorkDoneProgressCreate, Direction.ServerToClient)] + [GenerateHandlerMethods, GenerateRequestMethods(typeof(IWindowLanguageServer), typeof(ILanguageServer))] public interface IWorkDoneProgressCreateHandler : IJsonRpcRequestHandler { } public abstract class WorkDoneProgressCreateHandler : IWorkDoneProgressCreateHandler { public abstract Task Handle(WorkDoneProgressCreateParams request, CancellationToken cancellationToken); } - - public static class WorkDoneProgressCreateExtensions - { -public static ILanguageClientRegistry OnWorkDoneProgressCreate(this ILanguageClientRegistry registry, - Func - handler) - { - return registry.AddHandler(WindowNames.WorkDoneProgressCreate, RequestHandler.For(handler)); - } - -public static ILanguageClientRegistry OnWorkDoneProgressCreate(this ILanguageClientRegistry registry, - Func - handler) - { - return registry.AddHandler(WindowNames.WorkDoneProgressCreate, RequestHandler.For(handler)); - } - - public static async Task RequestWorkDoneProgressCreate(this IWindowLanguageServer mediator, WorkDoneProgressCreateParams @params, CancellationToken cancellationToken = default) - { - await mediator.SendRequest(@params, cancellationToken); - } - } } diff --git a/src/Protocol/Workspace/IApplyEditHandler.cs b/src/Protocol/Workspace/IApplyEditHandler.cs index aa71891db..7e81dbd48 100644 --- a/src/Protocol/Workspace/IApplyEditHandler.cs +++ b/src/Protocol/Workspace/IApplyEditHandler.cs @@ -2,6 +2,7 @@ using System.Threading; using System.Threading.Tasks; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; using OmniSharp.Extensions.LanguageServer.Protocol.Client; using OmniSharp.Extensions.LanguageServer.Protocol.Models; using OmniSharp.Extensions.LanguageServer.Protocol.Server; @@ -9,31 +10,11 @@ namespace OmniSharp.Extensions.LanguageServer.Protocol.Workspace { [Parallel, Method(WorkspaceNames.ApplyEdit, Direction.ServerToClient)] + [GenerateHandlerMethods, GenerateRequestMethods(typeof(IWorkspaceLanguageServer), typeof(ILanguageServer))] public interface IApplyWorkspaceEditHandler : IJsonRpcRequestHandler { } public abstract class ApplyWorkspaceEditHandler : IApplyWorkspaceEditHandler { public abstract Task Handle(ApplyWorkspaceEditParams request, CancellationToken cancellationToken); } - - public static class ApplyWorkspaceEditExtensions - { -public static ILanguageClientRegistry OnApplyWorkspaceEdit(this ILanguageClientRegistry registry, - Func> - handler) - { - return registry.AddHandler(WorkspaceNames.ApplyEdit, RequestHandler.For(handler)); - } - -public static ILanguageClientRegistry OnApplyWorkspaceEdit(this ILanguageClientRegistry registry, - Func> handler) - { - return registry.AddHandler(WorkspaceNames.ApplyEdit, RequestHandler.For(handler)); - } - - public static Task ApplyWorkspaceEdit(this IWorkspaceLanguageServer mediator, ApplyWorkspaceEditParams @params, CancellationToken cancellationToken = default) - { - return mediator.SendRequest(@params, cancellationToken); - } - } } diff --git a/src/Protocol/Workspace/IConfigurationHandler.cs b/src/Protocol/Workspace/IConfigurationHandler.cs index 8785049bb..c4afb1da1 100644 --- a/src/Protocol/Workspace/IConfigurationHandler.cs +++ b/src/Protocol/Workspace/IConfigurationHandler.cs @@ -3,6 +3,7 @@ using System.Threading.Tasks; using Newtonsoft.Json.Linq; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; using OmniSharp.Extensions.LanguageServer.Protocol.Client; using OmniSharp.Extensions.LanguageServer.Protocol.Models; using OmniSharp.Extensions.LanguageServer.Protocol.Server; @@ -10,31 +11,11 @@ namespace OmniSharp.Extensions.LanguageServer.Protocol.Workspace { [Parallel, Method(WorkspaceNames.Configuration, Direction.ServerToClient)] + [GenerateHandlerMethods, GenerateRequestMethods(typeof(IWorkspaceLanguageServer), typeof(ILanguageServer))] public interface IConfigurationHandler : IJsonRpcRequestHandler> { } public abstract class ConfigurationHandler : IConfigurationHandler { public abstract Task> Handle(ConfigurationParams request, CancellationToken cancellationToken); } - - public static class ConfigurationExtensions - { -public static ILanguageClientRegistry OnConfiguration(this ILanguageClientRegistry registry, - Func>> - handler) - { - return registry.AddHandler(WorkspaceNames.Configuration, RequestHandler.For(handler)); - } - -public static ILanguageClientRegistry OnConfiguration(this ILanguageClientRegistry registry, - Func>> handler) - { - return registry.AddHandler(WorkspaceNames.Configuration, RequestHandler.For(handler)); - } - - public static Task> RequestConfiguration(this IWorkspaceLanguageServer router, ConfigurationParams @params, CancellationToken cancellationToken = default) - { - return router.SendRequest(@params, cancellationToken); - } - } } diff --git a/src/Protocol/Workspace/IDidChangeConfigurationHandler.cs b/src/Protocol/Workspace/IDidChangeConfigurationHandler.cs index 57d854a59..24e396e78 100644 --- a/src/Protocol/Workspace/IDidChangeConfigurationHandler.cs +++ b/src/Protocol/Workspace/IDidChangeConfigurationHandler.cs @@ -3,6 +3,7 @@ using System.Threading.Tasks; using MediatR; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; using OmniSharp.Extensions.LanguageServer.Protocol.Client; using OmniSharp.Extensions.LanguageServer.Protocol.Client.Capabilities; using OmniSharp.Extensions.LanguageServer.Protocol.Models; @@ -11,6 +12,7 @@ namespace OmniSharp.Extensions.LanguageServer.Protocol.Workspace { [Serial, Method(WorkspaceNames.DidChangeConfiguration, Direction.ClientToServer)] + [GenerateHandlerMethods, GenerateRequestMethods(typeof(IWorkspaceLanguageClient), typeof(ILanguageClient))] public interface IDidChangeConfigurationHandler : IJsonRpcNotificationHandler, IRegistration, ICapability { @@ -23,71 +25,4 @@ public abstract class DidChangeConfigurationHandler : IDidChangeConfigurationHan public virtual void SetCapability(DidChangeConfigurationCapability capability) => Capability = capability; protected DidChangeConfigurationCapability Capability { get; private set; } } - - public static class DidChangeConfigurationExtensions - { -public static ILanguageServerRegistry OnDidChangeConfiguration(this ILanguageServerRegistry registry, - Action handler) - { - return registry.AddHandler(WorkspaceNames.DidChangeConfiguration, - new LanguageProtocolDelegatingHandlers.NotificationCapability((r, c, ct) => { - handler(r, c, ct); - return Task.CompletedTask; - })); - } - -public static ILanguageServerRegistry OnDidChangeConfiguration(this ILanguageServerRegistry registry, - Action handler) - { - return registry.AddHandler(WorkspaceNames.DidChangeConfiguration, - new LanguageProtocolDelegatingHandlers.NotificationCapability(handler)); - } - -public static ILanguageServerRegistry OnDidChangeConfiguration(this ILanguageServerRegistry registry, - Action handler) - { - return registry.AddHandler(WorkspaceNames.DidChangeConfiguration, NotificationHandler.For(handler)); - } - -public static ILanguageServerRegistry OnDidChangeConfiguration(this ILanguageServerRegistry registry, - Action handler) - { - return registry.AddHandler(WorkspaceNames.DidChangeConfiguration, NotificationHandler.For(handler)); - } - -public static ILanguageServerRegistry OnDidChangeConfiguration(this ILanguageServerRegistry registry, - Func handler) - { - return registry.AddHandler(WorkspaceNames.DidChangeConfiguration, - new LanguageProtocolDelegatingHandlers.NotificationCapability(handler)); - } - -public static ILanguageServerRegistry OnDidChangeConfiguration(this ILanguageServerRegistry registry, - Func handler) - { - return registry.AddHandler(WorkspaceNames.DidChangeConfiguration, - new LanguageProtocolDelegatingHandlers.NotificationCapability(handler)); - } - -public static ILanguageServerRegistry OnDidChangeConfiguration(this ILanguageServerRegistry registry, - Func handler) - { - return registry.AddHandler(WorkspaceNames.DidChangeConfiguration, NotificationHandler.For(handler)); - } - -public static ILanguageServerRegistry OnDidChangeConfiguration(this ILanguageServerRegistry registry, - Func handler) - { - return registry.AddHandler(WorkspaceNames.DidChangeConfiguration, NotificationHandler.For(handler)); - } - - public static void DidChangeConfiguration(this IWorkspaceLanguageClient router, DidChangeConfigurationParams @params) - { - router.SendNotification(@params); - } - } } diff --git a/src/Protocol/Workspace/IDidChangeWatchedFilesHandler.cs b/src/Protocol/Workspace/IDidChangeWatchedFilesHandler.cs index f8aa8bdc7..a515e7703 100644 --- a/src/Protocol/Workspace/IDidChangeWatchedFilesHandler.cs +++ b/src/Protocol/Workspace/IDidChangeWatchedFilesHandler.cs @@ -3,6 +3,7 @@ using System.Threading.Tasks; using MediatR; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; using OmniSharp.Extensions.LanguageServer.Protocol.Client; using OmniSharp.Extensions.LanguageServer.Protocol.Client.Capabilities; using OmniSharp.Extensions.LanguageServer.Protocol.Models; @@ -11,6 +12,7 @@ namespace OmniSharp.Extensions.LanguageServer.Protocol.Workspace { [Serial, Method(WorkspaceNames.DidChangeWatchedFiles, Direction.ClientToServer)] + [GenerateHandlerMethods, GenerateRequestMethods(typeof(IWorkspaceLanguageClient), typeof(ILanguageClient))] public interface IDidChangeWatchedFilesHandler : IJsonRpcNotificationHandler, IRegistration, ICapability { } public abstract class DidChangeWatchedFilesHandler : IDidChangeWatchedFilesHandler @@ -26,92 +28,4 @@ public DidChangeWatchedFilesHandler(DidChangeWatchedFilesRegistrationOptions reg public virtual void SetCapability(DidChangeWatchedFilesCapability capability) => Capability = capability; protected DidChangeWatchedFilesCapability Capability { get; private set; } } - - public static class DidChangeWatchedFilesExtensions - { -public static ILanguageServerRegistry OnDidChangeWatchedFiles(this ILanguageServerRegistry registry, - Action handler, - DidChangeWatchedFilesRegistrationOptions registrationOptions) - { - registrationOptions ??= new DidChangeWatchedFilesRegistrationOptions(); - return registry.AddHandler(WorkspaceNames.DidChangeWatchedFiles, - new LanguageProtocolDelegatingHandlers.Notification(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnDidChangeWatchedFiles(this ILanguageServerRegistry registry, - Action handler, - DidChangeWatchedFilesRegistrationOptions registrationOptions) - { - registrationOptions ??= new DidChangeWatchedFilesRegistrationOptions(); - return registry.AddHandler(WorkspaceNames.DidChangeWatchedFiles, - new LanguageProtocolDelegatingHandlers.Notification(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnDidChangeWatchedFiles(this ILanguageServerRegistry registry, - Action handler, - DidChangeWatchedFilesRegistrationOptions registrationOptions) - { - registrationOptions ??= new DidChangeWatchedFilesRegistrationOptions(); - return registry.AddHandler(WorkspaceNames.DidChangeWatchedFiles, - new LanguageProtocolDelegatingHandlers.Notification(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnDidChangeWatchedFiles(this ILanguageServerRegistry registry, - Action handler, - DidChangeWatchedFilesRegistrationOptions registrationOptions) - { - registrationOptions ??= new DidChangeWatchedFilesRegistrationOptions(); - return registry.AddHandler(WorkspaceNames.DidChangeWatchedFiles, - new LanguageProtocolDelegatingHandlers.Notification(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnDidChangeWatchedFiles(this ILanguageServerRegistry registry, - Func handler, - DidChangeWatchedFilesRegistrationOptions registrationOptions) - { - registrationOptions ??= new DidChangeWatchedFilesRegistrationOptions(); - return registry.AddHandler(WorkspaceNames.DidChangeWatchedFiles, - new LanguageProtocolDelegatingHandlers.Notification(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnDidChangeWatchedFiles(this ILanguageServerRegistry registry, - Func handler, - DidChangeWatchedFilesRegistrationOptions registrationOptions) - { - registrationOptions ??= new DidChangeWatchedFilesRegistrationOptions(); - return registry.AddHandler(WorkspaceNames.DidChangeWatchedFiles, - new LanguageProtocolDelegatingHandlers.Notification(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnDidChangeWatchedFiles(this ILanguageServerRegistry registry, - Func handler, - DidChangeWatchedFilesRegistrationOptions registrationOptions) - { - registrationOptions ??= new DidChangeWatchedFilesRegistrationOptions(); - return registry.AddHandler(WorkspaceNames.DidChangeWatchedFiles, - new LanguageProtocolDelegatingHandlers.Notification(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnDidChangeWatchedFiles(this ILanguageServerRegistry registry, - Func handler, - DidChangeWatchedFilesRegistrationOptions registrationOptions) - { - registrationOptions ??= new DidChangeWatchedFilesRegistrationOptions(); - return registry.AddHandler(WorkspaceNames.DidChangeWatchedFiles, - new LanguageProtocolDelegatingHandlers.Notification(handler, registrationOptions)); - } - - public static void DidChangeWatchedFiles(this IWorkspaceLanguageClient router, DidChangeWatchedFilesParams @params) - { - router.SendNotification(@params); - } - } } diff --git a/src/Protocol/Workspace/IDidChangeWorkspaceFoldersHandler.cs b/src/Protocol/Workspace/IDidChangeWorkspaceFoldersHandler.cs index b68b2ba14..3e9914c70 100644 --- a/src/Protocol/Workspace/IDidChangeWorkspaceFoldersHandler.cs +++ b/src/Protocol/Workspace/IDidChangeWorkspaceFoldersHandler.cs @@ -3,6 +3,7 @@ using System.Threading.Tasks; using MediatR; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; using OmniSharp.Extensions.LanguageServer.Protocol.Client; using OmniSharp.Extensions.LanguageServer.Protocol.Client.Capabilities; using OmniSharp.Extensions.LanguageServer.Protocol.Models; @@ -11,6 +12,7 @@ namespace OmniSharp.Extensions.LanguageServer.Protocol.Workspace { [Parallel, Method(WorkspaceNames.DidChangeWorkspaceFolders, Direction.ClientToServer)] + [GenerateHandlerMethods, GenerateRequestMethods(typeof(IWorkspaceLanguageClient), typeof(ILanguageClient))] public interface IDidChangeWorkspaceFoldersHandler : IJsonRpcNotificationHandler, ICapability, IRegistration { @@ -23,75 +25,4 @@ public abstract class DidChangeWorkspaceFoldersHandler : IDidChangeWorkspaceFold public virtual void SetCapability(DidChangeWorkspaceFolderCapability capability) => Capability = capability; protected DidChangeWorkspaceFolderCapability Capability { get; private set; } } - - public static class DidChangeWorkspaceFoldersExtensions - { -public static ILanguageServerRegistry OnDidChangeWorkspaceFolders(this ILanguageServerRegistry registry, - Action handler) - { - return registry.AddHandler(WorkspaceNames.DidChangeWorkspaceFolders, - new LanguageProtocolDelegatingHandlers.NotificationCapability((r, c, ct) => { - handler(r, c, ct); - return Task.CompletedTask; - })); - } - -public static ILanguageServerRegistry OnDidChangeWorkspaceFolders(this ILanguageServerRegistry registry, - Action handler) - { - return registry.AddHandler(WorkspaceNames.DidChangeWorkspaceFolders, - new LanguageProtocolDelegatingHandlers.NotificationCapability(handler)); - } - -public static ILanguageServerRegistry OnDidChangeWorkspaceFolders(this ILanguageServerRegistry registry, - Action handler) - { - return registry.AddHandler(WorkspaceNames.DidChangeWorkspaceFolders, - NotificationHandler.For(handler)); - } - -public static ILanguageServerRegistry OnDidChangeWorkspaceFolders(this ILanguageServerRegistry registry, - Action handler) - { - return registry.AddHandler(WorkspaceNames.DidChangeWorkspaceFolders, - NotificationHandler.For(handler)); - } - -public static ILanguageServerRegistry OnDidChangeWorkspaceFolders(this ILanguageServerRegistry registry, - Func handler) - { - return registry.AddHandler(WorkspaceNames.DidChangeWorkspaceFolders, - new LanguageProtocolDelegatingHandlers.NotificationCapability(handler)); - } - -public static ILanguageServerRegistry OnDidChangeWorkspaceFolders(this ILanguageServerRegistry registry, - Func handler) - { - return registry.AddHandler(WorkspaceNames.DidChangeWorkspaceFolders, - new LanguageProtocolDelegatingHandlers.NotificationCapability(handler)); - } - -public static ILanguageServerRegistry OnDidChangeWorkspaceFolders(this ILanguageServerRegistry registry, - Func handler) - { - return registry.AddHandler(WorkspaceNames.DidChangeWorkspaceFolders, - NotificationHandler.For(handler)); - } - -public static ILanguageServerRegistry OnDidChangeWorkspaceFolders(this ILanguageServerRegistry registry, - Func handler) - { - return registry.AddHandler(WorkspaceNames.DidChangeWorkspaceFolders, - NotificationHandler.For(handler)); - } - - public static void DidChangeWorkspaceFolders(this IWorkspaceLanguageClient router, DidChangeWorkspaceFoldersParams @params) - { - router.SendNotification(@params); - } - } } diff --git a/src/Protocol/Workspace/IExecuteCommandHandler.cs b/src/Protocol/Workspace/IExecuteCommandHandler.cs index 72787787b..0ce19f1d5 100644 --- a/src/Protocol/Workspace/IExecuteCommandHandler.cs +++ b/src/Protocol/Workspace/IExecuteCommandHandler.cs @@ -1,16 +1,16 @@ -using System; using System.Threading; using System.Threading.Tasks; using MediatR; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; using OmniSharp.Extensions.LanguageServer.Protocol.Client; using OmniSharp.Extensions.LanguageServer.Protocol.Client.Capabilities; using OmniSharp.Extensions.LanguageServer.Protocol.Models; -using OmniSharp.Extensions.LanguageServer.Protocol.Server; namespace OmniSharp.Extensions.LanguageServer.Protocol.Workspace { [Serial, Method(WorkspaceNames.ExecuteCommand, Direction.ClientToServer)] + [GenerateHandlerMethods, GenerateRequestMethods(typeof(IWorkspaceLanguageClient), typeof(ILanguageClient))] public interface IExecuteCommandHandler : IJsonRpcRequestHandler, IRegistration, ICapability { } public abstract class ExecuteCommandHandler : IExecuteCommandHandler @@ -27,53 +27,4 @@ public ExecuteCommandHandler(ExecuteCommandRegistrationOptions registrationOptio public virtual void SetCapability(ExecuteCommandCapability capability) => Capability = capability; protected ExecuteCommandCapability Capability { get; private set; } } - - public static class ExecuteCommandExtensions - { -public static ILanguageServerRegistry OnExecuteCommand(this ILanguageServerRegistry registry, - Func - handler, - ExecuteCommandRegistrationOptions registrationOptions) - { - registrationOptions ??= new ExecuteCommandRegistrationOptions(); - return registry.AddHandler(WorkspaceNames.ExecuteCommand, - new LanguageProtocolDelegatingHandlers.Request(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnExecuteCommand(this ILanguageServerRegistry registry, - Func handler, - ExecuteCommandRegistrationOptions registrationOptions) - { - registrationOptions ??= new ExecuteCommandRegistrationOptions(); - return registry.AddHandler(WorkspaceNames.ExecuteCommand, - new LanguageProtocolDelegatingHandlers.Request(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnExecuteCommand(this ILanguageServerRegistry registry, - Func handler, - ExecuteCommandRegistrationOptions registrationOptions) - { - registrationOptions ??= new ExecuteCommandRegistrationOptions(); - return registry.AddHandler(WorkspaceNames.ExecuteCommand, - new LanguageProtocolDelegatingHandlers.RequestRegistration(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnExecuteCommand(this ILanguageServerRegistry registry, - Func handler, - ExecuteCommandRegistrationOptions registrationOptions) - { - registrationOptions ??= new ExecuteCommandRegistrationOptions(); - return registry.AddHandler(WorkspaceNames.ExecuteCommand, - new LanguageProtocolDelegatingHandlers.RequestRegistration(handler, registrationOptions)); - } - - public static Task RequestExecuteCommand(this IWorkspaceLanguageClient router, ExecuteCommandParams @params, CancellationToken cancellationToken = default) - { - return router.SendRequest(@params, cancellationToken); - } - } } diff --git a/src/Protocol/Workspace/IWorkspaceFoldersHandler.cs b/src/Protocol/Workspace/IWorkspaceFoldersHandler.cs index f35828d39..01e15fed6 100644 --- a/src/Protocol/Workspace/IWorkspaceFoldersHandler.cs +++ b/src/Protocol/Workspace/IWorkspaceFoldersHandler.cs @@ -1,44 +1,18 @@ -using System; using System.Threading; using System.Threading.Tasks; using OmniSharp.Extensions.JsonRpc; -using OmniSharp.Extensions.LanguageServer.Protocol.Client; +using OmniSharp.Extensions.JsonRpc.Generation; using OmniSharp.Extensions.LanguageServer.Protocol.Models; using OmniSharp.Extensions.LanguageServer.Protocol.Server; namespace OmniSharp.Extensions.LanguageServer.Protocol.Workspace { [Parallel, Method(WorkspaceNames.WorkspaceFolders, Direction.ServerToClient)] + [GenerateHandlerMethods, GenerateRequestMethods(typeof(IWorkspaceLanguageServer), typeof(ILanguageServer))] public interface IWorkspaceFoldersHandler : IJsonRpcRequestHandler> { } public abstract class WorkspaceFoldersHandler : IWorkspaceFoldersHandler { public abstract Task> Handle(WorkspaceFolderParams request, CancellationToken cancellationToken); } - - public static class WorkspaceFoldersExtensions - { -public static ILanguageClientRegistry OnWorkspaceFolders(this ILanguageClientRegistry registry, - Func>> - handler) - { - return registry.AddHandler(WorkspaceNames.WorkspaceFolders, RequestHandler.For(handler)); - } - -public static ILanguageClientRegistry OnWorkspaceFolders(this ILanguageClientRegistry registry, - Func>> handler) - { - return registry.AddHandler(WorkspaceNames.WorkspaceFolders, RequestHandler.For(handler)); - } - - public static Task> RequestWorkspaceFolders(this IWorkspaceLanguageServer mediator, WorkspaceFolderParams workspaceFolderParams, CancellationToken cancellationToken = default) - { - return mediator.SendRequest(workspaceFolderParams, cancellationToken); - } - - public static Task> RequestWorkspaceFolders(this IWorkspaceLanguageServer mediator, CancellationToken cancellationToken = default) - { - return mediator.SendRequest(WorkspaceFolderParams.Instance, cancellationToken); - } - } } diff --git a/src/Protocol/Workspace/IWorkspaceSymbolsHandler.cs b/src/Protocol/Workspace/IWorkspaceSymbolsHandler.cs index 7303e0034..d1f5d40d5 100644 --- a/src/Protocol/Workspace/IWorkspaceSymbolsHandler.cs +++ b/src/Protocol/Workspace/IWorkspaceSymbolsHandler.cs @@ -1,18 +1,15 @@ -using System; -using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; -using Microsoft.Extensions.DependencyInjection; using OmniSharp.Extensions.JsonRpc; +using OmniSharp.Extensions.JsonRpc.Generation; using OmniSharp.Extensions.LanguageServer.Protocol.Client; using OmniSharp.Extensions.LanguageServer.Protocol.Client.Capabilities; using OmniSharp.Extensions.LanguageServer.Protocol.Models; -using OmniSharp.Extensions.LanguageServer.Protocol.Progress; -using OmniSharp.Extensions.LanguageServer.Protocol.Server; namespace OmniSharp.Extensions.LanguageServer.Protocol.Workspace { [Parallel, Method(WorkspaceNames.WorkspaceSymbol, Direction.ClientToServer)] + [GenerateHandlerMethods, GenerateRequestMethods(typeof(ITextDocumentLanguageClient), typeof(ILanguageClient))] public interface IWorkspaceSymbolsHandler : IJsonRpcRequestHandler>, ICapability, IRegistration { } public abstract class WorkspaceSymbolsHandler : IWorkspaceSymbolsHandler @@ -29,108 +26,4 @@ public WorkspaceSymbolsHandler(WorkspaceSymbolRegistrationOptions registrationOp public abstract Task> Handle(WorkspaceSymbolParams request, CancellationToken cancellationToken); public virtual void SetCapability(WorkspaceSymbolCapability capability) => Capability = capability; } - - public static class WorkspaceSymbolsExtensions - { -public static ILanguageServerRegistry OnWorkspaceSymbols(this ILanguageServerRegistry registry, - Func>> - handler, - WorkspaceSymbolRegistrationOptions registrationOptions) - { - registrationOptions ??= new WorkspaceSymbolRegistrationOptions(); - return registry.AddHandler(WorkspaceNames.WorkspaceSymbol, - new LanguageProtocolDelegatingHandlers.Request, WorkspaceSymbolCapability, - WorkspaceSymbolRegistrationOptions>(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnWorkspaceSymbols(this ILanguageServerRegistry registry, - Func>> handler, - WorkspaceSymbolRegistrationOptions registrationOptions) - { - registrationOptions ??= new WorkspaceSymbolRegistrationOptions(); - return registry.AddHandler(WorkspaceNames.WorkspaceSymbol, - new LanguageProtocolDelegatingHandlers.Request, WorkspaceSymbolCapability, - WorkspaceSymbolRegistrationOptions>(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnWorkspaceSymbols(this ILanguageServerRegistry registry, - Func>> handler, - WorkspaceSymbolRegistrationOptions registrationOptions) - { - registrationOptions ??= new WorkspaceSymbolRegistrationOptions(); - return registry.AddHandler(WorkspaceNames.WorkspaceSymbol, - new LanguageProtocolDelegatingHandlers.RequestRegistration, - WorkspaceSymbolRegistrationOptions>(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnWorkspaceSymbols(this ILanguageServerRegistry registry, - Func>> handler, - WorkspaceSymbolRegistrationOptions registrationOptions) - { - registrationOptions ??= new WorkspaceSymbolRegistrationOptions(); - return registry.AddHandler(WorkspaceNames.WorkspaceSymbol, - new LanguageProtocolDelegatingHandlers.RequestRegistration, - WorkspaceSymbolRegistrationOptions>(handler, registrationOptions)); - } - -public static ILanguageServerRegistry OnWorkspaceSymbols(this ILanguageServerRegistry registry, - Action>, WorkspaceSymbolCapability, CancellationToken> handler, WorkspaceSymbolRegistrationOptions registrationOptions) - { - registrationOptions ??= new WorkspaceSymbolRegistrationOptions(); - return registry.AddHandler(WorkspaceNames.WorkspaceSymbol, - _ => - new LanguageProtocolDelegatingHandlers.PartialResults, - SymbolInformation, WorkspaceSymbolCapability, WorkspaceSymbolRegistrationOptions>(handler, - registrationOptions, _.GetService(), - x => new Container(x))); - } - -public static ILanguageServerRegistry OnWorkspaceSymbols(this ILanguageServerRegistry registry, - Action>, WorkspaceSymbolCapability> - handler, - WorkspaceSymbolRegistrationOptions registrationOptions) - { - registrationOptions ??= new WorkspaceSymbolRegistrationOptions(); - return registry.AddHandler(WorkspaceNames.WorkspaceSymbol, - _ => - new LanguageProtocolDelegatingHandlers.PartialResults, - SymbolInformation, WorkspaceSymbolCapability, WorkspaceSymbolRegistrationOptions>(handler, - registrationOptions, _.GetService(), - x => new Container(x))); - } - -public static ILanguageServerRegistry OnWorkspaceSymbols(this ILanguageServerRegistry registry, - Action>, CancellationToken> handler, - WorkspaceSymbolRegistrationOptions registrationOptions) - { - registrationOptions ??= new WorkspaceSymbolRegistrationOptions(); - return registry.AddHandler(WorkspaceNames.WorkspaceSymbol, - _ => - new LanguageProtocolDelegatingHandlers.PartialResults, - SymbolInformation, WorkspaceSymbolRegistrationOptions>(handler, registrationOptions, - _.GetService(), - x => new Container(x))); - } - -public static ILanguageServerRegistry OnWorkspaceSymbols(this ILanguageServerRegistry registry, - Action>> handler, - WorkspaceSymbolRegistrationOptions registrationOptions) - { - registrationOptions ??= new WorkspaceSymbolRegistrationOptions(); - return registry.AddHandler(WorkspaceNames.WorkspaceSymbol, - _ => - new LanguageProtocolDelegatingHandlers.PartialResults, - SymbolInformation, WorkspaceSymbolRegistrationOptions>(handler, registrationOptions, - _.GetService(), - x => new Container(x))); - } - - public static IRequestProgressObservable, Container> RequestWorkspaceSymbols( - this IWorkspaceLanguageClient mediator, - WorkspaceSymbolParams @params, - CancellationToken cancellationToken = default) - { - return mediator.ProgressManager.MonitorUntil(@params, x => new Container(x), cancellationToken); - } - } } diff --git a/test/Lsp.Tests/FoundationTests.cs b/test/Lsp.Tests/FoundationTests.cs index 5c9af9128..4c5e47129 100644 --- a/test/Lsp.Tests/FoundationTests.cs +++ b/test/Lsp.Tests/FoundationTests.cs @@ -466,7 +466,7 @@ public class TypeHandlerExtensionData : TheoryData z.IsInterface && typeof(IJsonRpcHandler).IsAssignableFrom(z) && !z.IsGenericType) .Except(new[] {typeof(ITextDocumentSyncHandler)})) { + if (type == typeof(ICompletionResolveHandler) || type == typeof(ICodeLensResolveHandler) || type == typeof(IDocumentLinkResolveHandler)) continue; var descriptor = LspHandlerTypeDescriptorHelper.GetHandlerTypeDescriptor(type); Add( @@ -499,9 +500,6 @@ private static string SpecialCasedHandlerFullName(ILspHandlerTypeDescriptor desc return new Regex(@"(\w+)$") .Replace(descriptor.HandlerType.FullName ?? string.Empty, descriptor.HandlerType.Name.Substring(1, descriptor.HandlerType.Name.IndexOf("Handler", StringComparison.Ordinal) - 1)) - .Replace("Resolve", "") - .Replace("CallHierarchyOutgoing", "CallHierarchy") - .Replace("CallHierarchyIncoming", "CallHierarchy") .Replace("SemanticTokensEdits", "SemanticTokens") .Replace("SemanticTokensRange", "SemanticTokens") ;