✨ feat(provider): add compile-time registry
This commit is contained in:
@@ -16,14 +16,14 @@ namespace transform = lsp::codec;
|
||||
|
||||
export namespace lsp::provider
|
||||
{
|
||||
class Initialize : public IRequestProvider
|
||||
class Initialize : public AutoRegisterProvider<Initialize, IRequestProvider>
|
||||
{
|
||||
public:
|
||||
static constexpr std::string_view kMethod = "initialize";
|
||||
static constexpr std::string_view kProviderName = "Initialize";
|
||||
Initialize() = default;
|
||||
|
||||
std::string ProvideResponse(const protocol::RequestMessage& request, ExecutionContext& context) override;
|
||||
std::string GetMethod() const override;
|
||||
std::string GetProviderName() const override;
|
||||
|
||||
private:
|
||||
protocol::InitializeResult BuildInitializeResult();
|
||||
@@ -37,15 +37,9 @@ export namespace lsp::provider
|
||||
|
||||
namespace lsp::provider
|
||||
{
|
||||
std::string Initialize::GetMethod() const
|
||||
{
|
||||
return "initialize";
|
||||
}
|
||||
|
||||
|
||||
std::string Initialize::GetProviderName() const
|
||||
{
|
||||
return "Initialize";
|
||||
}
|
||||
|
||||
|
||||
std::string Initialize::ProvideResponse(const protocol::RequestMessage& request, ExecutionContext& context)
|
||||
{
|
||||
@@ -172,4 +166,4 @@ namespace lsp::provider
|
||||
spdlog::debug("Initiated loading for {} workspace folder(s)", workspace_folders.size());
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user