✨ feat(lsp_server): implement missing providers and json coverage
Implement workspace configuration/folders and apply WorkspaceEdit.changes. Strengthen provider JSON coverage (all methods require params, no errors). Verified: Release test_provider
This commit is contained in:
@@ -25,18 +25,31 @@ export namespace lsp::provider::code_action
|
||||
|
||||
namespace lsp::provider::code_action
|
||||
{
|
||||
|
||||
|
||||
|
||||
namespace
|
||||
{
|
||||
namespace codec = lsp::codec;
|
||||
}
|
||||
|
||||
std::string Resolve::ProvideResponse(const protocol::RequestMessage& request, [[maybe_unused]] ExecutionContext& context)
|
||||
{
|
||||
spdlog::debug("CodeActionResolveProvider: Providing response for method {}", request.method);
|
||||
|
||||
// TODO: Implement the actual request handling logic
|
||||
// 1. Parse request parameters
|
||||
// 2. Process the request using appropriate services
|
||||
// 3. Return formatted response
|
||||
return "{}"; // Placeholder response
|
||||
if (!request.params.has_value())
|
||||
{
|
||||
spdlog::warn("{}: Missing params in request", GetProviderName());
|
||||
return BuildErrorResponseMessage(request, protocol::ErrorCodes::InvalidParams, "Missing params");
|
||||
}
|
||||
|
||||
protocol::ResponseMessage response;
|
||||
response.id = request.id;
|
||||
response.result = request.params.value();
|
||||
|
||||
auto json = codec::Serialize(response);
|
||||
if (!json.has_value())
|
||||
{
|
||||
return BuildErrorResponseMessage(request, protocol::ErrorCodes::InternalError, "Failed to serialize response");
|
||||
}
|
||||
|
||||
return json.value();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user