module; export module lsp.provider.window.log_message; import spdlog; import std; import lsp.protocol; import lsp.codec.facade; import lsp.provider.base.interface; export namespace lsp::provider::window { class LogMessage : public AutoRegisterProvider { public: static constexpr std::string_view kMethod = "window/logMessage"; static constexpr std::string_view kProviderName = "WindowLogMessage"; LogMessage() = default; void HandleNotification(const protocol::NotificationMessage& notification, ExecutionContext& context) override; }; } namespace lsp::provider::window { void LogMessage::HandleNotification(const protocol::NotificationMessage& notification, [[maybe_unused]] ExecutionContext& context) { spdlog::debug("WindowLogMessageProvider: 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 } }