✨ feat(provider): add compile-time registry
This commit is contained in:
@@ -14,27 +14,21 @@ namespace transform = lsp::codec;
|
||||
|
||||
export namespace lsp::provider
|
||||
{
|
||||
class CancelRequest : public INotificationProvider
|
||||
class CancelRequest : public AutoRegisterProvider<CancelRequest, INotificationProvider>
|
||||
{
|
||||
public:
|
||||
static constexpr std::string_view kMethod = "$/cancelRequest";
|
||||
static constexpr std::string_view kProviderName = "CancelRequest";
|
||||
CancelRequest() = default;
|
||||
std::string GetMethod() const override;
|
||||
std::string GetProviderName() const override;
|
||||
void HandleNotification(const protocol::NotificationMessage& notification, ExecutionContext& context) override;
|
||||
};
|
||||
}
|
||||
|
||||
namespace lsp::provider
|
||||
{
|
||||
std::string CancelRequest::GetMethod() const
|
||||
{
|
||||
return "$/cancelRequest";
|
||||
}
|
||||
|
||||
|
||||
std::string CancelRequest::GetProviderName() const
|
||||
{
|
||||
return "CancelRequest";
|
||||
}
|
||||
|
||||
|
||||
void CancelRequest::HandleNotification(const protocol::NotificationMessage& notification, ExecutionContext& context)
|
||||
{
|
||||
@@ -48,4 +42,4 @@ namespace lsp::provider
|
||||
bool cancelled = scheduler.Cancel(id_to_cancel);
|
||||
spdlog::debug("Cancel request {} {}", id_to_cancel, cancelled ? "succeeded" : "not found");
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user