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