tsl-devkit/lsp-server/src/provider/telemetry/event.cppm

41 lines
1.1 KiB
C++

module;
export module lsp.provider.telemetry.event;
import spdlog;
import std;
import lsp.protocol;
import lsp.codec.facade;
import lsp.provider.base.interface;
export namespace lsp::provider::telemetry
{
class Event : public AutoRegisterProvider<Event, INotificationProvider>
{
public:
static constexpr std::string_view kMethod = "telemetry/event";
static constexpr std::string_view kProviderName = "TelemetryEvent";
Event() = default;
void HandleNotification(const protocol::NotificationMessage& notification, ExecutionContext& context) override;
};
}
namespace lsp::provider::telemetry
{
void Event::HandleNotification(const protocol::NotificationMessage& notification, [[maybe_unused]] ExecutionContext& context)
{
spdlog::debug("TelemetryEventProvider: Handling notification for method {}", notification.method);
// TODO: Implement the actual notification handling logic
// 1. Parse notification parameters
// 2. Update appropriate services/state
// 3. Trigger any necessary side effects
}
}