This commit is contained in:
csh
2025-07-05 10:38:05 +08:00
parent 3cc1fccc81
commit 0c4619261d
39 changed files with 2085 additions and 875 deletions
@@ -4,7 +4,17 @@
namespace lsp::providers::initialize
{
std::string InitializeProvider::ProvideResponse(const protocol::RequestMessage& request)
std::string InitializeProvider::GetMethod() const
{
return "initialize";
}
std::string InitializeProvider::GetProviderName() const
{
return "InitializeProvider";
}
std::string InitializeProvider::ProvideResponse(const protocol::RequestMessage& request, ProviderContext& context)
{
spdlog::debug("InitializeProvider: Providing response for method {}", request.method);
protocol::ResponseMessage response;
@@ -14,23 +24,13 @@ namespace lsp::providers::initialize
auto ec = glz::write_json(response, json);
if (ec)
{
NotifyLifecycleEvent(ServerLifecycleEvent::kInitializeFailed);
context.TriggerLifecycleEvent(ServerLifecycleEvent::kInitializeFailed);
return BuildErrorResponseMessage(request, protocol::ErrorCode::kInternalError, "Internal error");
}
NotifyLifecycleEvent(ServerLifecycleEvent::kInitialized);
context.TriggerLifecycleEvent(ServerLifecycleEvent::kInitialized);
return json;
}
std::string InitializeProvider::GetMethod() const
{
return "initialize";
}
std::string InitializeProvider::GetProviderName() const
{
return "InitializeProvider";
}
protocol::InitializeResult InitializeProvider::BuildInitializeResult()
{
protocol::InitializeResult result;
@@ -4,11 +4,11 @@
namespace lsp::providers::initialize
{
using namespace lsp;
class InitializeProvider : public ILifecycleAwareProvider
class InitializeProvider : public IRequestProvider
{
public:
InitializeProvider() = default;
std::string ProvideResponse(const protocol::RequestMessage& request) override;
std::string ProvideResponse(const protocol::RequestMessage& request, ProviderContext& context) override;
std::string GetMethod() const override;
std::string GetProviderName() const override;