tsl-devkit/lsp-server/src/provider/workspace/did_change_watched_files.cppm

41 lines
1.2 KiB
C++

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<DidChangeWatchedFiles, INotificationProvider>
{
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
}
}