tsl-devkit/lsp-server/src/provider/document_link/resolve.cppm

43 lines
1.1 KiB
C++

module;
export module lsp.provider.document_link.resolve;
import spdlog;
import std;
import lsp.protocol;
import lsp.codec.facade;
import lsp.provider.base.interface;
export namespace lsp::provider::document_link
{
class Resolve : public AutoRegisterProvider<Resolve, IRequestProvider>
{
public:
static constexpr std::string_view kMethod = "documentLink/resolve";
static constexpr std::string_view kProviderName = "DocumentLinkResolve";
Resolve() = default;
std::string ProvideResponse(const protocol::RequestMessage& request, ExecutionContext& context) override;
};
}
namespace lsp::provider::document_link
{
std::string Resolve::ProvideResponse(const protocol::RequestMessage& request, [[maybe_unused]] ExecutionContext& context)
{
spdlog::debug("DocumentLinkResolveProvider: 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
}
}