feat(provider): add compile-time registry

This commit is contained in:
csh
2025-12-21 22:21:46 +08:00
parent f54050bad2
commit 2c1c1d8a88
82 changed files with 751 additions and 1001 deletions
@@ -12,28 +12,22 @@ import lsp.provider.base.interface;
export namespace lsp::provider::code_action
{
class Resolve : public IRequestProvider
class Resolve : public AutoRegisterProvider<Resolve, IRequestProvider>
{
public:
static constexpr std::string_view kMethod = "codeAction/resolve";
static constexpr std::string_view kProviderName = "CodeActionResolve";
Resolve() = default;
std::string GetMethod() const override;
std::string GetProviderName() const override;
std::string ProvideResponse(const protocol::RequestMessage& request, ExecutionContext& context) override;
};
}
namespace lsp::provider::code_action
{
std::string Resolve::GetMethod() const
{
return "codeAction/resolve";
}
std::string Resolve::GetProviderName() const
{
return "CodeActionResolve";
}
std::string Resolve::ProvideResponse(const protocol::RequestMessage& request, [[maybe_unused]] ExecutionContext& context)
{
@@ -45,4 +39,4 @@ namespace lsp::provider::code_action
// 3. Return formatted response
return "{}"; // Placeholder response
}
}
}