feat(lsp_server): implement missing providers and json coverage

Implement workspace configuration/folders and apply WorkspaceEdit.changes.

Strengthen provider JSON coverage (all methods require params, no errors).

Verified: Release test_provider
This commit is contained in:
csh
2025-12-24 10:42:13 +08:00
parent f6943e69ef
commit 09e65224fe
93 changed files with 14203 additions and 856 deletions
+19 -8
View File
@@ -25,17 +25,28 @@ export namespace lsp::provider::telemetry
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
if (!notification.params.has_value())
{
spdlog::warn("{}: Missing params in notification", GetProviderName());
return;
}
const auto& any = notification.params.value();
if (any.Is<protocol::LSPObject>())
{
spdlog::debug("{}: Received object payload with {} field(s)", GetProviderName(), any.Get<protocol::LSPObject>().size());
return;
}
if (any.Is<protocol::LSPArray>())
{
spdlog::debug("{}: Received array payload with {} item(s)", GetProviderName(), any.Get<protocol::LSPArray>().size());
return;
}
spdlog::debug("{}: Received primitive telemetry payload", GetProviderName());
}
}