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; std::optional<LSPAny> data;
}; };
struct PublishDiagnosticsClientCapabilities struct ClientDiagnosticsTagOptions
{
struct TagSupport
{ {
std::vector<DiagnosticTag> valueSet; 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 struct DiagnosticClientCapabilities
{ {
std::optional<boolean> dynamicRegistration; std::optional<boolean> dynamicRegistration;
std::optional<boolean> relatedDocumentSupport; std::optional<boolean> relatedDocumentSupport;
std::optional<boolean> relatedInformation;
std::optional<ClientDiagnosticsTagOptions> tagSupport;
std::optional<boolean> codeDescriptionSupport;
std::optional<boolean> markupMessageSupport; std::optional<boolean> markupMessageSupport;
std::optional<boolean> dataSupport;
}; };
struct DiagnosticOptions : WorkDoneProgressOptions struct DiagnosticOptions : WorkDoneProgressOptions
{ {
std::optional<string> identifier; std::optional<string> identifier;
@ -85,6 +75,18 @@ namespace lsp::protocol
std::optional<string> previousResultId; 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; using DocumentDiagnosticReportKind = std::string_view;
namespace DocumentDiagnosticReportKindLiterals 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<> template<>
struct meta<lsp::protocol::RelatedFullDocumentDiagnosticReport> struct meta<lsp::protocol::RelatedFullDocumentDiagnosticReport>
{ {