update protocol

This commit is contained in:
csh 2025-10-25 14:05:35 +08:00
parent 0fedf40a25
commit 6be3662226
2 changed files with 35 additions and 17 deletions

View File

@ -43,32 +43,22 @@ namespace lsp::protocol
std::optional<LSPAny> data;
};
struct PublishDiagnosticsClientCapabilities
{
struct TagSupport
struct ClientDiagnosticsTagOptions
{
std::vector<DiagnosticTag> valueSet;
};
std::optional<boolean> relatedInformation;
std::optional<TagSupport> tagSupport;
std::optional<boolean> versionSupport;
std::optional<boolean> codeDescriptionSupport;
std::optional<boolean> dataSupport;
};
struct PublishDiagnosticsParams
{
DocumentUri uri;
std::optional<integer> version;
std::vector<Diagnostic> diagnostics;
};
struct DiagnosticClientCapabilities
{
std::optional<boolean> dynamicRegistration;
std::optional<boolean> relatedDocumentSupport;
std::optional<boolean> relatedInformation;
std::optional<ClientDiagnosticsTagOptions> tagSupport;
std::optional<boolean> codeDescriptionSupport;
std::optional<boolean> markupMessageSupport;
std::optional<boolean> dataSupport;
};
struct DiagnosticOptions : WorkDoneProgressOptions
{
std::optional<string> identifier;
@ -85,6 +75,18 @@ namespace lsp::protocol
std::optional<string> previousResultId;
};
struct PublishDiagnosticsClientCapabilities : DiagnosticClientCapabilities
{
std::optional<boolean> versionSupport;
};
struct PublishDiagnosticsParams
{
DocumentUri uri;
std::optional<integer> version;
std::vector<Diagnostic> diagnostics;
};
using DocumentDiagnosticReportKind = std::string_view;
namespace DocumentDiagnosticReportKindLiterals
{

View File

@ -298,6 +298,22 @@ namespace glz
);
};
template<>
struct meta<lsp::protocol::PublishDiagnosticsClientCapabilities>
{
using T = lsp::protocol::PublishDiagnosticsClientCapabilities;
static constexpr auto value = glz::object(
&T::dynamicRegistration,
&T::relatedDocumentSupport,
&T::relatedInformation,
&T::tagSupport,
&T::codeDescriptionSupport,
&T::markupMessageSupport,
&T::dataSupport,
&T::versionSupport
);
};
template<>
struct meta<lsp::protocol::RelatedFullDocumentDiagnosticReport>
{