Revision control

Copy as Markdown

// Copyright (C) 2021 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
// Qt-Security score:significant
// this file was generated by the generate.ts script
#ifndef QLANGUAGESERVERSPECTYPES_P_H
#define QLANGUAGESERVERSPECTYPES_P_H
//
// W A R N I N G
// -------------
//
// This file is not part of the Qt API. It exists purely as an
// implementation detail. This header file may change from version to
// version without notice, or even be removed.
//
// We mean it.
//
#include <QtLanguageServer/qtlanguageserverglobal.h>
#include <QtLanguageServer/private/qlanguageserverprespectypes_p.h>
#include <QtJsonRpc/private/qtypedjson_p.h>
#include <QtCore/QByteArray>
#include <QtCore/QList>
#include <QtCore/QJsonValue>
#include <QtCore/QJsonObject>
#include <QtCore/QString>
#include <QtCore/QMap>
#include <optional>
#include <variant>
QT_BEGIN_NAMESPACE
namespace QLspSpecification {
Q_NAMESPACE_EXPORT(Q_LANGUAGESERVER_EXPORT)
enum class ErrorCodes {
// Defined by JSON RPC
ParseError = -32700,
InvalidRequest = -32600,
MethodNotFound = -32601,
InvalidParams = -32602,
InternalError = -32603,
jsonrpcReservedErrorRangeStart = -32099,
/** @deprecated use jsonrpcReservedErrorRangeStart */
serverErrorStart = jsonrpcReservedErrorRangeStart,
ServerNotInitialized = -32002,
UnknownErrorCode = -32001,
jsonrpcReservedErrorRangeEnd = -32000,
/** @deprecated use jsonrpcReservedErrorRangeEnd */
serverErrorEnd = jsonrpcReservedErrorRangeEnd,
lspReservedErrorRangeStart = -32899,
ContentModified = -32801,
RequestCancelled = -32800,
lspReservedErrorRangeEnd = -32800
};
Q_ENUM_NS(ErrorCodes)
enum class ApplyKind { Replace = 1, Merge = 2 };
Q_ENUM_NS(ApplyKind)
enum class CodeActionKind {
Empty,
QuickFix,
Refactor,
RefactorExtract,
RefactorInline,
RefactorMove,
RefactorRewrite,
Source,
SourceOrganizeImports,
SourceFixAll,
Notebook
};
Q_ENUM_NS(CodeActionKind)
enum class CodeActionTag { LLMGenerated = 1 };
Q_ENUM_NS(CodeActionTag)
enum class CodeActionTriggerKind { Invoked = 1, Automatic = 2 };
Q_ENUM_NS(CodeActionTriggerKind)
enum class CompletionItemKind {
Text = 1,
Method = 2,
Function = 3,
Constructor = 4,
Field = 5,
Variable = 6,
Class = 7,
Interface = 8,
Module = 9,
Property = 10,
Unit = 11,
Value = 12,
Enum = 13,
Keyword = 14,
Snippet = 15,
Color = 16,
File = 17,
Reference = 18,
Folder = 19,
EnumMember = 20,
Constant = 21,
Struct = 22,
Event = 23,
Operator = 24,
TypeParameter = 25
};
Q_ENUM_NS(CompletionItemKind)
enum class CompletionItemTag { Deprecated = 1 };
Q_ENUM_NS(CompletionItemTag)
enum class CompletionTriggerKind {
Invoked = 1,
TriggerCharacter = 2,
TriggerForIncompleteCompletions = 3
};
Q_ENUM_NS(CompletionTriggerKind)
enum class DiagnosticSeverity { Error = 1, Warning = 2, Information = 3, Hint = 4 };
Q_ENUM_NS(DiagnosticSeverity)
enum class DiagnosticTag { Unnecessary = 1, Deprecated = 2 };
Q_ENUM_NS(DiagnosticTag)
enum class DocumentDiagnosticReportKind { Full, Unchanged };
Q_ENUM_NS(DocumentDiagnosticReportKind)
enum class DocumentHighlightKind { Text = 1, Read = 2, Write = 3 };
Q_ENUM_NS(DocumentHighlightKind)
enum class FailureHandlingKind { Abort, Transactional, TextOnlyTransactional, Undo };
Q_ENUM_NS(FailureHandlingKind)
enum class FileChangeType { Created = 1, Changed = 2, Deleted = 3 };
Q_ENUM_NS(FileChangeType)
enum class FileOperationPatternKind { File, Folder };
Q_ENUM_NS(FileOperationPatternKind)
enum class FoldingRangeKind { Comment, Imports, Region };
Q_ENUM_NS(FoldingRangeKind)
enum class InlayHintKind { Type = 1, Parameter = 2 };
Q_ENUM_NS(InlayHintKind)
enum class InlineCompletionTriggerKind { Invoked = 1, Automatic = 2 };
Q_ENUM_NS(InlineCompletionTriggerKind)
enum class InsertTextFormat { PlainText = 1, Snippet = 2 };
Q_ENUM_NS(InsertTextFormat)
enum class InsertTextMode { AsIs = 1, AdjustIndentation = 2 };
Q_ENUM_NS(InsertTextMode)
enum class LSPErrorCodes {
RequestFailed = -32803,
ServerCancelled = -32802,
ContentModified = -32801,
RequestCancelled = -32800
};
Q_ENUM_NS(LSPErrorCodes)
enum class LanguageKind {
ABAP,
WindowsBat,
BibTeX,
Clojure,
Coffeescript,
C,
CPP,
CSharp,
CSS,
D,
Delphi,
Diff,
Dart,
Dockerfile,
Elixir,
Erlang,
FSharp,
GitCommit,
GitRebase,
Go,
Groovy,
Handlebars,
Haskell,
HTML,
Ini,
Java,
JavaScript,
JavaScriptReact,
JSON,
LaTeX,
Less,
Lua,
Makefile,
Markdown,
ObjectiveC,
ObjectiveCPP,
Pascal,
Perl,
Perl6,
PHP,
Plaintext,
Powershell,
Pug,
Python,
R,
Razor,
Ruby,
Rust,
SCSS,
SASS,
Scala,
ShaderLab,
ShellScript,
SQL,
Swift,
TypeScript,
TypeScriptReact,
TeX,
VisualBasic,
XML,
XSL,
YAML
};
Q_ENUM_NS(LanguageKind)
enum class MarkupKind { PlainText, Markdown };
Q_ENUM_NS(MarkupKind)
enum class MessageType { Error = 1, Warning = 2, Info = 3, Log = 4, Debug = 5 };
Q_ENUM_NS(MessageType)
enum class MonikerKind { Import, Export, Local };
Q_ENUM_NS(MonikerKind)
enum class NotebookCellKind { Markup = 1, Code = 2 };
Q_ENUM_NS(NotebookCellKind)
enum class PositionEncodingKind { UTF8, UTF16, UTF32 };
Q_ENUM_NS(PositionEncodingKind)
enum class PrepareSupportDefaultBehavior { Identifier = 1 };
Q_ENUM_NS(PrepareSupportDefaultBehavior)
enum class ResourceOperationKind { Create, Rename, Delete };
Q_ENUM_NS(ResourceOperationKind)
enum class SemanticTokenModifiers {
Declaration,
Definition,
Readonly,
Static,
Deprecated,
Abstract,
Async,
Modification,
Documentation,
DefaultLibrary
};
Q_ENUM_NS(SemanticTokenModifiers)
enum class SemanticTokenTypes {
Namespace,
Type,
Class,
Enum,
Interface,
Struct,
TypeParameter,
Parameter,
Variable,
Property,
EnumMember,
Event,
Function,
Method,
Macro,
Keyword,
Modifier,
Comment,
String,
Number,
Regexp,
Operator,
Decorator,
Label
};
Q_ENUM_NS(SemanticTokenTypes)
enum class SignatureHelpTriggerKind { Invoked = 1, TriggerCharacter = 2, ContentChange = 3 };
Q_ENUM_NS(SignatureHelpTriggerKind)
enum class SymbolKind {
File = 1,
Module = 2,
Namespace = 3,
Package = 4,
Class = 5,
Method = 6,
Property = 7,
Field = 8,
Constructor = 9,
Enum = 10,
Interface = 11,
Function = 12,
Variable = 13,
Constant = 14,
String = 15,
Number = 16,
Boolean = 17,
Array = 18,
Object = 19,
Key = 20,
Null = 21,
EnumMember = 22,
Struct = 23,
Event = 24,
Operator = 25,
TypeParameter = 26
};
Q_ENUM_NS(SymbolKind)
enum class SymbolTag { Deprecated = 1 };
Q_ENUM_NS(SymbolTag)
enum class TextDocumentSaveReason { Manual = 1, AfterDelay = 2, FocusOut = 3 };
Q_ENUM_NS(TextDocumentSaveReason)
enum class TextDocumentSyncKind { None = 0, Full = 1, Incremental = 2 };
Q_ENUM_NS(TextDocumentSyncKind)
enum class TokenFormat { Relative };
Q_ENUM_NS(TokenFormat)
enum class TraceValue { Off, Messages, Verbose };
Q_ENUM_NS(TraceValue)
enum class UniquenessLevel { Document, Project, Group, Scheme, Global };
Q_ENUM_NS(UniquenessLevel)
enum class WatchKind { Create = 1, Change = 2, Delete = 4 };
Q_ENUM_NS(WatchKind)
class Q_LANGUAGESERVER_EXPORT Position
{
public:
unsigned int line = { };
unsigned int character = { };
template <typename W>
void walk(W &w)
{
field(w, "line", line);
field(w, "character", character);
}
};
class Q_LANGUAGESERVER_EXPORT Range
{
public:
Position start = { };
Position end = { };
template <typename W>
void walk(W &w)
{
field(w, "start", start);
field(w, "end", end);
}
};
class Q_LANGUAGESERVER_EXPORT SelectionRange
{
public:
SelectionRange() = default;
SelectionRange(const Range &r) : range(r) { }
SelectionRange(const SelectionRange &o) : range(o.range)
{
if (o.parent)
parent = std::make_unique<SelectionRange>(*o.parent);
}
SelectionRange &operator=(const SelectionRange &o)
{
range = o.range;
if (o.parent)
parent = std::make_unique<SelectionRange>(*o.parent);
return *this;
}
SelectionRange(SelectionRange &&) noexcept = default;
SelectionRange &operator=(SelectionRange &&) noexcept = default;
Range range = { };
std::unique_ptr<SelectionRange> parent;
template <typename W>
void walk(W &w)
{
field(w, "range", range);
field(w, "parent", parent);
}
};
class Q_LANGUAGESERVER_EXPORT RangePlaceHolder
{
public:
Range range = { };
QByteArray placeholder = { };
template <typename W>
void walk(W &w)
{
field(w, "range", range);
field(w, "placeholder", placeholder);
}
};
class Q_LANGUAGESERVER_EXPORT DefaultBehaviorStruct
{
public:
bool defaultBehavior = { };
template <typename W>
void walk(W &w)
{
field(w, "defaultBehavior", defaultBehavior);
}
};
class Q_LANGUAGESERVER_EXPORT TextEdit
{
public:
Range range = { };
QByteArray newText = { };
template <typename W>
void walk(W &w)
{
field(w, "range", range);
field(w, "newText", newText);
}
};
using ChangeAnnotationIdentifier = QByteArray;
class Q_LANGUAGESERVER_EXPORT AnnotatedTextEdit : public TextEdit
{
public:
ChangeAnnotationIdentifier annotationId = { };
template <typename W>
void walk(W &w)
{
TextEdit::walk(w);
field(w, "annotationId", annotationId);
}
};
class Q_LANGUAGESERVER_EXPORT TextDocumentIdentifier
{
public:
QByteArray uri = { };
template <typename W>
void walk(W &w)
{
field(w, "uri", uri);
}
};
class Q_LANGUAGESERVER_EXPORT OptionalVersionedTextDocumentIdentifier
: public TextDocumentIdentifier
{
public:
std::variant<std::nullptr_t, int> version = { };
template <typename W>
void walk(W &w)
{
TextDocumentIdentifier::walk(w);
field(w, "version", version);
}
};
class Q_LANGUAGESERVER_EXPORT StringValue
{
public:
static constexpr QByteArrayView kind = "snippet";
QByteArray value = { };
template <typename W>
void walk(W &w)
{
field(w, "kind", kind);
field(w, "value", value);
}
};
class Q_LANGUAGESERVER_EXPORT SnippetTextEdit
{
public:
Range range = { };
StringValue snippet = { };
std::optional<ChangeAnnotationIdentifier> annotationId = { };
template <typename W>
void walk(W &w)
{
field(w, "range", range);
field(w, "snippet", snippet);
field(w, "annotationId", annotationId);
}
};
class Q_LANGUAGESERVER_EXPORT TextDocumentEdit
{
public:
OptionalVersionedTextDocumentIdentifier textDocument = { };
QList<std::variant<TextEdit, AnnotatedTextEdit, SnippetTextEdit>> edits = { };
template <typename W>
void walk(W &w)
{
field(w, "textDocument", textDocument);
field(w, "edits", edits);
}
};
class Q_LANGUAGESERVER_EXPORT ResourceOperation
{
public:
QByteArray kind = { };
std::optional<ChangeAnnotationIdentifier> annotationId = { };
template <typename W>
void walk(W &w)
{
field(w, "kind", kind);
field(w, "annotationId", annotationId);
}
};
class Q_LANGUAGESERVER_EXPORT CreateFileOptions
{
public:
std::optional<bool> overwrite = { };
std::optional<bool> ignoreIfExists = { };
template <typename W>
void walk(W &w)
{
field(w, "overwrite", overwrite);
field(w, "ignoreIfExists", ignoreIfExists);
}
};
class Q_LANGUAGESERVER_EXPORT CreateFile : public ResourceOperation
{
public:
static constexpr QByteArrayView kind = "create";
QByteArray uri = { };
std::optional<CreateFileOptions> options = { };
template <typename W>
void walk(W &w)
{
ResourceOperation::walk(w);
field(w, "kind", kind);
field(w, "uri", uri);
field(w, "options", options);
}
};
class Q_LANGUAGESERVER_EXPORT RenameFileOptions
{
public:
std::optional<bool> overwrite = { };
std::optional<bool> ignoreIfExists = { };
template <typename W>
void walk(W &w)
{
field(w, "overwrite", overwrite);
field(w, "ignoreIfExists", ignoreIfExists);
}
};
class Q_LANGUAGESERVER_EXPORT RenameFile : public ResourceOperation
{
public:
static constexpr QByteArrayView kind = "rename";
QByteArray oldUri = { };
QByteArray newUri = { };
std::optional<RenameFileOptions> options = { };
template <typename W>
void walk(W &w)
{
ResourceOperation::walk(w);
field(w, "kind", kind);
field(w, "oldUri", oldUri);
field(w, "newUri", newUri);
field(w, "options", options);
}
};
class Q_LANGUAGESERVER_EXPORT DeleteFileOptions
{
public:
std::optional<bool> recursive = { };
std::optional<bool> ignoreIfNotExists = { };
template <typename W>
void walk(W &w)
{
field(w, "recursive", recursive);
field(w, "ignoreIfNotExists", ignoreIfNotExists);
}
};
class Q_LANGUAGESERVER_EXPORT DeleteFile : public ResourceOperation
{
public:
static constexpr QByteArrayView kind = "delete";
QByteArray uri = { };
std::optional<DeleteFileOptions> options = { };
template <typename W>
void walk(W &w)
{
ResourceOperation::walk(w);
field(w, "kind", kind);
field(w, "uri", uri);
field(w, "options", options);
}
};
class Q_LANGUAGESERVER_EXPORT ChangeAnnotation
{
public:
QByteArray label = { };
std::optional<bool> needsConfirmation = { };
std::optional<QByteArray> description = { };
template <typename W>
void walk(W &w)
{
field(w, "label", label);
field(w, "needsConfirmation", needsConfirmation);
field(w, "description", description);
}
};
class Q_LANGUAGESERVER_EXPORT WorkspaceEdit
{
public:
std::optional<QMap<QByteArray, QList<TextEdit>>> changes = { };
using DocumentChange = std::variant<TextDocumentEdit, CreateFile, RenameFile, DeleteFile>;
std::optional<QList<DocumentChange>> documentChanges = { };
std::optional<QMap<ChangeAnnotationIdentifier, ChangeAnnotation>> changeAnnotations = { };
template <typename W>
void walk(W &w)
{
field(w, "changes", changes);
field(w, "documentChanges", documentChanges);
field(w, "changeAnnotations", changeAnnotations);
}
};
class Q_LANGUAGESERVER_EXPORT WorkspaceEditMetadata
{
public:
std::optional<bool> isRefactoring = { };
template <typename W>
void walk(W &w)
{
field(w, "isRefactoring", isRefactoring);
}
};
class Q_LANGUAGESERVER_EXPORT ApplyWorkspaceEditParams
{
public:
std::optional<QByteArray> label = { };
WorkspaceEdit edit = { };
std::optional<WorkspaceEditMetadata> metadata = { };
template <typename W>
void walk(W &w)
{
field(w, "label", label);
field(w, "edit", edit);
field(w, "metadata", metadata);
}
};
class Q_LANGUAGESERVER_EXPORT ApplyWorkspaceEditResult
{
public:
bool applied = { };
std::optional<QByteArray> failureReason = { };
std::optional<unsigned int> failedChange = { };
template <typename W>
void walk(W &w)
{
field(w, "applied", applied);
field(w, "failureReason", failureReason);
field(w, "failedChange", failedChange);
}
};
class Q_LANGUAGESERVER_EXPORT BaseSymbolInformation
{
public:
QByteArray name = { };
SymbolKind kind = { };
std::optional<QList<SymbolTag>> tags = { };
std::optional<QByteArray> containerName = { };
template <typename W>
void walk(W &w)
{
field(w, "name", name);
field(w, "kind", kind);
field(w, "tags", tags);
field(w, "containerName", containerName);
}
};
class Q_LANGUAGESERVER_EXPORT CallHierarchyClientCapabilities
{
public:
std::optional<bool> dynamicRegistration = { };
template <typename W>
void walk(W &w)
{
field(w, "dynamicRegistration", dynamicRegistration);
}
};
class Q_LANGUAGESERVER_EXPORT CallHierarchyItem
{
public:
QByteArray name = { };
SymbolKind kind = { };
std::optional<QList<SymbolTag>> tags = { };
std::optional<QByteArray> detail = { };
QByteArray uri = { };
Range range = { };
Range selectionRange = { };
std::optional<QJsonValue> data = { };
template <typename W>
void walk(W &w)
{
field(w, "name", name);
field(w, "kind", kind);
field(w, "tags", tags);
field(w, "detail", detail);
field(w, "uri", uri);
field(w, "range", range);
field(w, "selectionRange", selectionRange);
field(w, "data", data);
}
};
class Q_LANGUAGESERVER_EXPORT CallHierarchyIncomingCall
{
public:
CallHierarchyItem from = { };
QList<Range> fromRanges = { };
template <typename W>
void walk(W &w)
{
field(w, "from", from);
field(w, "fromRanges", fromRanges);
}
};
using ProgressToken = std::variant<int, QByteArray>;
class Q_LANGUAGESERVER_EXPORT WorkDoneProgressParams
{
public:
std::optional<ProgressToken> workDoneToken = { };
template <typename W>
void walk(W &w)
{
field(w, "workDoneToken", workDoneToken);
}
};
class Q_LANGUAGESERVER_EXPORT PartialResultParams
{
public:
std::optional<ProgressToken> partialResultToken = { };
template <typename W>
void walk(W &w)
{
field(w, "partialResultToken", partialResultToken);
}
};
class Q_LANGUAGESERVER_EXPORT CallHierarchyIncomingCallsParams : public WorkDoneProgressParams,
public PartialResultParams
{
public:
CallHierarchyItem item = { };
template <typename W>
void walk(W &w)
{
WorkDoneProgressParams::walk(w);
PartialResultParams::walk(w);
field(w, "item", item);
}
};
class Q_LANGUAGESERVER_EXPORT WorkDoneProgressOptions
{
public:
std::optional<bool> workDoneProgress = { };
template <typename W>
void walk(W &w)
{
field(w, "workDoneProgress", workDoneProgress);
}
};
class Q_LANGUAGESERVER_EXPORT CallHierarchyOptions : public WorkDoneProgressOptions
{
public:
template <typename W>
void walk(W &w)
{
WorkDoneProgressOptions::walk(w);
}
};
class Q_LANGUAGESERVER_EXPORT CallHierarchyOutgoingCall
{
public:
CallHierarchyItem to = { };
QList<Range> fromRanges = { };
template <typename W>
void walk(W &w)
{
field(w, "to", to);
field(w, "fromRanges", fromRanges);
}
};
class Q_LANGUAGESERVER_EXPORT CallHierarchyOutgoingCallsParams : public WorkDoneProgressParams,
public PartialResultParams
{
public:
CallHierarchyItem item = { };
template <typename W>
void walk(W &w)
{
WorkDoneProgressParams::walk(w);
PartialResultParams::walk(w);
field(w, "item", item);
}
};
class Q_LANGUAGESERVER_EXPORT TextDocumentPositionParams
{
public:
TextDocumentIdentifier textDocument = { };
Position position = { };
template <typename W>
void walk(W &w)
{
field(w, "textDocument", textDocument);
field(w, "position", position);
}
};
class Q_LANGUAGESERVER_EXPORT CallHierarchyPrepareParams : public TextDocumentPositionParams,
public WorkDoneProgressParams
{
public:
template <typename W>
void walk(W &w)
{
TextDocumentPositionParams::walk(w);
WorkDoneProgressParams::walk(w);
}
};
using Pattern = QByteArray;
class Q_LANGUAGESERVER_EXPORT WorkspaceFolder
{
public:
QByteArray uri = { };
QByteArray name = { };
template <typename W>
void walk(W &w)
{
field(w, "uri", uri);
field(w, "name", name);
}
};
class Q_LANGUAGESERVER_EXPORT RelativePattern
{
public:
std::variant<WorkspaceFolder, QByteArray> baseUri = { };
Pattern pattern = { };
template <typename W>
void walk(W &w)
{
field(w, "baseUri", baseUri);
field(w, "pattern", pattern);
}
};
using GlobPattern = std::variant<Pattern, RelativePattern>;
class Q_LANGUAGESERVER_EXPORT TextDocumentFilterLanguage
{
public:
QByteArray language = { };
std::optional<QByteArray> scheme = { };
std::optional<GlobPattern> pattern = { };
template <typename W>
void walk(W &w)
{
field(w, "language", language);
field(w, "scheme", scheme);
field(w, "pattern", pattern);
}
};
class Q_LANGUAGESERVER_EXPORT TextDocumentFilterScheme
{
public:
std::optional<QByteArray> language = { };
QByteArray scheme = { };
std::optional<GlobPattern> pattern = { };
template <typename W>
void walk(W &w)
{
field(w, "language", language);
field(w, "scheme", scheme);
field(w, "pattern", pattern);
}
};
class Q_LANGUAGESERVER_EXPORT TextDocumentFilterPattern
{
public:
std::optional<QByteArray> language = { };
std::optional<QByteArray> scheme = { };
GlobPattern pattern = { };
template <typename W>
void walk(W &w)
{
field(w, "language", language);
field(w, "scheme", scheme);
field(w, "pattern", pattern);
}
};
using TextDocumentFilter = std::variant<TextDocumentFilterLanguage, TextDocumentFilterScheme,
TextDocumentFilterPattern>;
class Q_LANGUAGESERVER_EXPORT NotebookDocumentFilterNotebookType
{
public:
QByteArray notebookType = { };
std::optional<QByteArray> scheme = { };
std::optional<GlobPattern> pattern = { };
template <typename W>
void walk(W &w)
{
field(w, "notebookType", notebookType);
field(w, "scheme", scheme);
field(w, "pattern", pattern);
}
};
class Q_LANGUAGESERVER_EXPORT NotebookDocumentFilterScheme
{
public:
std::optional<QByteArray> notebookType = { };
QByteArray scheme = { };
std::optional<GlobPattern> pattern = { };
template <typename W>
void walk(W &w)
{
field(w, "notebookType", notebookType);
field(w, "scheme", scheme);
field(w, "pattern", pattern);
}
};
class Q_LANGUAGESERVER_EXPORT NotebookDocumentFilterPattern
{
public:
std::optional<QByteArray> notebookType = { };
std::optional<QByteArray> scheme = { };
GlobPattern pattern = { };
template <typename W>
void walk(W &w)
{
field(w, "notebookType", notebookType);
field(w, "scheme", scheme);
field(w, "pattern", pattern);
}
};
using NotebookDocumentFilter =
std::variant<NotebookDocumentFilterNotebookType, NotebookDocumentFilterScheme,
NotebookDocumentFilterPattern>;
class Q_LANGUAGESERVER_EXPORT NotebookCellTextDocumentFilter
{
public:
std::variant<QByteArray, NotebookDocumentFilter> notebook = { };
std::optional<QByteArray> language = { };
template <typename W>
void walk(W &w)
{
field(w, "notebook", notebook);
field(w, "language", language);
}
};
using DocumentFilter = std::variant<TextDocumentFilter, NotebookCellTextDocumentFilter>;
using DocumentSelector = QList<DocumentFilter>;
class Q_LANGUAGESERVER_EXPORT TextDocumentRegistrationOptions
{
public:
std::variant<std::nullptr_t, DocumentSelector> documentSelector = { };
template <typename W>
void walk(W &w)
{
field(w, "documentSelector", documentSelector);
}
};
class Q_LANGUAGESERVER_EXPORT StaticRegistrationOptions
{
public:
std::optional<QByteArray> id = { };
template <typename W>
void walk(W &w)
{
field(w, "id", id);
}
};
class Q_LANGUAGESERVER_EXPORT CallHierarchyRegistrationOptions
: public TextDocumentRegistrationOptions,
public CallHierarchyOptions,
public StaticRegistrationOptions
{
public:
template <typename W>
void walk(W &w)
{
TextDocumentRegistrationOptions::walk(w);
CallHierarchyOptions::walk(w);
StaticRegistrationOptions::walk(w);
}
};
class Q_LANGUAGESERVER_EXPORT CancelParams
{
public:
std::variant<int, QByteArray> id = { };
template <typename W>
void walk(W &w)
{
field(w, "id", id);
}
};
class Q_LANGUAGESERVER_EXPORT ChangeAnnotationsSupportOptions
{
public:
std::optional<bool> groupsOnLabel = { };
template <typename W>
void walk(W &w)
{
field(w, "groupsOnLabel", groupsOnLabel);
}
};
class Q_LANGUAGESERVER_EXPORT WorkspaceEditClientCapabilities
{
public:
std::optional<bool> documentChanges = { };
std::optional<QList<ResourceOperationKind>> resourceOperations = { };
std::optional<FailureHandlingKind> failureHandling = { };
std::optional<bool> normalizesLineEndings = { };
std::optional<ChangeAnnotationsSupportOptions> changeAnnotationSupport = { };
std::optional<bool> metadataSupport = { };
std::optional<bool> snippetEditSupport = { };
template <typename W>
void walk(W &w)
{
field(w, "documentChanges", documentChanges);
field(w, "resourceOperations", resourceOperations);
field(w, "failureHandling", failureHandling);
field(w, "normalizesLineEndings", normalizesLineEndings);
field(w, "changeAnnotationSupport", changeAnnotationSupport);
field(w, "metadataSupport", metadataSupport);
field(w, "snippetEditSupport", snippetEditSupport);
}
};
class Q_LANGUAGESERVER_EXPORT DidChangeConfigurationClientCapabilities
{
public:
std::optional<bool> dynamicRegistration = { };
template <typename W>
void walk(W &w)
{
field(w, "dynamicRegistration", dynamicRegistration);
}
};
class Q_LANGUAGESERVER_EXPORT DidChangeWatchedFilesClientCapabilities
{
public:
std::optional<bool> dynamicRegistration = { };
std::optional<bool> relativePatternSupport = { };
template <typename W>
void walk(W &w)
{
field(w, "dynamicRegistration", dynamicRegistration);
field(w, "relativePatternSupport", relativePatternSupport);
}
};
class Q_LANGUAGESERVER_EXPORT ClientSymbolKindOptions
{
public:
std::optional<QList<SymbolKind>> valueSet = { };
template <typename W>
void walk(W &w)
{
field(w, "valueSet", valueSet);
}
};
class Q_LANGUAGESERVER_EXPORT ClientSymbolTagOptions
{
public:
QList<SymbolTag> valueSet = { };
template <typename W>
void walk(W &w)
{
field(w, "valueSet", valueSet);
}
};
class Q_LANGUAGESERVER_EXPORT ClientSymbolResolveOptions
{
public:
QList<QByteArray> properties = { };
template <typename W>
void walk(W &w)
{
field(w, "properties", properties);
}
};
class Q_LANGUAGESERVER_EXPORT WorkspaceSymbolClientCapabilities
{
public:
std::optional<bool> dynamicRegistration = { };
std::optional<ClientSymbolKindOptions> symbolKind = { };
std::optional<ClientSymbolTagOptions> tagSupport = { };
std::optional<ClientSymbolResolveOptions> resolveSupport = { };
template <typename W>
void walk(W &w)
{
field(w, "dynamicRegistration", dynamicRegistration);
field(w, "symbolKind", symbolKind);
field(w, "tagSupport", tagSupport);
field(w, "resolveSupport", resolveSupport);
}
};
class Q_LANGUAGESERVER_EXPORT ExecuteCommandClientCapabilities
{
public:
std::optional<bool> dynamicRegistration = { };
template <typename W>
void walk(W &w)
{
field(w, "dynamicRegistration", dynamicRegistration);
}
};
class Q_LANGUAGESERVER_EXPORT SemanticTokensWorkspaceClientCapabilities
{
public:
std::optional<bool> refreshSupport = { };
template <typename W>
void walk(W &w)
{
field(w, "refreshSupport", refreshSupport);
}
};
class Q_LANGUAGESERVER_EXPORT CodeLensWorkspaceClientCapabilities
{
public:
std::optional<bool> refreshSupport = { };
template <typename W>
void walk(W &w)
{
field(w, "refreshSupport", refreshSupport);
}
};
class Q_LANGUAGESERVER_EXPORT FileOperationClientCapabilities
{
public:
std::optional<bool> dynamicRegistration = { };
std::optional<bool> didCreate = { };
std::optional<bool> willCreate = { };
std::optional<bool> didRename = { };
std::optional<bool> willRename = { };
std::optional<bool> didDelete = { };
std::optional<bool> willDelete = { };
template <typename W>
void walk(W &w)
{
field(w, "dynamicRegistration", dynamicRegistration);
field(w, "didCreate", didCreate);
field(w, "willCreate", willCreate);
field(w, "didRename", didRename);
field(w, "willRename", willRename);
field(w, "didDelete", didDelete);
field(w, "willDelete", willDelete);
}
};
class Q_LANGUAGESERVER_EXPORT InlineValueWorkspaceClientCapabilities
{
public:
std::optional<bool> refreshSupport = { };
template <typename W>
void walk(W &w)
{
field(w, "refreshSupport", refreshSupport);
}
};
class Q_LANGUAGESERVER_EXPORT InlayHintWorkspaceClientCapabilities
{
public:
std::optional<bool> refreshSupport = { };
template <typename W>
void walk(W &w)
{
field(w, "refreshSupport", refreshSupport);
}
};
class Q_LANGUAGESERVER_EXPORT DiagnosticWorkspaceClientCapabilities
{
public:
std::optional<bool> refreshSupport = { };
template <typename W>
void walk(W &w)
{
field(w, "refreshSupport", refreshSupport);
}
};
class Q_LANGUAGESERVER_EXPORT FoldingRangeWorkspaceClientCapabilities
{
public:
std::optional<bool> refreshSupport = { };
template <typename W>
void walk(W &w)
{
field(w, "refreshSupport", refreshSupport);
}
};
class Q_LANGUAGESERVER_EXPORT TextDocumentContentClientCapabilities
{
public:
std::optional<bool> dynamicRegistration = { };
template <typename W>
void walk(W &w)
{
field(w, "dynamicRegistration", dynamicRegistration);
}
};
class Q_LANGUAGESERVER_EXPORT WorkspaceClientCapabilities
{
public:
std::optional<bool> applyEdit = { };
std::optional<WorkspaceEditClientCapabilities> workspaceEdit = { };
std::optional<DidChangeConfigurationClientCapabilities> didChangeConfiguration = { };
std::optional<DidChangeWatchedFilesClientCapabilities> didChangeWatchedFiles = { };
std::optional<WorkspaceSymbolClientCapabilities> symbol = { };
std::optional<ExecuteCommandClientCapabilities> executeCommand = { };
std::optional<bool> workspaceFolders = { };
std::optional<bool> configuration = { };
std::optional<SemanticTokensWorkspaceClientCapabilities> semanticTokens = { };
std::optional<CodeLensWorkspaceClientCapabilities> codeLens = { };
std::optional<FileOperationClientCapabilities> fileOperations = { };
std::optional<InlineValueWorkspaceClientCapabilities> inlineValue = { };
std::optional<InlayHintWorkspaceClientCapabilities> inlayHint = { };
std::optional<DiagnosticWorkspaceClientCapabilities> diagnostics = { };
std::optional<FoldingRangeWorkspaceClientCapabilities> foldingRange = { };
std::optional<TextDocumentContentClientCapabilities> textDocumentContent = { };
template <typename W>
void walk(W &w)
{
field(w, "applyEdit", applyEdit);
field(w, "workspaceEdit", workspaceEdit);
field(w, "didChangeConfiguration", didChangeConfiguration);
field(w, "didChangeWatchedFiles", didChangeWatchedFiles);
field(w, "symbol", symbol);
field(w, "executeCommand", executeCommand);
field(w, "workspaceFolders", workspaceFolders);
field(w, "configuration", configuration);
field(w, "semanticTokens", semanticTokens);
field(w, "codeLens", codeLens);
field(w, "fileOperations", fileOperations);
field(w, "inlineValue", inlineValue);
field(w, "inlayHint", inlayHint);
field(w, "diagnostics", diagnostics);
field(w, "foldingRange", foldingRange);
field(w, "textDocumentContent", textDocumentContent);
}
};
class Q_LANGUAGESERVER_EXPORT TextDocumentSyncClientCapabilities
{
public:
std::optional<bool> dynamicRegistration = { };
std::optional<bool> willSave = { };
std::optional<bool> willSaveWaitUntil = { };
std::optional<bool> didSave = { };
template <typename W>
void walk(W &w)
{
field(w, "dynamicRegistration", dynamicRegistration);
field(w, "willSave", willSave);
field(w, "willSaveWaitUntil", willSaveWaitUntil);
field(w, "didSave", didSave);
}
};
class Q_LANGUAGESERVER_EXPORT TextDocumentFilterClientCapabilities
{
public:
std::optional<bool> relativePatternSupport = { };
template <typename W>
void walk(W &w)
{
field(w, "relativePatternSupport", relativePatternSupport);
}
};
class Q_LANGUAGESERVER_EXPORT CompletionItemTagOptions
{
public:
QList<CompletionItemTag> valueSet = { };
template <typename W>
void walk(W &w)
{
field(w, "valueSet", valueSet);
}
};
class Q_LANGUAGESERVER_EXPORT ClientCompletionItemResolveOptions
{
public:
QList<QByteArray> properties = { };
template <typename W>
void walk(W &w)
{
field(w, "properties", properties);
}
};
class Q_LANGUAGESERVER_EXPORT ClientCompletionItemInsertTextModeOptions
{
public:
QList<InsertTextMode> valueSet = { };
template <typename W>
void walk(W &w)
{
field(w, "valueSet", valueSet);
}
};
class Q_LANGUAGESERVER_EXPORT ClientCompletionItemOptions
{
public:
std::optional<bool> snippetSupport = { };
std::optional<bool> commitCharactersSupport = { };
std::optional<QList<MarkupKind>> documentationFormat = { };
std::optional<bool> deprecatedSupport = { };
std::optional<bool> preselectSupport = { };
std::optional<CompletionItemTagOptions> tagSupport = { };
std::optional<bool> insertReplaceSupport = { };
std::optional<ClientCompletionItemResolveOptions> resolveSupport = { };
std::optional<ClientCompletionItemInsertTextModeOptions> insertTextModeSupport = { };
std::optional<bool> labelDetailsSupport = { };
template <typename W>
void walk(W &w)
{
field(w, "snippetSupport", snippetSupport);
field(w, "commitCharactersSupport", commitCharactersSupport);
field(w, "documentationFormat", documentationFormat);
field(w, "deprecatedSupport", deprecatedSupport);
field(w, "preselectSupport", preselectSupport);
field(w, "tagSupport", tagSupport);
field(w, "insertReplaceSupport", insertReplaceSupport);
field(w, "resolveSupport", resolveSupport);
field(w, "insertTextModeSupport", insertTextModeSupport);
field(w, "labelDetailsSupport", labelDetailsSupport);
}
};
class Q_LANGUAGESERVER_EXPORT ClientCompletionItemOptionsKind
{
public:
std::optional<QList<CompletionItemKind>> valueSet = { };
template <typename W>
void walk(W &w)
{
field(w, "valueSet", valueSet);
}
};
class Q_LANGUAGESERVER_EXPORT CompletionListCapabilities
{
public:
std::optional<QList<QByteArray>> itemDefaults = { };
std::optional<bool> applyKindSupport = { };
template <typename W>
void walk(W &w)
{
field(w, "itemDefaults", itemDefaults);
field(w, "applyKindSupport", applyKindSupport);
}
};
class Q_LANGUAGESERVER_EXPORT CompletionClientCapabilities
{
public:
std::optional<bool> dynamicRegistration = { };
std::optional<ClientCompletionItemOptions> completionItem = { };
std::optional<ClientCompletionItemOptionsKind> completionItemKind = { };
std::optional<InsertTextMode> insertTextMode = { };
std::optional<bool> contextSupport = { };
std::optional<CompletionListCapabilities> completionList = { };
template <typename W>
void walk(W &w)
{
field(w, "dynamicRegistration", dynamicRegistration);
field(w, "completionItem", completionItem);
field(w, "completionItemKind", completionItemKind);
field(w, "insertTextMode", insertTextMode);
field(w, "contextSupport", contextSupport);
field(w, "completionList", completionList);
}
};
class Q_LANGUAGESERVER_EXPORT HoverClientCapabilities
{
public:
std::optional<bool> dynamicRegistration = { };
std::optional<QList<MarkupKind>> contentFormat = { };
template <typename W>
void walk(W &w)
{
field(w, "dynamicRegistration", dynamicRegistration);
field(w, "contentFormat", contentFormat);
}
};
class Q_LANGUAGESERVER_EXPORT ClientSignatureParameterInformationOptions
{
public:
std::optional<bool> labelOffsetSupport = { };
template <typename W>
void walk(W &w)
{
field(w, "labelOffsetSupport", labelOffsetSupport);
}
};
class Q_LANGUAGESERVER_EXPORT ClientSignatureInformationOptions
{
public:
std::optional<QList<MarkupKind>> documentationFormat = { };
std::optional<ClientSignatureParameterInformationOptions> parameterInformation = { };
std::optional<bool> activeParameterSupport = { };
std::optional<bool> noActiveParameterSupport = { };
template <typename W>
void walk(W &w)
{
field(w, "documentationFormat", documentationFormat);
field(w, "parameterInformation", parameterInformation);
field(w, "activeParameterSupport", activeParameterSupport);
field(w, "noActiveParameterSupport", noActiveParameterSupport);
}
};
class Q_LANGUAGESERVER_EXPORT SignatureHelpClientCapabilities
{
public:
std::optional<bool> dynamicRegistration = { };
std::optional<ClientSignatureInformationOptions> signatureInformation = { };
std::optional<bool> contextSupport = { };
template <typename W>
void walk(W &w)
{
field(w, "dynamicRegistration", dynamicRegistration);
field(w, "signatureInformation", signatureInformation);
field(w, "contextSupport", contextSupport);
}
};
class Q_LANGUAGESERVER_EXPORT DeclarationClientCapabilities
{
public:
std::optional<bool> dynamicRegistration = { };
std::optional<bool> linkSupport = { };
template <typename W>
void walk(W &w)
{
field(w, "dynamicRegistration", dynamicRegistration);
field(w, "linkSupport", linkSupport);
}
};
class Q_LANGUAGESERVER_EXPORT DefinitionClientCapabilities
{
public:
std::optional<bool> dynamicRegistration = { };
std::optional<bool> linkSupport = { };
template <typename W>
void walk(W &w)
{
field(w, "dynamicRegistration", dynamicRegistration);
field(w, "linkSupport", linkSupport);
}
};
class Q_LANGUAGESERVER_EXPORT TypeDefinitionClientCapabilities
{
public:
std::optional<bool> dynamicRegistration = { };
std::optional<bool> linkSupport = { };
template <typename W>
void walk(W &w)
{
field(w, "dynamicRegistration", dynamicRegistration);
field(w, "linkSupport", linkSupport);
}
};
class Q_LANGUAGESERVER_EXPORT ImplementationClientCapabilities
{
public:
std::optional<bool> dynamicRegistration = { };
std::optional<bool> linkSupport = { };
template <typename W>
void walk(W &w)
{
field(w, "dynamicRegistration", dynamicRegistration);
field(w, "linkSupport", linkSupport);
}
};
class Q_LANGUAGESERVER_EXPORT ReferenceClientCapabilities
{
public:
std::optional<bool> dynamicRegistration = { };
template <typename W>
void walk(W &w)
{
field(w, "dynamicRegistration", dynamicRegistration);
}
};
class Q_LANGUAGESERVER_EXPORT DocumentHighlightClientCapabilities
{
public:
std::optional<bool> dynamicRegistration = { };
template <typename W>
void walk(W &w)
{
field(w, "dynamicRegistration", dynamicRegistration);
}
};
class Q_LANGUAGESERVER_EXPORT DocumentSymbolClientCapabilities
{
public:
std::optional<bool> dynamicRegistration = { };
std::optional<ClientSymbolKindOptions> symbolKind = { };
std::optional<bool> hierarchicalDocumentSymbolSupport = { };
std::optional<ClientSymbolTagOptions> tagSupport = { };
std::optional<bool> labelSupport = { };
template <typename W>
void walk(W &w)
{
field(w, "dynamicRegistration", dynamicRegistration);
field(w, "symbolKind", symbolKind);
field(w, "hierarchicalDocumentSymbolSupport", hierarchicalDocumentSymbolSupport);
field(w, "tagSupport", tagSupport);
field(w, "labelSupport", labelSupport);
}
};
class Q_LANGUAGESERVER_EXPORT ClientCodeActionKindOptions
{
public:
QList<CodeActionKind> valueSet = { };
template <typename W>
void walk(W &w)
{
field(w, "valueSet", valueSet);
}
};
class Q_LANGUAGESERVER_EXPORT ClientCodeActionLiteralOptions
{
public:
ClientCodeActionKindOptions codeActionKind = { };
template <typename W>
void walk(W &w)
{
field(w, "codeActionKind", codeActionKind);
}
};
class Q_LANGUAGESERVER_EXPORT ClientCodeActionResolveOptions
{
public:
QList<QByteArray> properties = { };
template <typename W>
void walk(W &w)
{
field(w, "properties", properties);
}
};
class Q_LANGUAGESERVER_EXPORT CodeActionTagOptions
{
public:
QList<CodeActionTag> valueSet = { };
template <typename W>
void walk(W &w)
{
field(w, "valueSet", valueSet);
}
};
class Q_LANGUAGESERVER_EXPORT CodeActionClientCapabilities
{
public:
std::optional<bool> dynamicRegistration = { };
std::optional<ClientCodeActionLiteralOptions> codeActionLiteralSupport = { };
std::optional<bool> isPreferredSupport = { };
std::optional<bool> disabledSupport = { };
std::optional<bool> dataSupport = { };
std::optional<ClientCodeActionResolveOptions> resolveSupport = { };
std::optional<bool> honorsChangeAnnotations = { };
std::optional<bool> documentationSupport = { };
std::optional<CodeActionTagOptions> tagSupport = { };
template <typename W>
void walk(W &w)
{
field(w, "dynamicRegistration", dynamicRegistration);
field(w, "codeActionLiteralSupport", codeActionLiteralSupport);
field(w, "isPreferredSupport", isPreferredSupport);
field(w, "disabledSupport", disabledSupport);
field(w, "dataSupport", dataSupport);
field(w, "resolveSupport", resolveSupport);
field(w, "honorsChangeAnnotations", honorsChangeAnnotations);
field(w, "documentationSupport", documentationSupport);
field(w, "tagSupport", tagSupport);
}
};
class Q_LANGUAGESERVER_EXPORT ClientCodeLensResolveOptions
{
public:
QList<QByteArray> properties = { };
template <typename W>
void walk(W &w)
{
field(w, "properties", properties);
}
};
class Q_LANGUAGESERVER_EXPORT CodeLensClientCapabilities
{
public:
std::optional<bool> dynamicRegistration = { };
std::optional<ClientCodeLensResolveOptions> resolveSupport = { };
template <typename W>
void walk(W &w)
{
field(w, "dynamicRegistration", dynamicRegistration);
field(w, "resolveSupport", resolveSupport);
}
};
class Q_LANGUAGESERVER_EXPORT DocumentLinkClientCapabilities
{
public:
std::optional<bool> dynamicRegistration = { };
std::optional<bool> tooltipSupport = { };
template <typename W>
void walk(W &w)
{
field(w, "dynamicRegistration", dynamicRegistration);
field(w, "tooltipSupport", tooltipSupport);
}
};
class Q_LANGUAGESERVER_EXPORT DocumentColorClientCapabilities
{
public:
std::optional<bool> dynamicRegistration = { };
template <typename W>
void walk(W &w)
{
field(w, "dynamicRegistration", dynamicRegistration);
}
};
class Q_LANGUAGESERVER_EXPORT DocumentFormattingClientCapabilities
{
public:
std::optional<bool> dynamicRegistration = { };
template <typename W>
void walk(W &w)
{
field(w, "dynamicRegistration", dynamicRegistration);
}
};
class Q_LANGUAGESERVER_EXPORT DocumentRangeFormattingClientCapabilities
{
public:
std::optional<bool> dynamicRegistration = { };
std::optional<bool> rangesSupport = { };
template <typename W>
void walk(W &w)
{
field(w, "dynamicRegistration", dynamicRegistration);
field(w, "rangesSupport", rangesSupport);
}
};
class Q_LANGUAGESERVER_EXPORT DocumentOnTypeFormattingClientCapabilities
{
public:
std::optional<bool> dynamicRegistration = { };
template <typename W>
void walk(W &w)
{
field(w, "dynamicRegistration", dynamicRegistration);
}
};
class Q_LANGUAGESERVER_EXPORT RenameClientCapabilities
{
public:
std::optional<bool> dynamicRegistration = { };
std::optional<bool> prepareSupport = { };
std::optional<PrepareSupportDefaultBehavior> prepareSupportDefaultBehavior = { };
std::optional<bool> honorsChangeAnnotations = { };
template <typename W>
void walk(W &w)
{
field(w, "dynamicRegistration", dynamicRegistration);
field(w, "prepareSupport", prepareSupport);
field(w, "prepareSupportDefaultBehavior", prepareSupportDefaultBehavior);
field(w, "honorsChangeAnnotations", honorsChangeAnnotations);
}
};
class Q_LANGUAGESERVER_EXPORT ClientFoldingRangeKindOptions
{
public:
std::optional<QList<FoldingRangeKind>> valueSet = { };
template <typename W>
void walk(W &w)
{
field(w, "valueSet", valueSet);
}
};
class Q_LANGUAGESERVER_EXPORT ClientFoldingRangeOptions
{
public:
std::optional<bool> collapsedText = { };
template <typename W>
void walk(W &w)
{
field(w, "collapsedText", collapsedText);
}
};
class Q_LANGUAGESERVER_EXPORT FoldingRangeClientCapabilities
{
public:
std::optional<bool> dynamicRegistration = { };
std::optional<unsigned int> rangeLimit = { };
std::optional<bool> lineFoldingOnly = { };
std::optional<ClientFoldingRangeKindOptions> foldingRangeKind = { };
std::optional<ClientFoldingRangeOptions> foldingRange = { };
template <typename W>
void walk(W &w)
{
field(w, "dynamicRegistration", dynamicRegistration);
field(w, "rangeLimit", rangeLimit);
field(w, "lineFoldingOnly", lineFoldingOnly);
field(w, "foldingRangeKind", foldingRangeKind);
field(w, "foldingRange", foldingRange);
}
};
class Q_LANGUAGESERVER_EXPORT SelectionRangeClientCapabilities
{
public:
std::optional<bool> dynamicRegistration = { };
template <typename W>
void walk(W &w)
{
field(w, "dynamicRegistration", dynamicRegistration);
}
};
class Q_LANGUAGESERVER_EXPORT ClientDiagnosticsTagOptions
{
public:
QList<DiagnosticTag> valueSet = { };
template <typename W>
void walk(W &w)
{
field(w, "valueSet", valueSet);
}
};
class Q_LANGUAGESERVER_EXPORT DiagnosticsCapabilities
{
public:
std::optional<bool> relatedInformation = { };
std::optional<ClientDiagnosticsTagOptions> tagSupport = { };
std::optional<bool> codeDescriptionSupport = { };
std::optional<bool> dataSupport = { };
template <typename W>
void walk(W &w)
{
field(w, "relatedInformation", relatedInformation);
field(w, "tagSupport", tagSupport);
field(w, "codeDescriptionSupport", codeDescriptionSupport);
field(w, "dataSupport", dataSupport);
}
};
class Q_LANGUAGESERVER_EXPORT PublishDiagnosticsClientCapabilities : public DiagnosticsCapabilities
{
public:
std::optional<bool> versionSupport = { };
template <typename W>
void walk(W &w)
{
DiagnosticsCapabilities::walk(w);
field(w, "versionSupport", versionSupport);
}
};
class Q_LANGUAGESERVER_EXPORT ClientSemanticTokensRequestFullDelta
{
public:
std::optional<bool> delta = { };
template <typename W>
void walk(W &w)
{
field(w, "delta", delta);
}
};
class Q_LANGUAGESERVER_EXPORT ClientSemanticTokensRequestOptions
{
public:
std::optional<std::variant<bool, QJsonObject>> range = { };
std::optional<std::variant<bool, ClientSemanticTokensRequestFullDelta>> full = { };
template <typename W>
void walk(W &w)
{
field(w, "range", range);
field(w, "full", full);
}
};
class Q_LANGUAGESERVER_EXPORT SemanticTokensClientCapabilities
{
public:
std::optional<bool> dynamicRegistration = { };
ClientSemanticTokensRequestOptions requests = { };
QList<QByteArray> tokenTypes = { };
QList<QByteArray> tokenModifiers = { };
QList<TokenFormat> formats = { };
std::optional<bool> overlappingTokenSupport = { };
std::optional<bool> multilineTokenSupport = { };
std::optional<bool> serverCancelSupport = { };
std::optional<bool> augmentsSyntaxTokens = { };
template <typename W>
void walk(W &w)
{
field(w, "dynamicRegistration", dynamicRegistration);
field(w, "requests", requests);
field(w, "tokenTypes", tokenTypes);
field(w, "tokenModifiers", tokenModifiers);
field(w, "formats", formats);
field(w, "overlappingTokenSupport", overlappingTokenSupport);
field(w, "multilineTokenSupport", multilineTokenSupport);
field(w, "serverCancelSupport", serverCancelSupport);
field(w, "augmentsSyntaxTokens", augmentsSyntaxTokens);
}
};
class Q_LANGUAGESERVER_EXPORT LinkedEditingRangeClientCapabilities
{
public:
std::optional<bool> dynamicRegistration = { };
template <typename W>
void walk(W &w)
{
field(w, "dynamicRegistration", dynamicRegistration);
}
};
class Q_LANGUAGESERVER_EXPORT MonikerClientCapabilities
{
public:
std::optional<bool> dynamicRegistration = { };
template <typename W>
void walk(W &w)
{
field(w, "dynamicRegistration", dynamicRegistration);
}
};
class Q_LANGUAGESERVER_EXPORT TypeHierarchyClientCapabilities
{
public:
std::optional<bool> dynamicRegistration = { };
template <typename W>
void walk(W &w)
{
field(w, "dynamicRegistration", dynamicRegistration);
}
};
class Q_LANGUAGESERVER_EXPORT InlineValueClientCapabilities
{
public:
std::optional<bool> dynamicRegistration = { };
template <typename W>
void walk(W &w)
{
field(w, "dynamicRegistration", dynamicRegistration);
}
};
class Q_LANGUAGESERVER_EXPORT ClientInlayHintResolveOptions
{
public:
QList<QByteArray> properties = { };
template <typename W>
void walk(W &w)
{
field(w, "properties", properties);
}
};
class Q_LANGUAGESERVER_EXPORT InlayHintClientCapabilities
{
public:
std::optional<bool> dynamicRegistration = { };
std::optional<ClientInlayHintResolveOptions> resolveSupport = { };
template <typename W>
void walk(W &w)
{
field(w, "dynamicRegistration", dynamicRegistration);
field(w, "resolveSupport", resolveSupport);
}
};
class Q_LANGUAGESERVER_EXPORT DiagnosticClientCapabilities : public DiagnosticsCapabilities
{
public:
std::optional<bool> dynamicRegistration = { };
std::optional<bool> relatedDocumentSupport = { };
std::optional<bool> markupMessageSupport = { };
template <typename W>
void walk(W &w)
{
DiagnosticsCapabilities::walk(w);
field(w, "dynamicRegistration", dynamicRegistration);
field(w, "relatedDocumentSupport", relatedDocumentSupport);
field(w, "markupMessageSupport", markupMessageSupport);
}
};
class Q_LANGUAGESERVER_EXPORT InlineCompletionClientCapabilities
{
public:
std::optional<bool> dynamicRegistration = { };
template <typename W>
void walk(W &w)
{
field(w, "dynamicRegistration", dynamicRegistration);
}
};
class Q_LANGUAGESERVER_EXPORT TextDocumentClientCapabilities
{
public:
std::optional<TextDocumentSyncClientCapabilities> synchronization = { };
std::optional<TextDocumentFilterClientCapabilities> filters = { };
std::optional<CompletionClientCapabilities> completion = { };
std::optional<HoverClientCapabilities> hover = { };
std::optional<SignatureHelpClientCapabilities> signatureHelp = { };
std::optional<DeclarationClientCapabilities> declaration = { };
std::optional<DefinitionClientCapabilities> definition = { };
std::optional<TypeDefinitionClientCapabilities> typeDefinition = { };
std::optional<ImplementationClientCapabilities> implementation = { };
std::optional<ReferenceClientCapabilities> references = { };
std::optional<DocumentHighlightClientCapabilities> documentHighlight = { };
std::optional<DocumentSymbolClientCapabilities> documentSymbol = { };
std::optional<CodeActionClientCapabilities> codeAction = { };
std::optional<CodeLensClientCapabilities> codeLens = { };
std::optional<DocumentLinkClientCapabilities> documentLink = { };
std::optional<DocumentColorClientCapabilities> colorProvider = { };
std::optional<DocumentFormattingClientCapabilities> formatting = { };
std::optional<DocumentRangeFormattingClientCapabilities> rangeFormatting = { };
std::optional<DocumentOnTypeFormattingClientCapabilities> onTypeFormatting = { };
std::optional<RenameClientCapabilities> rename = { };
std::optional<FoldingRangeClientCapabilities> foldingRange = { };
std::optional<SelectionRangeClientCapabilities> selectionRange = { };
std::optional<PublishDiagnosticsClientCapabilities> publishDiagnostics = { };
std::optional<CallHierarchyClientCapabilities> callHierarchy = { };
std::optional<SemanticTokensClientCapabilities> semanticTokens = { };
std::optional<LinkedEditingRangeClientCapabilities> linkedEditingRange = { };
std::optional<MonikerClientCapabilities> moniker = { };
std::optional<TypeHierarchyClientCapabilities> typeHierarchy = { };
std::optional<InlineValueClientCapabilities> inlineValue = { };
std::optional<InlayHintClientCapabilities> inlayHint = { };
std::optional<DiagnosticClientCapabilities> diagnostic = { };
std::optional<InlineCompletionClientCapabilities> inlineCompletion = { };
template <typename W>
void walk(W &w)
{
field(w, "synchronization", synchronization);
field(w, "filters", filters);
field(w, "completion", completion);
field(w, "hover", hover);
field(w, "signatureHelp", signatureHelp);
field(w, "declaration", declaration);
field(w, "definition", definition);
field(w, "typeDefinition", typeDefinition);
field(w, "implementation", implementation);
field(w, "references", references);
field(w, "documentHighlight", documentHighlight);
field(w, "documentSymbol", documentSymbol);
field(w, "codeAction", codeAction);
field(w, "codeLens", codeLens);
field(w, "documentLink", documentLink);
field(w, "colorProvider", colorProvider);
field(w, "formatting", formatting);
field(w, "rangeFormatting", rangeFormatting);
field(w, "onTypeFormatting", onTypeFormatting);
field(w, "rename", rename);
field(w, "foldingRange", foldingRange);
field(w, "selectionRange", selectionRange);
field(w, "publishDiagnostics", publishDiagnostics);
field(w, "callHierarchy", callHierarchy);
field(w, "semanticTokens", semanticTokens);
field(w, "linkedEditingRange", linkedEditingRange);
field(w, "moniker", moniker);
field(w, "typeHierarchy", typeHierarchy);
field(w, "inlineValue", inlineValue);
field(w, "inlayHint", inlayHint);
field(w, "diagnostic", diagnostic);
field(w, "inlineCompletion", inlineCompletion);
}
};
class Q_LANGUAGESERVER_EXPORT NotebookDocumentSyncClientCapabilities
{
public:
std::optional<bool> dynamicRegistration = { };
std::optional<bool> executionSummarySupport = { };
template <typename W>
void walk(W &w)
{
field(w, "dynamicRegistration", dynamicRegistration);
field(w, "executionSummarySupport", executionSummarySupport);
}
};
class Q_LANGUAGESERVER_EXPORT NotebookDocumentClientCapabilities
{
public:
NotebookDocumentSyncClientCapabilities synchronization = { };
template <typename W>
void walk(W &w)
{
field(w, "synchronization", synchronization);
}
};
class Q_LANGUAGESERVER_EXPORT ClientShowMessageActionItemOptions
{
public:
std::optional<bool> additionalPropertiesSupport = { };
template <typename W>
void walk(W &w)
{
field(w, "additionalPropertiesSupport", additionalPropertiesSupport);
}
};
class Q_LANGUAGESERVER_EXPORT ShowMessageRequestClientCapabilities
{
public:
std::optional<ClientShowMessageActionItemOptions> messageActionItem = { };
template <typename W>
void walk(W &w)
{
field(w, "messageActionItem", messageActionItem);
}
};
class Q_LANGUAGESERVER_EXPORT ShowDocumentClientCapabilities
{
public:
bool support = { };
template <typename W>
void walk(W &w)
{
field(w, "support", support);
}
};
class Q_LANGUAGESERVER_EXPORT WindowClientCapabilities
{
public:
std::optional<bool> workDoneProgress = { };
std::optional<ShowMessageRequestClientCapabilities> showMessage = { };
std::optional<ShowDocumentClientCapabilities> showDocument = { };
template <typename W>
void walk(W &w)
{
field(w, "workDoneProgress", workDoneProgress);
field(w, "showMessage", showMessage);
field(w, "showDocument", showDocument);
}
};
class Q_LANGUAGESERVER_EXPORT StaleRequestSupportOptions
{
public:
bool cancel = { };
QList<QByteArray> retryOnContentModified = { };
template <typename W>
void walk(W &w)
{
field(w, "cancel", cancel);
field(w, "retryOnContentModified", retryOnContentModified);
}
};
using RegularExpressionEngineKind = QByteArray;
class Q_LANGUAGESERVER_EXPORT RegularExpressionsClientCapabilities
{
public:
RegularExpressionEngineKind engine = { };
std::optional<QByteArray> version = { };
template <typename W>
void walk(W &w)
{
field(w, "engine", engine);
field(w, "version", version);
}
};
class Q_LANGUAGESERVER_EXPORT MarkdownClientCapabilities
{
public:
QByteArray parser = { };
std::optional<QByteArray> version = { };
std::optional<QList<QByteArray>> allowedTags = { };
template <typename W>
void walk(W &w)
{
field(w, "parser", parser);
field(w, "version", version);
field(w, "allowedTags", allowedTags);
}
};
class Q_LANGUAGESERVER_EXPORT GeneralClientCapabilities
{
public:
std::optional<StaleRequestSupportOptions> staleRequestSupport = { };
std::optional<RegularExpressionsClientCapabilities> regularExpressions = { };
std::optional<MarkdownClientCapabilities> markdown = { };
std::optional<QList<PositionEncodingKind>> positionEncodings = { };
template <typename W>
void walk(W &w)
{
field(w, "staleRequestSupport", staleRequestSupport);
field(w, "regularExpressions", regularExpressions);
field(w, "markdown", markdown);
field(w, "positionEncodings", positionEncodings);
}
};
class Q_LANGUAGESERVER_EXPORT ClientCapabilities
{
public:
std::optional<WorkspaceClientCapabilities> workspace = { };
std::optional<TextDocumentClientCapabilities> textDocument = { };
std::optional<NotebookDocumentClientCapabilities> notebookDocument = { };
std::optional<WindowClientCapabilities> window = { };
std::optional<GeneralClientCapabilities> general = { };
std::optional<QJsonValue> experimental = { };
template <typename W>
void walk(W &w)
{
field(w, "workspace", workspace);
field(w, "textDocument", textDocument);
field(w, "notebookDocument", notebookDocument);
field(w, "window", window);
field(w, "general", general);
field(w, "experimental", experimental);
}
};
class Q_LANGUAGESERVER_EXPORT ClientInfo
{
public:
QByteArray name = { };
std::optional<QByteArray> version = { };
template <typename W>
void walk(W &w)
{
field(w, "name", name);
field(w, "version", version);
}
};
class Q_LANGUAGESERVER_EXPORT CodeDescription
{
public:
QByteArray href = { };
template <typename W>
void walk(W &w)
{
field(w, "href", href);
}
};
class Q_LANGUAGESERVER_EXPORT MarkupContent
{
public:
MarkupKind kind = { };
QByteArray value = { };
template <typename W>
void walk(W &w)
{
field(w, "kind", kind);
field(w, "value", value);
}
};
class Q_LANGUAGESERVER_EXPORT Location
{
public:
QByteArray uri = { };
Range range = { };
template <typename W>
void walk(W &w)
{
field(w, "uri", uri);
field(w, "range", range);
}
};
class Q_LANGUAGESERVER_EXPORT DiagnosticRelatedInformation
{
public:
Location location = { };
QByteArray message = { };
template <typename W>
void walk(W &w)
{
field(w, "location", location);
field(w, "message", message);
}
};
class Q_LANGUAGESERVER_EXPORT Diagnostic
{
public:
Range range = { };
std::optional<DiagnosticSeverity> severity = { };
std::optional<std::variant<int, QByteArray>> code = { };
std::optional<CodeDescription> codeDescription = { };
std::optional<QByteArray> source = { };
std::variant<QByteArray, MarkupContent> message = { };
std::optional<QList<DiagnosticTag>> tags = { };
std::optional<QList<DiagnosticRelatedInformation>> relatedInformation = { };
std::optional<QJsonValue> data = { };
template <typename W>
void walk(W &w)
{
field(w, "range", range);
field(w, "severity", severity);
field(w, "code", code);
field(w, "codeDescription", codeDescription);
field(w, "source", source);
field(w, "message", message);
field(w, "tags", tags);
field(w, "relatedInformation", relatedInformation);
field(w, "data", data);
}
};
class Q_LANGUAGESERVER_EXPORT CodeActionDisabled
{
public:
QByteArray reason = { };
template <typename W>
void walk(W &w)
{
field(w, "reason", reason);
}
};
class Q_LANGUAGESERVER_EXPORT Command
{
public:
QByteArray title = { };
std::optional<QByteArray> tooltip = { };
QByteArray command = { };
std::optional<QList<QJsonValue>> arguments = { };
template <typename W>
void walk(W &w)
{
field(w, "title", title);
field(w, "tooltip", tooltip);
field(w, "command", command);
field(w, "arguments", arguments);
}
};
class Q_LANGUAGESERVER_EXPORT CodeAction
{
public:
QByteArray title = { };
std::optional<CodeActionKind> kind = { };
std::optional<QList<Diagnostic>> diagnostics = { };
std::optional<bool> isPreferred = { };
std::optional<CodeActionDisabled> disabled = { };
std::optional<WorkspaceEdit> edit = { };
std::optional<Command> command = { };
std::optional<QJsonValue> data = { };
std::optional<QList<CodeActionTag>> tags = { };
template <typename W>
void walk(W &w)
{
field(w, "title", title);
field(w, "kind", kind);
field(w, "diagnostics", diagnostics);
field(w, "isPreferred", isPreferred);
field(w, "disabled", disabled);
field(w, "edit", edit);
field(w, "command", command);
field(w, "data", data);
field(w, "tags", tags);
}
};
class Q_LANGUAGESERVER_EXPORT CodeActionContext
{
public:
QList<Diagnostic> diagnostics = { };
std::optional<QList<CodeActionKind>> only = { };
std::optional<CodeActionTriggerKind> triggerKind = { };
template <typename W>
void walk(W &w)
{
field(w, "diagnostics", diagnostics);
field(w, "only", only);
field(w, "triggerKind", triggerKind);
}
};
class Q_LANGUAGESERVER_EXPORT CodeActionKindDocumentation
{
public:
CodeActionKind kind = { };
Command command = { };
template <typename W>
void walk(W &w)
{
field(w, "kind", kind);
field(w, "command", command);
}
};
class Q_LANGUAGESERVER_EXPORT CodeActionOptions : public WorkDoneProgressOptions
{
public:
std::optional<QList<CodeActionKind>> codeActionKinds = { };
std::optional<QList<CodeActionKindDocumentation>> documentation = { };
std::optional<bool> resolveProvider = { };
template <typename W>
void walk(W &w)
{
WorkDoneProgressOptions::walk(w);
field(w, "codeActionKinds", codeActionKinds);
field(w, "documentation", documentation);
field(w, "resolveProvider", resolveProvider);
}
};
class Q_LANGUAGESERVER_EXPORT CodeActionParams : public WorkDoneProgressParams,
public PartialResultParams
{
public:
TextDocumentIdentifier textDocument = { };
Range range = { };
CodeActionContext context = { };
template <typename W>
void walk(W &w)
{
WorkDoneProgressParams::walk(w);
PartialResultParams::walk(w);
field(w, "textDocument", textDocument);
field(w, "range", range);
field(w, "context", context);
}
};
class Q_LANGUAGESERVER_EXPORT CodeActionRegistrationOptions
: public TextDocumentRegistrationOptions,
public CodeActionOptions
{
public:
template <typename W>
void walk(W &w)
{
TextDocumentRegistrationOptions::walk(w);
CodeActionOptions::walk(w);
}
};
class Q_LANGUAGESERVER_EXPORT CodeLens
{
public:
Range range = { };
std::optional<Command> command = { };
std::optional<QJsonValue> data = { };
template <typename W>
void walk(W &w)
{
field(w, "range", range);
field(w, "command", command);
field(w, "data", data);
}
};
class Q_LANGUAGESERVER_EXPORT CodeLensOptions : public WorkDoneProgressOptions
{
public:
std::optional<bool> resolveProvider = { };
template <typename W>
void walk(W &w)
{
WorkDoneProgressOptions::walk(w);
field(w, "resolveProvider", resolveProvider);
}
};
class Q_LANGUAGESERVER_EXPORT CodeLensParams : public WorkDoneProgressParams,
public PartialResultParams
{
public:
TextDocumentIdentifier textDocument = { };
template <typename W>
void walk(W &w)
{
WorkDoneProgressParams::walk(w);
PartialResultParams::walk(w);
field(w, "textDocument", textDocument);
}
};
class Q_LANGUAGESERVER_EXPORT CodeLensRegistrationOptions : public TextDocumentRegistrationOptions,
public CodeLensOptions
{
public:
template <typename W>
void walk(W &w)
{
TextDocumentRegistrationOptions::walk(w);
CodeLensOptions::walk(w);
}
};
class Q_LANGUAGESERVER_EXPORT Color
{
public:
double red = { };
double green = { };
double blue = { };
double alpha = { };
template <typename W>
void walk(W &w)
{
field(w, "red", red);
field(w, "green", green);
field(w, "blue", blue);
field(w, "alpha", alpha);
}
};
class Q_LANGUAGESERVER_EXPORT ColorInformation
{
public:
Range range = { };
Color color = { };
template <typename W>
void walk(W &w)
{
field(w, "range", range);
field(w, "color", color);
}
};
class Q_LANGUAGESERVER_EXPORT ColorPresentation
{
public:
QByteArray label = { };
std::optional<TextEdit> textEdit = { };
std::optional<QList<TextEdit>> additionalTextEdits = { };
template <typename W>
void walk(W &w)
{
field(w, "label", label);
field(w, "textEdit", textEdit);
field(w, "additionalTextEdits", additionalTextEdits);
}
};
class Q_LANGUAGESERVER_EXPORT ColorPresentationParams : public WorkDoneProgressParams,
public PartialResultParams
{
public:
TextDocumentIdentifier textDocument = { };
Color color = { };
Range range = { };
template <typename W>
void walk(W &w)
{
WorkDoneProgressParams::walk(w);
PartialResultParams::walk(w);
field(w, "textDocument", textDocument);
field(w, "color", color);
field(w, "range", range);
}
};
class Q_LANGUAGESERVER_EXPORT CompletionContext
{
public:
CompletionTriggerKind triggerKind = { };
std::optional<QByteArray> triggerCharacter = { };
template <typename W>
void walk(W &w)
{
field(w, "triggerKind", triggerKind);
field(w, "triggerCharacter", triggerCharacter);
}
};
class Q_LANGUAGESERVER_EXPORT CompletionItemLabelDetails
{
public:
std::optional<QByteArray> detail = { };
std::optional<QByteArray> description = { };
template <typename W>
void walk(W &w)
{
field(w, "detail", detail);
field(w, "description", description);
}
};
class Q_LANGUAGESERVER_EXPORT InsertReplaceEdit
{
public:
QByteArray newText = { };
Range insert = { };
Range replace = { };
template <typename W>
void walk(W &w)
{
field(w, "newText", newText);
field(w, "insert", insert);
field(w, "replace", replace);
}
};
class Q_LANGUAGESERVER_EXPORT CompletionItem
{
public:
QByteArray label = { };
std::optional<CompletionItemLabelDetails> labelDetails = { };
std::optional<CompletionItemKind> kind = { };
std::optional<QList<CompletionItemTag>> tags = { };
std::optional<QByteArray> detail = { };
std::optional<std::variant<QByteArray, MarkupContent>> documentation = { };
std::optional<bool> deprecated = { };
std::optional<bool> preselect = { };
std::optional<QByteArray> sortText = { };
std::optional<QByteArray> filterText = { };
std::optional<QByteArray> insertText = { };
std::optional<InsertTextFormat> insertTextFormat = { };
std::optional<InsertTextMode> insertTextMode = { };
std::optional<std::variant<TextEdit, InsertReplaceEdit>> textEdit = { };
std::optional<QByteArray> textEditText = { };
std::optional<QList<TextEdit>> additionalTextEdits = { };
std::optional<QList<QByteArray>> commitCharacters = { };
std::optional<Command> command = { };
std::optional<QJsonValue> data = { };
template <typename W>
void walk(W &w)
{
field(w, "label", label);
field(w, "labelDetails", labelDetails);
field(w, "kind", kind);
field(w, "tags", tags);
field(w, "detail", detail);
field(w, "documentation", documentation);
field(w, "deprecated", deprecated);
field(w, "preselect", preselect);
field(w, "sortText", sortText);
field(w, "filterText", filterText);
field(w, "insertText", insertText);
field(w, "insertTextFormat", insertTextFormat);
field(w, "insertTextMode", insertTextMode);
field(w, "textEdit", textEdit);
field(w, "textEditText", textEditText);
field(w, "additionalTextEdits", additionalTextEdits);
field(w, "commitCharacters", commitCharacters);
field(w, "command", command);
field(w, "data", data);
}
};
class Q_LANGUAGESERVER_EXPORT CompletionItemApplyKinds
{
public:
std::optional<ApplyKind> commitCharacters = { };
std::optional<ApplyKind> data = { };
template <typename W>
void walk(W &w)
{
field(w, "commitCharacters", commitCharacters);
field(w, "data", data);
}
};
class Q_LANGUAGESERVER_EXPORT EditRangeWithInsertReplace
{
public:
Range insert = { };
Range replace = { };
template <typename W>
void walk(W &w)
{
field(w, "insert", insert);
field(w, "replace", replace);
}
};
class Q_LANGUAGESERVER_EXPORT CompletionItemDefaults
{
public:
std::optional<QList<QByteArray>> commitCharacters = { };
std::optional<std::variant<Range, EditRangeWithInsertReplace>> editRange = { };
std::optional<InsertTextFormat> insertTextFormat = { };
std::optional<InsertTextMode> insertTextMode = { };
std::optional<QJsonValue> data = { };
template <typename W>
void walk(W &w)
{
field(w, "commitCharacters", commitCharacters);
field(w, "editRange", editRange);
field(w, "insertTextFormat", insertTextFormat);
field(w, "insertTextMode", insertTextMode);
field(w, "data", data);
}
};
class Q_LANGUAGESERVER_EXPORT CompletionList
{
public:
bool isIncomplete = { };
std::optional<CompletionItemDefaults> itemDefaults = { };
std::optional<CompletionItemApplyKinds> applyKind = { };
QList<CompletionItem> items = { };
template <typename W>
void walk(W &w)
{
field(w, "isIncomplete", isIncomplete);
field(w, "itemDefaults", itemDefaults);
field(w, "applyKind", applyKind);
field(w, "items", items);
}
};
class Q_LANGUAGESERVER_EXPORT ServerCompletionItemOptions
{
public:
std::optional<bool> labelDetailsSupport = { };
template <typename W>
void walk(W &w)
{
field(w, "labelDetailsSupport", labelDetailsSupport);
}
};
class Q_LANGUAGESERVER_EXPORT CompletionOptions : public WorkDoneProgressOptions
{
public:
std::optional<QList<QByteArray>> triggerCharacters = { };
std::optional<QList<QByteArray>> allCommitCharacters = { };
std::optional<bool> resolveProvider = { };
std::optional<ServerCompletionItemOptions> completionItem = { };
template <typename W>
void walk(W &w)
{
WorkDoneProgressOptions::walk(w);
field(w, "triggerCharacters", triggerCharacters);
field(w, "allCommitCharacters", allCommitCharacters);
field(w, "resolveProvider", resolveProvider);
field(w, "completionItem", completionItem);
}
};
class Q_LANGUAGESERVER_EXPORT CompletionParams : public TextDocumentPositionParams,
public WorkDoneProgressParams,
public PartialResultParams
{
public:
std::optional<CompletionContext> context = { };
template <typename W>
void walk(W &w)
{
TextDocumentPositionParams::walk(w);
WorkDoneProgressParams::walk(w);
PartialResultParams::walk(w);
field(w, "context", context);
}
};
class Q_LANGUAGESERVER_EXPORT CompletionRegistrationOptions
: public TextDocumentRegistrationOptions,
public CompletionOptions
{
public:
template <typename W>
void walk(W &w)
{
TextDocumentRegistrationOptions::walk(w);
CompletionOptions::walk(w);
}
};
class Q_LANGUAGESERVER_EXPORT ConfigurationItem
{
public:
std::optional<QByteArray> scopeUri = { };
std::optional<QByteArray> section = { };
template <typename W>
void walk(W &w)
{
field(w, "scopeUri", scopeUri);
field(w, "section", section);
}
};
class Q_LANGUAGESERVER_EXPORT ConfigurationParams
{
public:
QList<ConfigurationItem> items = { };
template <typename W>
void walk(W &w)
{
field(w, "items", items);
}
};
class Q_LANGUAGESERVER_EXPORT FileCreate
{
public:
QByteArray uri = { };
template <typename W>
void walk(W &w)
{
field(w, "uri", uri);
}
};
class Q_LANGUAGESERVER_EXPORT CreateFilesParams
{
public:
QList<FileCreate> files = { };
template <typename W>
void walk(W &w)
{
field(w, "files", files);
}
};
using Declaration = std::variant<Location, QList<Location>>;
class Q_LANGUAGESERVER_EXPORT LocationLink
{
public:
std::optional<Range> originSelectionRange = { };
QByteArray targetUri = { };
Range targetRange = { };
Range targetSelectionRange = { };
template <typename W>
void walk(W &w)
{
field(w, "originSelectionRange", originSelectionRange);
field(w, "targetUri", targetUri);
field(w, "targetRange", targetRange);
field(w, "targetSelectionRange", targetSelectionRange);
}
};
using DeclarationLink = LocationLink;
class Q_LANGUAGESERVER_EXPORT DeclarationOptions : public WorkDoneProgressOptions
{
public:
template <typename W>
void walk(W &w)
{
WorkDoneProgressOptions::walk(w);
}
};
class Q_LANGUAGESERVER_EXPORT DeclarationParams : public TextDocumentPositionParams,
public WorkDoneProgressParams,
public PartialResultParams
{
public:
template <typename W>
void walk(W &w)
{
TextDocumentPositionParams::walk(w);
WorkDoneProgressParams::walk(w);
PartialResultParams::walk(w);
}
};
class Q_LANGUAGESERVER_EXPORT DeclarationRegistrationOptions
: public DeclarationOptions,
public TextDocumentRegistrationOptions,
public StaticRegistrationOptions
{
public:
template <typename W>
void walk(W &w)
{
DeclarationOptions::walk(w);
TextDocumentRegistrationOptions::walk(w);
StaticRegistrationOptions::walk(w);
}
};
using Definition = std::variant<Location, QList<Location>>;
using DefinitionLink = LocationLink;
class Q_LANGUAGESERVER_EXPORT DefinitionOptions : public WorkDoneProgressOptions
{
public:
template <typename W>
void walk(W &w)
{
WorkDoneProgressOptions::walk(w);
}
};
class Q_LANGUAGESERVER_EXPORT DefinitionParams : public TextDocumentPositionParams,
public WorkDoneProgressParams,
public PartialResultParams
{
public:
template <typename W>
void walk(W &w)
{
TextDocumentPositionParams::walk(w);
WorkDoneProgressParams::walk(w);
PartialResultParams::walk(w);
}
};
class Q_LANGUAGESERVER_EXPORT DefinitionRegistrationOptions
: public TextDocumentRegistrationOptions,
public DefinitionOptions
{
public:
template <typename W>
void walk(W &w)
{
TextDocumentRegistrationOptions::walk(w);
DefinitionOptions::walk(w);
}
};
class Q_LANGUAGESERVER_EXPORT FileDelete
{
public:
QByteArray uri = { };
template <typename W>
void walk(W &w)
{
field(w, "uri", uri);
}
};
class Q_LANGUAGESERVER_EXPORT DeleteFilesParams
{
public:
QList<FileDelete> files = { };
template <typename W>
void walk(W &w)
{
field(w, "files", files);
}
};
class Q_LANGUAGESERVER_EXPORT DiagnosticOptions : public WorkDoneProgressOptions
{
public:
std::optional<QByteArray> identifier = { };
bool interFileDependencies = { };
bool workspaceDiagnostics = { };
template <typename W>
void walk(W &w)
{
WorkDoneProgressOptions::walk(w);
field(w, "identifier", identifier);
field(w, "interFileDependencies", interFileDependencies);
field(w, "workspaceDiagnostics", workspaceDiagnostics);
}
};
class Q_LANGUAGESERVER_EXPORT DiagnosticRegistrationOptions
: public TextDocumentRegistrationOptions,
public DiagnosticOptions,
public StaticRegistrationOptions
{
public:
template <typename W>
void walk(W &w)
{
TextDocumentRegistrationOptions::walk(w);
DiagnosticOptions::walk(w);
StaticRegistrationOptions::walk(w);
}
};
class Q_LANGUAGESERVER_EXPORT DiagnosticServerCancellationData
{
public:
bool retriggerRequest = { };
template <typename W>
void walk(W &w)
{
field(w, "retriggerRequest", retriggerRequest);
}
};
class Q_LANGUAGESERVER_EXPORT DidChangeConfigurationParams
{
public:
QJsonValue settings = { };
template <typename W>
void walk(W &w)
{
field(w, "settings", settings);
}
};
class Q_LANGUAGESERVER_EXPORT DidChangeConfigurationRegistrationOptions
{
public:
std::optional<std::variant<QByteArray, QList<QByteArray>>> section = { };
template <typename W>
void walk(W &w)
{
field(w, "section", section);
}
};
class Q_LANGUAGESERVER_EXPORT VersionedNotebookDocumentIdentifier
{
public:
int version = { };
QByteArray uri = { };
template <typename W>
void walk(W &w)
{
field(w, "version", version);
field(w, "uri", uri);
}
};
class Q_LANGUAGESERVER_EXPORT ExecutionSummary
{
public:
unsigned int executionOrder = { };
std::optional<bool> success = { };
template <typename W>
void walk(W &w)
{
field(w, "executionOrder", executionOrder);
field(w, "success", success);
}
};
class Q_LANGUAGESERVER_EXPORT NotebookCell
{
public:
NotebookCellKind kind = { };
QByteArray document = { };
std::optional<QJsonObject> metadata = { };
std::optional<ExecutionSummary> executionSummary = { };
template <typename W>
void walk(W &w)
{
field(w, "kind", kind);
field(w, "document", document);
field(w, "metadata", metadata);
field(w, "executionSummary", executionSummary);
}
};
class Q_LANGUAGESERVER_EXPORT NotebookCellArrayChange
{
public:
unsigned int start = { };
unsigned int deleteCount = { };
std::optional<QList<NotebookCell>> cells = { };
template <typename W>
void walk(W &w)
{
field(w, "start", start);
field(w, "deleteCount", deleteCount);
field(w, "cells", cells);
}
};
class Q_LANGUAGESERVER_EXPORT TextDocumentItem
{
public:
QByteArray uri = { };
LanguageKind languageId = { };
int version = { };
QByteArray text = { };
template <typename W>
void walk(W &w)
{
field(w, "uri", uri);
field(w, "languageId", languageId);
field(w, "version", version);
field(w, "text", text);
}
};
class Q_LANGUAGESERVER_EXPORT NotebookDocumentCellChangeStructure
{
public:
NotebookCellArrayChange array = { };
std::optional<QList<TextDocumentItem>> didOpen = { };
std::optional<QList<TextDocumentIdentifier>> didClose = { };
template <typename W>
void walk(W &w)
{
field(w, "array", array);
field(w, "didOpen", didOpen);
field(w, "didClose", didClose);
}
};
class Q_LANGUAGESERVER_EXPORT VersionedTextDocumentIdentifier : public TextDocumentIdentifier
{
public:
int version = { };
template <typename W>
void walk(W &w)
{
TextDocumentIdentifier::walk(w);
field(w, "version", version);
}
};
class Q_LANGUAGESERVER_EXPORT TextDocumentContentChangePartial
{
public:
Range range = { };
std::optional<unsigned int> rangeLength = { };
QByteArray text = { };
template <typename W>
void walk(W &w)
{
field(w, "range", range);
field(w, "rangeLength", rangeLength);
field(w, "text", text);
}
};
class Q_LANGUAGESERVER_EXPORT TextDocumentContentChangeWholeDocument
{
public:
QByteArray text = { };
template <typename W>
void walk(W &w)
{
field(w, "text", text);
}
};
using TextDocumentContentChangeEvent =
std::variant<TextDocumentContentChangePartial, TextDocumentContentChangeWholeDocument>;
class Q_LANGUAGESERVER_EXPORT NotebookDocumentCellContentChanges
{
public:
VersionedTextDocumentIdentifier document = { };
QList<TextDocumentContentChangeEvent> changes = { };
template <typename W>
void walk(W &w)
{
field(w, "document", document);
field(w, "changes", changes);
}
};
class Q_LANGUAGESERVER_EXPORT NotebookDocumentCellChanges
{
public:
std::optional<NotebookDocumentCellChangeStructure> structure = { };
std::optional<QList<NotebookCell>> data = { };
std::optional<QList<NotebookDocumentCellContentChanges>> textContent = { };
template <typename W>
void walk(W &w)
{
field(w, "structure", structure);
field(w, "data", data);
field(w, "textContent", textContent);
}
};
class Q_LANGUAGESERVER_EXPORT NotebookDocumentChangeEvent
{
public:
std::optional<QJsonObject> metadata = { };
std::optional<NotebookDocumentCellChanges> cells = { };
template <typename W>
void walk(W &w)
{
field(w, "metadata", metadata);
field(w, "cells", cells);
}
};
class Q_LANGUAGESERVER_EXPORT DidChangeNotebookDocumentParams
{
public:
VersionedNotebookDocumentIdentifier notebookDocument = { };
NotebookDocumentChangeEvent change = { };
template <typename W>
void walk(W &w)
{
field(w, "notebookDocument", notebookDocument);
field(w, "change", change);
}
};
class Q_LANGUAGESERVER_EXPORT DidChangeTextDocumentParams
{
public:
VersionedTextDocumentIdentifier textDocument = { };
QList<TextDocumentContentChangeEvent> contentChanges = { };
template <typename W>
void walk(W &w)
{
field(w, "textDocument", textDocument);
field(w, "contentChanges", contentChanges);
}
};
class Q_LANGUAGESERVER_EXPORT FileEvent
{
public:
QByteArray uri = { };
FileChangeType type = { };
template <typename W>
void walk(W &w)
{
field(w, "uri", uri);
field(w, "type", type);
}
};
class Q_LANGUAGESERVER_EXPORT DidChangeWatchedFilesParams
{
public:
QList<FileEvent> changes = { };
template <typename W>
void walk(W &w)
{
field(w, "changes", changes);
}
};
class Q_LANGUAGESERVER_EXPORT FileSystemWatcher
{
public:
GlobPattern globPattern = { };
std::optional<WatchKind> kind = { };
template <typename W>
void walk(W &w)
{
field(w, "globPattern", globPattern);
field(w, "kind", kind);
}
};
class Q_LANGUAGESERVER_EXPORT DidChangeWatchedFilesRegistrationOptions
{
public:
QList<FileSystemWatcher> watchers = { };
template <typename W>
void walk(W &w)
{
field(w, "watchers", watchers);
}
};
class Q_LANGUAGESERVER_EXPORT WorkspaceFoldersChangeEvent
{
public:
QList<WorkspaceFolder> added = { };
QList<WorkspaceFolder> removed = { };
template <typename W>
void walk(W &w)
{
field(w, "added", added);
field(w, "removed", removed);
}
};
class Q_LANGUAGESERVER_EXPORT DidChangeWorkspaceFoldersParams
{
public:
WorkspaceFoldersChangeEvent event = { };
template <typename W>
void walk(W &w)
{
field(w, "event", event);
}
};
class Q_LANGUAGESERVER_EXPORT NotebookDocumentIdentifier
{
public:
QByteArray uri = { };
template <typename W>
void walk(W &w)
{
field(w, "uri", uri);
}
};
class Q_LANGUAGESERVER_EXPORT DidCloseNotebookDocumentParams
{
public:
NotebookDocumentIdentifier notebookDocument = { };
QList<TextDocumentIdentifier> cellTextDocuments = { };
template <typename W>
void walk(W &w)
{
field(w, "notebookDocument", notebookDocument);
field(w, "cellTextDocuments", cellTextDocuments);
}
};
class Q_LANGUAGESERVER_EXPORT DidCloseTextDocumentParams
{
public:
TextDocumentIdentifier textDocument = { };
template <typename W>
void walk(W &w)
{
field(w, "textDocument", textDocument);
}
};
class Q_LANGUAGESERVER_EXPORT NotebookDocument
{
public:
QByteArray uri = { };
QByteArray notebookType = { };
int version = { };
std::optional<QJsonObject> metadata = { };
QList<NotebookCell> cells = { };
template <typename W>
void walk(W &w)
{
field(w, "uri", uri);
field(w, "notebookType", notebookType);
field(w, "version", version);
field(w, "metadata", metadata);
field(w, "cells", cells);
}
};
class Q_LANGUAGESERVER_EXPORT DidOpenNotebookDocumentParams
{
public:
NotebookDocument notebookDocument = { };
QList<TextDocumentItem> cellTextDocuments = { };
template <typename W>
void walk(W &w)
{
field(w, "notebookDocument", notebookDocument);
field(w, "cellTextDocuments", cellTextDocuments);
}
};
class Q_LANGUAGESERVER_EXPORT DidOpenTextDocumentParams
{
public:
TextDocumentItem textDocument = { };
template <typename W>
void walk(W &w)
{
field(w, "textDocument", textDocument);
}
};
class Q_LANGUAGESERVER_EXPORT DidSaveNotebookDocumentParams
{
public:
NotebookDocumentIdentifier notebookDocument = { };
template <typename W>
void walk(W &w)
{
field(w, "notebookDocument", notebookDocument);
}
};
class Q_LANGUAGESERVER_EXPORT DidSaveTextDocumentParams
{
public:
TextDocumentIdentifier textDocument = { };
std::optional<QByteArray> text = { };
template <typename W>
void walk(W &w)
{
field(w, "textDocument", textDocument);
field(w, "text", text);
}
};
class Q_LANGUAGESERVER_EXPORT DocumentColorOptions : public WorkDoneProgressOptions
{
public:
template <typename W>
void walk(W &w)
{
WorkDoneProgressOptions::walk(w);
}
};
class Q_LANGUAGESERVER_EXPORT DocumentColorParams : public WorkDoneProgressParams,
public PartialResultParams
{
public:
TextDocumentIdentifier textDocument = { };
template <typename W>
void walk(W &w)
{
WorkDoneProgressParams::walk(w);
PartialResultParams::walk(w);
field(w, "textDocument", textDocument);
}
};
class Q_LANGUAGESERVER_EXPORT DocumentColorRegistrationOptions
: public TextDocumentRegistrationOptions,
public DocumentColorOptions,
public StaticRegistrationOptions
{
public:
template <typename W>
void walk(W &w)
{
TextDocumentRegistrationOptions::walk(w);
DocumentColorOptions::walk(w);
StaticRegistrationOptions::walk(w);
}
};
class Q_LANGUAGESERVER_EXPORT DocumentDiagnosticParams : public WorkDoneProgressParams,
public PartialResultParams
{
public:
TextDocumentIdentifier textDocument = { };
std::optional<QByteArray> identifier = { };
std::optional<QByteArray> previousResultId = { };
template <typename W>
void walk(W &w)
{
WorkDoneProgressParams::walk(w);
PartialResultParams::walk(w);
field(w, "textDocument", textDocument);
field(w, "identifier", identifier);
field(w, "previousResultId", previousResultId);
}
};
class Q_LANGUAGESERVER_EXPORT FullDocumentDiagnosticReport
{
public:
static constexpr QByteArrayView kind = "full";
std::optional<QByteArray> resultId = { };
QList<Diagnostic> items = { };
template <typename W>
void walk(W &w)
{
field(w, "kind", kind);
field(w, "resultId", resultId);
field(w, "items", items);
}
};
class Q_LANGUAGESERVER_EXPORT UnchangedDocumentDiagnosticReport
{
public:
static constexpr QByteArrayView kind = "unchanged";
QByteArray resultId = { };
template <typename W>
void walk(W &w)
{
field(w, "kind", kind);
field(w, "resultId", resultId);
}
};
class Q_LANGUAGESERVER_EXPORT RelatedFullDocumentDiagnosticReport
: public FullDocumentDiagnosticReport
{
public:
std::optional<
QMap<QByteArray,
std::variant<FullDocumentDiagnosticReport, UnchangedDocumentDiagnosticReport>>>
relatedDocuments = { };
template <typename W>
void walk(W &w)
{
FullDocumentDiagnosticReport::walk(w);
field(w, "relatedDocuments", relatedDocuments);
}
};
class Q_LANGUAGESERVER_EXPORT RelatedUnchangedDocumentDiagnosticReport
: public UnchangedDocumentDiagnosticReport
{
public:
std::optional<
QMap<QByteArray,
std::variant<FullDocumentDiagnosticReport, UnchangedDocumentDiagnosticReport>>>
relatedDocuments = { };
template <typename W>
void walk(W &w)
{
UnchangedDocumentDiagnosticReport::walk(w);
field(w, "relatedDocuments", relatedDocuments);
}
};
using DocumentDiagnosticReport =
std::variant<RelatedFullDocumentDiagnosticReport, RelatedUnchangedDocumentDiagnosticReport>;
class Q_LANGUAGESERVER_EXPORT DocumentDiagnosticReportPartialResult
{
public:
QMap<QByteArray, std::variant<FullDocumentDiagnosticReport, UnchangedDocumentDiagnosticReport>>
relatedDocuments = { };
template <typename W>
void walk(W &w)
{
field(w, "relatedDocuments", relatedDocuments);
}
};
using DocumentDiagnosticReportProgress =
std::variant<DocumentDiagnosticReport, DocumentDiagnosticReportPartialResult>;
class Q_LANGUAGESERVER_EXPORT DocumentFormattingOptions : public WorkDoneProgressOptions
{
public:
template <typename W>
void walk(W &w)
{
WorkDoneProgressOptions::walk(w);
}
};
class Q_LANGUAGESERVER_EXPORT FormattingOptions
{
public:
unsigned int tabSize = { };
bool insertSpaces = { };
std::optional<bool> trimTrailingWhitespace = { };
std::optional<bool> insertFinalNewline = { };
std::optional<bool> trimFinalNewlines = { };
template <typename W>
void walk(W &w)
{
field(w, "tabSize", tabSize);
field(w, "insertSpaces", insertSpaces);
field(w, "trimTrailingWhitespace", trimTrailingWhitespace);
field(w, "insertFinalNewline", insertFinalNewline);
field(w, "trimFinalNewlines", trimFinalNewlines);
}
};
class Q_LANGUAGESERVER_EXPORT DocumentFormattingParams : public WorkDoneProgressParams
{
public:
TextDocumentIdentifier textDocument = { };
FormattingOptions options = { };
template <typename W>
void walk(W &w)
{
WorkDoneProgressParams::walk(w);
field(w, "textDocument", textDocument);
field(w, "options", options);
}
};
class Q_LANGUAGESERVER_EXPORT DocumentFormattingRegistrationOptions
: public TextDocumentRegistrationOptions,
public DocumentFormattingOptions
{
public:
template <typename W>
void walk(W &w)
{
TextDocumentRegistrationOptions::walk(w);
DocumentFormattingOptions::walk(w);
}
};
class Q_LANGUAGESERVER_EXPORT DocumentHighlight
{
public:
Range range = { };
std::optional<DocumentHighlightKind> kind = { };
template <typename W>
void walk(W &w)
{
field(w, "range", range);
field(w, "kind", kind);
}
};
class Q_LANGUAGESERVER_EXPORT DocumentHighlightOptions : public WorkDoneProgressOptions
{
public:
template <typename W>
void walk(W &w)
{
WorkDoneProgressOptions::walk(w);
}
};
class Q_LANGUAGESERVER_EXPORT DocumentHighlightParams : public TextDocumentPositionParams,
public WorkDoneProgressParams,
public PartialResultParams
{
public:
template <typename W>
void walk(W &w)
{
TextDocumentPositionParams::walk(w);
WorkDoneProgressParams::walk(w);
PartialResultParams::walk(w);
}
};
class Q_LANGUAGESERVER_EXPORT DocumentHighlightRegistrationOptions
: public TextDocumentRegistrationOptions,
public DocumentHighlightOptions
{
public:
template <typename W>
void walk(W &w)
{
TextDocumentRegistrationOptions::walk(w);
DocumentHighlightOptions::walk(w);
}
};
class Q_LANGUAGESERVER_EXPORT DocumentLink
{
public:
Range range = { };
std::optional<QByteArray> target = { };
std::optional<QByteArray> tooltip = { };
std::optional<QJsonValue> data = { };
template <typename W>
void walk(W &w)
{
field(w, "range", range);
field(w, "target", target);
field(w, "tooltip", tooltip);
field(w, "data", data);
}
};
class Q_LANGUAGESERVER_EXPORT DocumentLinkOptions : public WorkDoneProgressOptions
{
public:
std::optional<bool> resolveProvider = { };
template <typename W>
void walk(W &w)
{
WorkDoneProgressOptions::walk(w);
field(w, "resolveProvider", resolveProvider);
}
};
class Q_LANGUAGESERVER_EXPORT DocumentLinkParams : public WorkDoneProgressParams,
public PartialResultParams
{
public:
TextDocumentIdentifier textDocument = { };
template <typename W>
void walk(W &w)
{
WorkDoneProgressParams::walk(w);
PartialResultParams::walk(w);
field(w, "textDocument", textDocument);
}
};
class Q_LANGUAGESERVER_EXPORT DocumentLinkRegistrationOptions
: public TextDocumentRegistrationOptions,
public DocumentLinkOptions
{
public:
template <typename W>
void walk(W &w)
{
TextDocumentRegistrationOptions::walk(w);
DocumentLinkOptions::walk(w);
}
};
class Q_LANGUAGESERVER_EXPORT DocumentOnTypeFormattingOptions
{
public:
QByteArray firstTriggerCharacter = { };
std::optional<QList<QByteArray>> moreTriggerCharacter = { };
template <typename W>
void walk(W &w)
{
field(w, "firstTriggerCharacter", firstTriggerCharacter);
field(w, "moreTriggerCharacter", moreTriggerCharacter);
}
};
class Q_LANGUAGESERVER_EXPORT DocumentOnTypeFormattingParams
{
public:
TextDocumentIdentifier textDocument = { };
Position position = { };
QByteArray ch = { };
FormattingOptions options = { };
template <typename W>
void walk(W &w)
{
field(w, "textDocument", textDocument);
field(w, "position", position);
field(w, "ch", ch);
field(w, "options", options);
}
};
class Q_LANGUAGESERVER_EXPORT DocumentOnTypeFormattingRegistrationOptions
: public TextDocumentRegistrationOptions,
public DocumentOnTypeFormattingOptions
{
public:
template <typename W>
void walk(W &w)
{
TextDocumentRegistrationOptions::walk(w);
DocumentOnTypeFormattingOptions::walk(w);
}
};
class Q_LANGUAGESERVER_EXPORT DocumentRangeFormattingOptions : public WorkDoneProgressOptions
{
public:
std::optional<bool> rangesSupport = { };
template <typename W>
void walk(W &w)
{
WorkDoneProgressOptions::walk(w);
field(w, "rangesSupport", rangesSupport);
}
};
class Q_LANGUAGESERVER_EXPORT DocumentRangeFormattingParams : public WorkDoneProgressParams
{
public:
TextDocumentIdentifier textDocument = { };
Range range = { };
FormattingOptions options = { };
template <typename W>
void walk(W &w)
{
WorkDoneProgressParams::walk(w);
field(w, "textDocument", textDocument);
field(w, "range", range);
field(w, "options", options);
}
};
class Q_LANGUAGESERVER_EXPORT DocumentRangeFormattingRegistrationOptions
: public TextDocumentRegistrationOptions,
public DocumentRangeFormattingOptions
{
public:
template <typename W>
void walk(W &w)
{
TextDocumentRegistrationOptions::walk(w);
DocumentRangeFormattingOptions::walk(w);
}
};
class Q_LANGUAGESERVER_EXPORT DocumentRangesFormattingParams : public WorkDoneProgressParams
{
public:
TextDocumentIdentifier textDocument = { };
QList<Range> ranges = { };
FormattingOptions options = { };
template <typename W>
void walk(W &w)
{
WorkDoneProgressParams::walk(w);
field(w, "textDocument", textDocument);
field(w, "ranges", ranges);
field(w, "options", options);
}
};
class Q_LANGUAGESERVER_EXPORT DocumentSymbol
{
public:
QByteArray name = { };
std::optional<QByteArray> detail = { };
SymbolKind kind = { };
std::optional<QList<SymbolTag>> tags = { };
std::optional<bool> deprecated = { };
Range range = { };
Range selectionRange = { };
std::optional<QList<DocumentSymbol>> children = { };
template <typename W>
void walk(W &w)
{
field(w, "name", name);
field(w, "detail", detail);
field(w, "kind", kind);
field(w, "tags", tags);
field(w, "deprecated", deprecated);
field(w, "range", range);
field(w, "selectionRange", selectionRange);
field(w, "children", children);
}
};
class Q_LANGUAGESERVER_EXPORT DocumentSymbolOptions : public WorkDoneProgressOptions
{
public:
std::optional<QByteArray> label = { };
template <typename W>
void walk(W &w)
{
WorkDoneProgressOptions::walk(w);
field(w, "label", label);
}
};
class Q_LANGUAGESERVER_EXPORT DocumentSymbolParams : public WorkDoneProgressParams,
public PartialResultParams
{
public:
TextDocumentIdentifier textDocument = { };
template <typename W>
void walk(W &w)
{
WorkDoneProgressParams::walk(w);
PartialResultParams::walk(w);
field(w, "textDocument", textDocument);
}
};
class Q_LANGUAGESERVER_EXPORT DocumentSymbolRegistrationOptions
: public TextDocumentRegistrationOptions,
public DocumentSymbolOptions
{
public:
template <typename W>
void walk(W &w)
{
TextDocumentRegistrationOptions::walk(w);
DocumentSymbolOptions::walk(w);
}
};
class Q_LANGUAGESERVER_EXPORT ExecuteCommandOptions : public WorkDoneProgressOptions
{
public:
QList<QByteArray> commands = { };
template <typename W>
void walk(W &w)
{
WorkDoneProgressOptions::walk(w);
field(w, "commands", commands);
}
};
class Q_LANGUAGESERVER_EXPORT ExecuteCommandParams : public WorkDoneProgressParams
{
public:
QByteArray command = { };
std::optional<QList<QJsonValue>> arguments = { };
template <typename W>
void walk(W &w)
{
WorkDoneProgressParams::walk(w);
field(w, "command", command);
field(w, "arguments", arguments);
}
};
class Q_LANGUAGESERVER_EXPORT ExecuteCommandRegistrationOptions : public ExecuteCommandOptions
{
public:
template <typename W>
void walk(W &w)
{
ExecuteCommandOptions::walk(w);
}
};
class Q_LANGUAGESERVER_EXPORT FileOperationPatternOptions
{
public:
std::optional<bool> ignoreCase = { };
template <typename W>
void walk(W &w)
{
field(w, "ignoreCase", ignoreCase);
}
};
class Q_LANGUAGESERVER_EXPORT FileOperationPattern
{
public:
QByteArray glob = { };
std::optional<FileOperationPatternKind> matches = { };
std::optional<FileOperationPatternOptions> options = { };
template <typename W>
void walk(W &w)
{
field(w, "glob", glob);
field(w, "matches", matches);
field(w, "options", options);
}
};
class Q_LANGUAGESERVER_EXPORT FileOperationFilter
{
public:
std::optional<QByteArray> scheme = { };
FileOperationPattern pattern = { };
template <typename W>
void walk(W &w)
{
field(w, "scheme", scheme);
field(w, "pattern", pattern);
}
};
class Q_LANGUAGESERVER_EXPORT FileOperationRegistrationOptions
{
public:
QList<FileOperationFilter> filters = { };
template <typename W>
void walk(W &w)
{
field(w, "filters", filters);
}
};
class Q_LANGUAGESERVER_EXPORT FileOperationOptions
{
public:
std::optional<FileOperationRegistrationOptions> didCreate = { };
std::optional<FileOperationRegistrationOptions> willCreate = { };
std::optional<FileOperationRegistrationOptions> didRename = { };
std::optional<FileOperationRegistrationOptions> willRename = { };
std::optional<FileOperationRegistrationOptions> didDelete = { };
std::optional<FileOperationRegistrationOptions> willDelete = { };
template <typename W>
void walk(W &w)
{
field(w, "didCreate", didCreate);
field(w, "willCreate", willCreate);
field(w, "didRename", didRename);
field(w, "willRename", willRename);
field(w, "didDelete", didDelete);
field(w, "willDelete", willDelete);
}
};
class Q_LANGUAGESERVER_EXPORT FileRename
{
public:
QByteArray oldUri = { };
QByteArray newUri = { };
template <typename W>
void walk(W &w)
{
field(w, "oldUri", oldUri);
field(w, "newUri", newUri);
}
};
class Q_LANGUAGESERVER_EXPORT FoldingRange
{
public:
unsigned int startLine = { };
std::optional<unsigned int> startCharacter = { };
unsigned int endLine = { };
std::optional<unsigned int> endCharacter = { };
std::optional<FoldingRangeKind> kind = { };
std::optional<QByteArray> collapsedText = { };
template <typename W>
void walk(W &w)
{
field(w, "startLine", startLine);
field(w, "startCharacter", startCharacter);
field(w, "endLine", endLine);
field(w, "endCharacter", endCharacter);
field(w, "kind", kind);
field(w, "collapsedText", collapsedText);
}
};
class Q_LANGUAGESERVER_EXPORT FoldingRangeOptions : public WorkDoneProgressOptions
{
public:
template <typename W>
void walk(W &w)
{
WorkDoneProgressOptions::walk(w);
}
};
class Q_LANGUAGESERVER_EXPORT FoldingRangeParams : public WorkDoneProgressParams,
public PartialResultParams
{
public:
TextDocumentIdentifier textDocument = { };
template <typename W>
void walk(W &w)
{
WorkDoneProgressParams::walk(w);
PartialResultParams::walk(w);
field(w, "textDocument", textDocument);
}
};
class Q_LANGUAGESERVER_EXPORT FoldingRangeRegistrationOptions
: public TextDocumentRegistrationOptions,
public FoldingRangeOptions,
public StaticRegistrationOptions
{
public:
template <typename W>
void walk(W &w)
{
TextDocumentRegistrationOptions::walk(w);
FoldingRangeOptions::walk(w);
StaticRegistrationOptions::walk(w);
}
};
class Q_LANGUAGESERVER_EXPORT Hover
{
public:
std::variant<MarkupContent, MarkedString, QList<MarkedString>> contents = { };
std::optional<Range> range = { };
template <typename W>
void walk(W &w)
{
field(w, "contents", contents);
field(w, "range", range);
}
};
class Q_LANGUAGESERVER_EXPORT HoverOptions : public WorkDoneProgressOptions
{
public:
template <typename W>
void walk(W &w)
{
WorkDoneProgressOptions::walk(w);
}
};
class Q_LANGUAGESERVER_EXPORT HoverParams : public TextDocumentPositionParams,
public WorkDoneProgressParams
{
public:
template <typename W>
void walk(W &w)
{
TextDocumentPositionParams::walk(w);
WorkDoneProgressParams::walk(w);
}
};
class Q_LANGUAGESERVER_EXPORT HoverRegistrationOptions : public TextDocumentRegistrationOptions,
public HoverOptions
{
public:
template <typename W>
void walk(W &w)
{
TextDocumentRegistrationOptions::walk(w);
HoverOptions::walk(w);
}
};
class Q_LANGUAGESERVER_EXPORT ImplementationOptions : public WorkDoneProgressOptions
{
public:
template <typename W>
void walk(W &w)
{
WorkDoneProgressOptions::walk(w);
}
};
class Q_LANGUAGESERVER_EXPORT ImplementationParams : public TextDocumentPositionParams,
public WorkDoneProgressParams,
public PartialResultParams
{
public:
template <typename W>
void walk(W &w)
{
TextDocumentPositionParams::walk(w);
WorkDoneProgressParams::walk(w);
PartialResultParams::walk(w);
}
};
class Q_LANGUAGESERVER_EXPORT ImplementationRegistrationOptions
: public TextDocumentRegistrationOptions,
public ImplementationOptions,
public StaticRegistrationOptions
{
public:
template <typename W>
void walk(W &w)
{
TextDocumentRegistrationOptions::walk(w);
ImplementationOptions::walk(w);
StaticRegistrationOptions::walk(w);
}
};
class Q_LANGUAGESERVER_EXPORT InitializeError
{
public:
bool retry = { };
template <typename W>
void walk(W &w)
{
field(w, "retry", retry);
}
};
class Q_LANGUAGESERVER_EXPORT _InitializeParams : public WorkDoneProgressParams
{
public:
std::variant<std::nullptr_t, int> processId = { };
std::optional<ClientInfo> clientInfo = { };
std::optional<QByteArray> locale = { };
std::optional<std::variant<std::nullptr_t, QByteArray>> rootPath = { };
std::variant<std::nullptr_t, QByteArray> rootUri = { };
ClientCapabilities capabilities = { };
std::optional<QJsonValue> initializationOptions = { };
std::optional<TraceValue> trace = { };
template <typename W>
void walk(W &w)
{
WorkDoneProgressParams::walk(w);
field(w, "processId", processId);
field(w, "clientInfo", clientInfo);
field(w, "locale", locale);
field(w, "rootPath", rootPath);
field(w, "rootUri", rootUri);
field(w, "capabilities", capabilities);
field(w, "initializationOptions", initializationOptions);
field(w, "trace", trace);
}
};
class Q_LANGUAGESERVER_EXPORT WorkspaceFoldersInitializeParams
{
public:
std::optional<std::variant<std::nullptr_t, QList<WorkspaceFolder>>> workspaceFolders = { };
template <typename W>
void walk(W &w)
{
field(w, "workspaceFolders", workspaceFolders);
}
};
class Q_LANGUAGESERVER_EXPORT InitializeParams : public _InitializeParams,
public WorkspaceFoldersInitializeParams
{
public:
template <typename W>
void walk(W &w)
{
_InitializeParams::walk(w);
WorkspaceFoldersInitializeParams::walk(w);
}
};
class Q_LANGUAGESERVER_EXPORT SaveOptions
{
public:
std::optional<bool> includeText = { };
template <typename W>
void walk(W &w)
{
field(w, "includeText", includeText);
}
};
class Q_LANGUAGESERVER_EXPORT TextDocumentSyncOptions
{
public:
std::optional<bool> openClose = { };
std::optional<TextDocumentSyncKind> change = { };
std::optional<bool> willSave = { };
std::optional<bool> willSaveWaitUntil = { };
std::optional<std::variant<bool, SaveOptions>> save = { };
template <typename W>
void walk(W &w)
{
field(w, "openClose", openClose);
field(w, "change", change);
field(w, "willSave", willSave);
field(w, "willSaveWaitUntil", willSaveWaitUntil);
field(w, "save", save);
}
};
class Q_LANGUAGESERVER_EXPORT NotebookCellLanguage
{
public:
QByteArray language = { };
template <typename W>
void walk(W &w)
{
field(w, "language", language);
}
};
class Q_LANGUAGESERVER_EXPORT NotebookDocumentFilterWithNotebook
{
public:
std::variant<QByteArray, NotebookDocumentFilter> notebook = { };
std::optional<QList<NotebookCellLanguage>> cells = { };
template <typename W>
void walk(W &w)
{
field(w, "notebook", notebook);
field(w, "cells", cells);
}
};
class Q_LANGUAGESERVER_EXPORT NotebookDocumentFilterWithCells
{
public:
std::optional<std::variant<QByteArray, NotebookDocumentFilter>> notebook = { };
QList<NotebookCellLanguage> cells = { };
template <typename W>
void walk(W &w)
{
field(w, "notebook", notebook);
field(w, "cells", cells);
}
};
class Q_LANGUAGESERVER_EXPORT NotebookDocumentSyncOptions
{
public:
QList<std::variant<NotebookDocumentFilterWithNotebook, NotebookDocumentFilterWithCells>>
notebookSelector = { };
std::optional<bool> save = { };
template <typename W>
void walk(W &w)
{
field(w, "notebookSelector", notebookSelector);
field(w, "save", save);
}
};
class Q_LANGUAGESERVER_EXPORT NotebookDocumentSyncRegistrationOptions
: public NotebookDocumentSyncOptions,
public StaticRegistrationOptions
{
public:
template <typename W>
void walk(W &w)
{
NotebookDocumentSyncOptions::walk(w);
StaticRegistrationOptions::walk(w);
}
};
class Q_LANGUAGESERVER_EXPORT SignatureHelpOptions : public WorkDoneProgressOptions
{
public:
std::optional<QList<QByteArray>> triggerCharacters = { };
std::optional<QList<QByteArray>> retriggerCharacters = { };
template <typename W>
void walk(W &w)
{
WorkDoneProgressOptions::walk(w);
field(w, "triggerCharacters", triggerCharacters);
field(w, "retriggerCharacters", retriggerCharacters);
}
};
class Q_LANGUAGESERVER_EXPORT TypeDefinitionOptions : public WorkDoneProgressOptions
{
public:
template <typename W>
void walk(W &w)
{
WorkDoneProgressOptions::walk(w);
}
};
class Q_LANGUAGESERVER_EXPORT TypeDefinitionRegistrationOptions
: public TextDocumentRegistrationOptions,
public TypeDefinitionOptions,
public StaticRegistrationOptions
{
public:
template <typename W>
void walk(W &w)
{
TextDocumentRegistrationOptions::walk(w);
TypeDefinitionOptions::walk(w);
StaticRegistrationOptions::walk(w);
}
};
class Q_LANGUAGESERVER_EXPORT ReferenceOptions : public WorkDoneProgressOptions
{
public:
template <typename W>
void walk(W &w)
{
WorkDoneProgressOptions::walk(w);
}
};
class Q_LANGUAGESERVER_EXPORT WorkspaceSymbolOptions : public WorkDoneProgressOptions
{
public:
std::optional<bool> resolveProvider = { };
template <typename W>
void walk(W &w)
{
WorkDoneProgressOptions::walk(w);
field(w, "resolveProvider", resolveProvider);
}
};
class Q_LANGUAGESERVER_EXPORT RenameOptions : public WorkDoneProgressOptions
{
public:
std::optional<bool> prepareProvider = { };
template <typename W>
void walk(W &w)
{
WorkDoneProgressOptions::walk(w);
field(w, "prepareProvider", prepareProvider);
}
};
class Q_LANGUAGESERVER_EXPORT SelectionRangeOptions : public WorkDoneProgressOptions
{
public:
template <typename W>
void walk(W &w)
{
WorkDoneProgressOptions::walk(w);
}
};
class Q_LANGUAGESERVER_EXPORT SelectionRangeRegistrationOptions
: public SelectionRangeOptions,
public TextDocumentRegistrationOptions,
public StaticRegistrationOptions
{
public:
template <typename W>
void walk(W &w)
{
SelectionRangeOptions::walk(w);
TextDocumentRegistrationOptions::walk(w);
StaticRegistrationOptions::walk(w);
}
};
class Q_LANGUAGESERVER_EXPORT LinkedEditingRangeOptions : public WorkDoneProgressOptions
{
public:
template <typename W>
void walk(W &w)
{
WorkDoneProgressOptions::walk(w);
}
};
class Q_LANGUAGESERVER_EXPORT LinkedEditingRangeRegistrationOptions
: public TextDocumentRegistrationOptions,
public LinkedEditingRangeOptions,
public StaticRegistrationOptions
{
public:
template <typename W>
void walk(W &w)
{
TextDocumentRegistrationOptions::walk(w);
LinkedEditingRangeOptions::walk(w);
StaticRegistrationOptions::walk(w);
}
};
class Q_LANGUAGESERVER_EXPORT SemanticTokensLegend
{
public:
QList<QByteArray> tokenTypes = { };
QList<QByteArray> tokenModifiers = { };
template <typename W>
void walk(W &w)
{
field(w, "tokenTypes", tokenTypes);
field(w, "tokenModifiers", tokenModifiers);
}
};
class Q_LANGUAGESERVER_EXPORT SemanticTokensFullDelta
{
public:
std::optional<bool> delta = { };
template <typename W>
void walk(W &w)
{
field(w, "delta", delta);
}
};
class Q_LANGUAGESERVER_EXPORT SemanticTokensOptions : public WorkDoneProgressOptions
{
public:
SemanticTokensLegend legend = { };
std::optional<std::variant<bool, QJsonObject>> range = { };
std::optional<std::variant<bool, SemanticTokensFullDelta>> full = { };
template <typename W>
void walk(W &w)
{
WorkDoneProgressOptions::walk(w);
field(w, "legend", legend);
field(w, "range", range);
field(w, "full", full);
}
};
class Q_LANGUAGESERVER_EXPORT SemanticTokensRegistrationOptions
: public TextDocumentRegistrationOptions,
public SemanticTokensOptions,
public StaticRegistrationOptions
{
public:
template <typename W>
void walk(W &w)
{
TextDocumentRegistrationOptions::walk(w);
SemanticTokensOptions::walk(w);
StaticRegistrationOptions::walk(w);
}
};
class Q_LANGUAGESERVER_EXPORT MonikerOptions : public WorkDoneProgressOptions
{
public:
template <typename W>
void walk(W &w)
{
WorkDoneProgressOptions::walk(w);
}
};
class Q_LANGUAGESERVER_EXPORT MonikerRegistrationOptions : public TextDocumentRegistrationOptions,
public MonikerOptions
{
public:
template <typename W>
void walk(W &w)
{
TextDocumentRegistrationOptions::walk(w);
MonikerOptions::walk(w);
}
};
class Q_LANGUAGESERVER_EXPORT TypeHierarchyOptions : public WorkDoneProgressOptions
{
public:
template <typename W>
void walk(W &w)
{
WorkDoneProgressOptions::walk(w);
}
};
class Q_LANGUAGESERVER_EXPORT TypeHierarchyRegistrationOptions
: public TextDocumentRegistrationOptions,
public TypeHierarchyOptions,
public StaticRegistrationOptions
{
public:
template <typename W>
void walk(W &w)
{
TextDocumentRegistrationOptions::walk(w);
TypeHierarchyOptions::walk(w);
StaticRegistrationOptions::walk(w);
}
};
class Q_LANGUAGESERVER_EXPORT InlineValueOptions : public WorkDoneProgressOptions
{
public:
template <typename W>
void walk(W &w)
{
WorkDoneProgressOptions::walk(w);
}
};
class Q_LANGUAGESERVER_EXPORT InlineValueRegistrationOptions
: public InlineValueOptions,
public TextDocumentRegistrationOptions,
public StaticRegistrationOptions
{
public:
template <typename W>
void walk(W &w)
{
InlineValueOptions::walk(w);
TextDocumentRegistrationOptions::walk(w);
StaticRegistrationOptions::walk(w);
}
};
class Q_LANGUAGESERVER_EXPORT InlayHintOptions : public WorkDoneProgressOptions
{
public:
std::optional<bool> resolveProvider = { };
template <typename W>
void walk(W &w)
{
WorkDoneProgressOptions::walk(w);
field(w, "resolveProvider", resolveProvider);
}
};
class Q_LANGUAGESERVER_EXPORT InlayHintRegistrationOptions : public InlayHintOptions,
public TextDocumentRegistrationOptions,
public StaticRegistrationOptions
{
public:
template <typename W>
void walk(W &w)
{
InlayHintOptions::walk(w);
TextDocumentRegistrationOptions::walk(w);
StaticRegistrationOptions::walk(w);
}
};
class Q_LANGUAGESERVER_EXPORT InlineCompletionOptions : public WorkDoneProgressOptions
{
public:
template <typename W>
void walk(W &w)
{
WorkDoneProgressOptions::walk(w);
}
};
class Q_LANGUAGESERVER_EXPORT WorkspaceFoldersServerCapabilities
{
public:
std::optional<bool> supported = { };
std::optional<std::variant<QByteArray, bool>> changeNotifications = { };
template <typename W>
void walk(W &w)
{
field(w, "supported", supported);
field(w, "changeNotifications", changeNotifications);
}
};
class Q_LANGUAGESERVER_EXPORT TextDocumentContentOptions
{
public:
QList<QByteArray> schemes = { };
template <typename W>
void walk(W &w)
{
field(w, "schemes", schemes);
}
};
class Q_LANGUAGESERVER_EXPORT TextDocumentContentRegistrationOptions
: public TextDocumentContentOptions,
public StaticRegistrationOptions
{
public:
template <typename W>
void walk(W &w)
{
TextDocumentContentOptions::walk(w);
StaticRegistrationOptions::walk(w);
}
};
class Q_LANGUAGESERVER_EXPORT WorkspaceOptions
{
public:
std::optional<WorkspaceFoldersServerCapabilities> workspaceFolders = { };
std::optional<FileOperationOptions> fileOperations = { };
std::optional<std::variant<TextDocumentContentOptions, TextDocumentContentRegistrationOptions>>
textDocumentContent = { };
template <typename W>
void walk(W &w)
{
field(w, "workspaceFolders", workspaceFolders);
field(w, "fileOperations", fileOperations);
field(w, "textDocumentContent", textDocumentContent);
}
};
class Q_LANGUAGESERVER_EXPORT ServerCapabilities
{
public:
std::optional<PositionEncodingKind> positionEncoding = { };
std::optional<std::variant<TextDocumentSyncOptions, TextDocumentSyncKind>>
textDocumentSync = { };
std::optional<
std::variant<NotebookDocumentSyncOptions, NotebookDocumentSyncRegistrationOptions>>
notebookDocumentSync = { };
std::optional<CompletionOptions> completionProvider = { };
std::optional<std::variant<bool, HoverOptions>> hoverProvider = { };
std::optional<SignatureHelpOptions> signatureHelpProvider = { };
std::optional<std::variant<bool, DeclarationOptions, DeclarationRegistrationOptions>>
declarationProvider = { };
std::optional<std::variant<bool, DefinitionOptions>> definitionProvider = { };
std::optional<std::variant<bool, TypeDefinitionOptions, TypeDefinitionRegistrationOptions>>
typeDefinitionProvider = { };
std::optional<std::variant<bool, ImplementationOptions, ImplementationRegistrationOptions>>
implementationProvider = { };
std::optional<std::variant<bool, ReferenceOptions>> referencesProvider = { };
std::optional<std::variant<bool, DocumentHighlightOptions>> documentHighlightProvider = { };
std::optional<std::variant<bool, DocumentSymbolOptions>> documentSymbolProvider = { };
std::optional<std::variant<bool, CodeActionOptions>> codeActionProvider = { };
std::optional<CodeLensOptions> codeLensProvider = { };
std::optional<DocumentLinkOptions> documentLinkProvider = { };
std::optional<std::variant<bool, DocumentColorOptions, DocumentColorRegistrationOptions>>
colorProvider = { };
std::optional<std::variant<bool, WorkspaceSymbolOptions>> workspaceSymbolProvider = { };
std::optional<std::variant<bool, DocumentFormattingOptions>> documentFormattingProvider = { };
std::optional<std::variant<bool, DocumentRangeFormattingOptions>>
documentRangeFormattingProvider = { };
std::optional<DocumentOnTypeFormattingOptions> documentOnTypeFormattingProvider = { };
std::optional<std::variant<bool, RenameOptions>> renameProvider = { };
std::optional<std::variant<bool, FoldingRangeOptions, FoldingRangeRegistrationOptions>>
foldingRangeProvider = { };
std::optional<std::variant<bool, SelectionRangeOptions, SelectionRangeRegistrationOptions>>
selectionRangeProvider = { };
std::optional<ExecuteCommandOptions> executeCommandProvider = { };
std::optional<std::variant<bool, CallHierarchyOptions, CallHierarchyRegistrationOptions>>
callHierarchyProvider = { };
std::optional<
std::variant<bool, LinkedEditingRangeOptions, LinkedEditingRangeRegistrationOptions>>
linkedEditingRangeProvider = { };
std::optional<std::variant<SemanticTokensOptions, SemanticTokensRegistrationOptions>>
semanticTokensProvider = { };
std::optional<std::variant<bool, MonikerOptions, MonikerRegistrationOptions>>
monikerProvider = { };
std::optional<std::variant<bool, TypeHierarchyOptions, TypeHierarchyRegistrationOptions>>
typeHierarchyProvider = { };
std::optional<std::variant<bool, InlineValueOptions, InlineValueRegistrationOptions>>
inlineValueProvider = { };
std::optional<std::variant<bool, InlayHintOptions, InlayHintRegistrationOptions>>
inlayHintProvider = { };
std::optional<std::variant<DiagnosticOptions, DiagnosticRegistrationOptions>>
diagnosticProvider = { };
std::optional<std::variant<bool, InlineCompletionOptions>> inlineCompletionProvider = { };
std::optional<WorkspaceOptions> workspace = { };
std::optional<QJsonValue> experimental = { };
template <typename W>
void walk(W &w)
{
field(w, "positionEncoding", positionEncoding);
field(w, "textDocumentSync", textDocumentSync);
field(w, "notebookDocumentSync", notebookDocumentSync);
field(w, "completionProvider", completionProvider);
field(w, "hoverProvider", hoverProvider);
field(w, "signatureHelpProvider", signatureHelpProvider);
field(w, "declarationProvider", declarationProvider);
field(w, "definitionProvider", definitionProvider);
field(w, "typeDefinitionProvider", typeDefinitionProvider);
field(w, "implementationProvider", implementationProvider);
field(w, "referencesProvider", referencesProvider);
field(w, "documentHighlightProvider", documentHighlightProvider);
field(w, "documentSymbolProvider", documentSymbolProvider);
field(w, "codeActionProvider", codeActionProvider);
field(w, "codeLensProvider", codeLensProvider);
field(w, "documentLinkProvider", documentLinkProvider);
field(w, "colorProvider", colorProvider);
field(w, "workspaceSymbolProvider", workspaceSymbolProvider);
field(w, "documentFormattingProvider", documentFormattingProvider);
field(w, "documentRangeFormattingProvider", documentRangeFormattingProvider);
field(w, "documentOnTypeFormattingProvider", documentOnTypeFormattingProvider);
field(w, "renameProvider", renameProvider);
field(w, "foldingRangeProvider", foldingRangeProvider);
field(w, "selectionRangeProvider", selectionRangeProvider);
field(w, "executeCommandProvider", executeCommandProvider);
field(w, "callHierarchyProvider", callHierarchyProvider);
field(w, "linkedEditingRangeProvider", linkedEditingRangeProvider);
field(w, "semanticTokensProvider", semanticTokensProvider);
field(w, "monikerProvider", monikerProvider);
field(w, "typeHierarchyProvider", typeHierarchyProvider);
field(w, "inlineValueProvider", inlineValueProvider);
field(w, "inlayHintProvider", inlayHintProvider);
field(w, "diagnosticProvider", diagnosticProvider);
field(w, "inlineCompletionProvider", inlineCompletionProvider);
field(w, "workspace", workspace);
field(w, "experimental", experimental);
}
};
class Q_LANGUAGESERVER_EXPORT ServerInfo
{
public:
QByteArray name = { };
std::optional<QByteArray> version = { };
template <typename W>
void walk(W &w)
{
field(w, "name", name);
field(w, "version", version);
}
};
class Q_LANGUAGESERVER_EXPORT InitializeResult
{
public:
ServerCapabilities capabilities = { };
std::optional<ServerInfo> serverInfo = { };
template <typename W>
void walk(W &w)
{
field(w, "capabilities", capabilities);
field(w, "serverInfo", serverInfo);
}
};
class Q_LANGUAGESERVER_EXPORT InitializedParams
{
public:
template <typename W>
void walk(W &)
{
}
};
class Q_LANGUAGESERVER_EXPORT InlayHintLabelPart
{
public:
QByteArray value = { };
std::optional<std::variant<QByteArray, MarkupContent>> tooltip = { };
std::optional<Location> location = { };
std::optional<Command> command = { };
template <typename W>
void walk(W &w)
{
field(w, "value", value);
field(w, "tooltip", tooltip);
field(w, "location", location);
field(w, "command", command);
}
};
class Q_LANGUAGESERVER_EXPORT InlayHint
{
public:
Position position = { };
std::variant<QByteArray, QList<InlayHintLabelPart>> label = { };
std::optional<InlayHintKind> kind = { };
std::optional<QList<TextEdit>> textEdits = { };
std::optional<std::variant<QByteArray, MarkupContent>> tooltip = { };
std::optional<bool> paddingLeft = { };
std::optional<bool> paddingRight = { };
std::optional<QJsonValue> data = { };
template <typename W>
void walk(W &w)
{
field(w, "position", position);
field(w, "label", label);
field(w, "kind", kind);
field(w, "textEdits", textEdits);
field(w, "tooltip", tooltip);
field(w, "paddingLeft", paddingLeft);
field(w, "paddingRight", paddingRight);
field(w, "data", data);
}
};
class Q_LANGUAGESERVER_EXPORT InlayHintParams : public WorkDoneProgressParams
{
public:
TextDocumentIdentifier textDocument = { };
Range range = { };
template <typename W>
void walk(W &w)
{
WorkDoneProgressParams::walk(w);
field(w, "textDocument", textDocument);
field(w, "range", range);
}
};
class Q_LANGUAGESERVER_EXPORT SelectedCompletionInfo
{
public:
Range range = { };
QByteArray text = { };
template <typename W>
void walk(W &w)
{
field(w, "range", range);
field(w, "text", text);
}
};
class Q_LANGUAGESERVER_EXPORT InlineCompletionContext
{
public:
InlineCompletionTriggerKind triggerKind = { };
std::optional<SelectedCompletionInfo> selectedCompletionInfo = { };
template <typename W>
void walk(W &w)
{
field(w, "triggerKind", triggerKind);
field(w, "selectedCompletionInfo", selectedCompletionInfo);
}
};
class Q_LANGUAGESERVER_EXPORT InlineCompletionItem
{
public:
std::variant<QByteArray, StringValue> insertText = { };
std::optional<QByteArray> filterText = { };
std::optional<Range> range = { };
std::optional<Command> command = { };
template <typename W>
void walk(W &w)
{
field(w, "insertText", insertText);
field(w, "filterText", filterText);
field(w, "range", range);
field(w, "command", command);
}
};
class Q_LANGUAGESERVER_EXPORT InlineCompletionList
{
public:
QList<InlineCompletionItem> items = { };
template <typename W>
void walk(W &w)
{
field(w, "items", items);
}
};
class Q_LANGUAGESERVER_EXPORT InlineCompletionParams : public TextDocumentPositionParams,
public WorkDoneProgressParams
{
public:
InlineCompletionContext context = { };
template <typename W>
void walk(W &w)
{
TextDocumentPositionParams::walk(w);
WorkDoneProgressParams::walk(w);
field(w, "context", context);
}
};
class Q_LANGUAGESERVER_EXPORT InlineCompletionRegistrationOptions
: public InlineCompletionOptions,
public TextDocumentRegistrationOptions,
public StaticRegistrationOptions
{
public:
template <typename W>
void walk(W &w)
{
InlineCompletionOptions::walk(w);
TextDocumentRegistrationOptions::walk(w);
StaticRegistrationOptions::walk(w);
}
};
class Q_LANGUAGESERVER_EXPORT InlineValueText
{
public:
Range range = { };
QByteArray text = { };
template <typename W>
void walk(W &w)
{
field(w, "range", range);
field(w, "text", text);
}
};
class Q_LANGUAGESERVER_EXPORT InlineValueVariableLookup
{
public:
Range range = { };
std::optional<QByteArray> variableName = { };
bool caseSensitiveLookup = { };
template <typename W>
void walk(W &w)
{
field(w, "range", range);
field(w, "variableName", variableName);
field(w, "caseSensitiveLookup", caseSensitiveLookup);
}
};
class Q_LANGUAGESERVER_EXPORT InlineValueEvaluatableExpression
{
public:
Range range = { };
std::optional<QByteArray> expression = { };
template <typename W>
void walk(W &w)
{
field(w, "range", range);
field(w, "expression", expression);
}
};
using InlineValue =
std::variant<InlineValueText, InlineValueVariableLookup, InlineValueEvaluatableExpression>;
class Q_LANGUAGESERVER_EXPORT InlineValueContext
{
public:
int frameId = { };
Range stoppedLocation = { };
template <typename W>
void walk(W &w)
{
field(w, "frameId", frameId);
field(w, "stoppedLocation", stoppedLocation);
}
};
class Q_LANGUAGESERVER_EXPORT InlineValueParams : public WorkDoneProgressParams
{
public:
TextDocumentIdentifier textDocument = { };
Range range = { };
InlineValueContext context = { };
template <typename W>
void walk(W &w)
{
WorkDoneProgressParams::walk(w);
field(w, "textDocument", textDocument);
field(w, "range", range);
field(w, "context", context);
}
};
class Q_LANGUAGESERVER_EXPORT LinkedEditingRangeParams : public TextDocumentPositionParams,
public WorkDoneProgressParams
{
public:
template <typename W>
void walk(W &w)
{
TextDocumentPositionParams::walk(w);
WorkDoneProgressParams::walk(w);
}
};
class Q_LANGUAGESERVER_EXPORT LinkedEditingRanges
{
public:
QList<Range> ranges = { };
std::optional<QByteArray> wordPattern = { };
template <typename W>
void walk(W &w)
{
field(w, "ranges", ranges);
field(w, "wordPattern", wordPattern);
}
};
class Q_LANGUAGESERVER_EXPORT LocationUriOnly
{
public:
QByteArray uri = { };
template <typename W>
void walk(W &w)
{
field(w, "uri", uri);
}
};
class Q_LANGUAGESERVER_EXPORT LogMessageParams
{
public:
MessageType type = { };
QByteArray message = { };
template <typename W>
void walk(W &w)
{
field(w, "type", type);
field(w, "message", message);
}
};
class Q_LANGUAGESERVER_EXPORT LogTraceParams
{
public:
QByteArray message = { };
std::optional<QByteArray> verbose = { };
template <typename W>
void walk(W &w)
{
field(w, "message", message);
field(w, "verbose", verbose);
}
};
class Q_LANGUAGESERVER_EXPORT MarkedStringWithLanguage
{
public:
QByteArray language = { };
QByteArray value = { };
template <typename W>
void walk(W &w)
{
field(w, "language", language);
field(w, "value", value);
}
};
class Q_LANGUAGESERVER_EXPORT MessageActionItem
{
public:
QByteArray title = { };
template <typename W>
void walk(W &w)
{
field(w, "title", title);
}
};
class Q_LANGUAGESERVER_EXPORT Moniker
{
public:
QByteArray scheme = { };
QByteArray identifier = { };
UniquenessLevel unique = { };
std::optional<MonikerKind> kind = { };
template <typename W>
void walk(W &w)
{
field(w, "scheme", scheme);
field(w, "identifier", identifier);
field(w, "unique", unique);
field(w, "kind", kind);
}
};
class Q_LANGUAGESERVER_EXPORT MonikerParams : public TextDocumentPositionParams,
public WorkDoneProgressParams,
public PartialResultParams
{
public:
template <typename W>
void walk(W &w)
{
TextDocumentPositionParams::walk(w);
WorkDoneProgressParams::walk(w);
PartialResultParams::walk(w);
}
};
class Q_LANGUAGESERVER_EXPORT ParameterInformation
{
public:
std::variant<QByteArray, std::tuple<unsigned int, unsigned int>> label = { };
std::optional<std::variant<QByteArray, MarkupContent>> documentation = { };
template <typename W>
void walk(W &w)
{
field(w, "label", label);
field(w, "documentation", documentation);
}
};
class Q_LANGUAGESERVER_EXPORT PrepareRenameDefaultBehavior
{
public:
bool defaultBehavior = { };
template <typename W>
void walk(W &w)
{
field(w, "defaultBehavior", defaultBehavior);
}
};
class Q_LANGUAGESERVER_EXPORT PrepareRenameParams : public TextDocumentPositionParams,
public WorkDoneProgressParams
{
public:
template <typename W>
void walk(W &w)
{
TextDocumentPositionParams::walk(w);
WorkDoneProgressParams::walk(w);
}
};
class Q_LANGUAGESERVER_EXPORT PrepareRenamePlaceholder
{
public:
Range range = { };
QByteArray placeholder = { };
template <typename W>
void walk(W &w)
{
field(w, "range", range);
field(w, "placeholder", placeholder);
}
};
using PrepareRenameResult =
std::variant<Range, PrepareRenamePlaceholder, PrepareRenameDefaultBehavior>;
class Q_LANGUAGESERVER_EXPORT PreviousResultId
{
public:
QByteArray uri = { };
QByteArray value = { };
template <typename W>
void walk(W &w)
{
field(w, "uri", uri);
field(w, "value", value);
}
};
class Q_LANGUAGESERVER_EXPORT WorkDoneProgressBegin
{
public:
static constexpr QByteArrayView kind = "begin";
QByteArray title = { };
std::optional<bool> cancellable = { };
std::optional<QByteArray> message = { };
std::optional<unsigned int> percentage = { };
template <typename W>
void walk(W &w)
{
field(w, "kind", kind);
field(w, "title", title);
field(w, "cancellable", cancellable);
field(w, "message", message);
field(w, "percentage", percentage);
}
};
class Q_LANGUAGESERVER_EXPORT WorkDoneProgressReport
{
public:
static constexpr QByteArrayView kind = "report";
std::optional<bool> cancellable = { };
std::optional<QByteArray> message = { };
std::optional<unsigned int> percentage = { };
template <typename W>
void walk(W &w)
{
field(w, "kind", kind);
field(w, "cancellable", cancellable);
field(w, "message", message);
field(w, "percentage", percentage);
}
};
class Q_LANGUAGESERVER_EXPORT WorkDoneProgressEnd
{
public:
static constexpr QByteArrayView kind = "end";
std::optional<QByteArray> message = { };
template <typename W>
void walk(W &w)
{
field(w, "kind", kind);
field(w, "message", message);
}
};
class Q_LANGUAGESERVER_EXPORT ProgressParams
{
public:
ProgressToken token = { };
std::variant<WorkDoneProgressBegin, WorkDoneProgressReport, WorkDoneProgressEnd> value = { };
template <typename W>
void walk(W &w)
{
field(w, "token", token);
field(w, "value", value);
}
};
class Q_LANGUAGESERVER_EXPORT PublishDiagnosticsParams
{
public:
QByteArray uri = { };
std::optional<int> version = { };
QList<Diagnostic> diagnostics = { };
template <typename W>
void walk(W &w)
{
field(w, "uri", uri);
field(w, "version", version);
field(w, "diagnostics", diagnostics);
}
};
class Q_LANGUAGESERVER_EXPORT ReferenceContext
{
public:
bool includeDeclaration = { };
template <typename W>
void walk(W &w)
{
field(w, "includeDeclaration", includeDeclaration);
}
};
class Q_LANGUAGESERVER_EXPORT ReferenceParams : public TextDocumentPositionParams,
public WorkDoneProgressParams,
public PartialResultParams
{
public:
ReferenceContext context = { };
template <typename W>
void walk(W &w)
{
TextDocumentPositionParams::walk(w);
WorkDoneProgressParams::walk(w);
PartialResultParams::walk(w);
field(w, "context", context);
}
};
class Q_LANGUAGESERVER_EXPORT ReferenceRegistrationOptions : public TextDocumentRegistrationOptions,
public ReferenceOptions
{
public:
template <typename W>
void walk(W &w)
{
TextDocumentRegistrationOptions::walk(w);
ReferenceOptions::walk(w);
}
};
class Q_LANGUAGESERVER_EXPORT Registration
{
public:
QByteArray id = { };
QByteArray method = { };
std::optional<QJsonValue> registerOptions = { };
template <typename W>
void walk(W &w)
{
field(w, "id", id);
field(w, "method", method);
field(w, "registerOptions", registerOptions);
}
};
class Q_LANGUAGESERVER_EXPORT RegistrationParams
{
public:
QList<Registration> registrations = { };
template <typename W>
void walk(W &w)
{
field(w, "registrations", registrations);
}
};
class Q_LANGUAGESERVER_EXPORT RenameFilesParams
{
public:
QList<FileRename> files = { };
template <typename W>
void walk(W &w)
{
field(w, "files", files);
}
};
class Q_LANGUAGESERVER_EXPORT RenameParams : public TextDocumentPositionParams,
public WorkDoneProgressParams
{
public:
QByteArray newName = { };
template <typename W>
void walk(W &w)
{
TextDocumentPositionParams::walk(w);
WorkDoneProgressParams::walk(w);
field(w, "newName", newName);
}
};
class Q_LANGUAGESERVER_EXPORT RenameRegistrationOptions : public TextDocumentRegistrationOptions,
public RenameOptions
{
public:
template <typename W>
void walk(W &w)
{
TextDocumentRegistrationOptions::walk(w);
RenameOptions::walk(w);
}
};
class Q_LANGUAGESERVER_EXPORT SelectionRangeParams : public WorkDoneProgressParams,
public PartialResultParams
{
public:
TextDocumentIdentifier textDocument = { };
QList<Position> positions = { };
template <typename W>
void walk(W &w)
{
WorkDoneProgressParams::walk(w);
PartialResultParams::walk(w);
field(w, "textDocument", textDocument);
field(w, "positions", positions);
}
};
class Q_LANGUAGESERVER_EXPORT SemanticTokens
{
public:
std::optional<QByteArray> resultId = { };
QList<unsigned int> data = { };
template <typename W>
void walk(W &w)
{
field(w, "resultId", resultId);
field(w, "data", data);
}
};
class Q_LANGUAGESERVER_EXPORT SemanticTokensEdit
{
public:
unsigned int start = { };
unsigned int deleteCount = { };
std::optional<QList<unsigned int>> data = { };
template <typename W>
void walk(W &w)
{
field(w, "start", start);
field(w, "deleteCount", deleteCount);
field(w, "data", data);
}
};
class Q_LANGUAGESERVER_EXPORT SemanticTokensDelta
{
public:
std::optional<QByteArray> resultId = { };
QList<SemanticTokensEdit> edits = { };
template <typename W>
void walk(W &w)
{
field(w, "resultId", resultId);
field(w, "edits", edits);
}
};
class Q_LANGUAGESERVER_EXPORT SemanticTokensDeltaParams : public WorkDoneProgressParams,
public PartialResultParams
{
public:
TextDocumentIdentifier textDocument = { };
QByteArray previousResultId = { };
template <typename W>
void walk(W &w)
{
WorkDoneProgressParams::walk(w);
PartialResultParams::walk(w);
field(w, "textDocument", textDocument);
field(w, "previousResultId", previousResultId);
}
};
class Q_LANGUAGESERVER_EXPORT SemanticTokensDeltaPartialResult
{
public:
QList<SemanticTokensEdit> edits = { };
template <typename W>
void walk(W &w)
{
field(w, "edits", edits);
}
};
class Q_LANGUAGESERVER_EXPORT SemanticTokensParams : public WorkDoneProgressParams,
public PartialResultParams
{
public:
TextDocumentIdentifier textDocument = { };
template <typename W>
void walk(W &w)
{
WorkDoneProgressParams::walk(w);
PartialResultParams::walk(w);
field(w, "textDocument", textDocument);
}
};
class Q_LANGUAGESERVER_EXPORT SemanticTokensPartialResult
{
public:
QList<unsigned int> data = { };
template <typename W>
void walk(W &w)
{
field(w, "data", data);
}
};
class Q_LANGUAGESERVER_EXPORT SemanticTokensRangeParams : public WorkDoneProgressParams,
public PartialResultParams
{
public:
TextDocumentIdentifier textDocument = { };
Range range = { };
template <typename W>
void walk(W &w)
{
WorkDoneProgressParams::walk(w);
PartialResultParams::walk(w);
field(w, "textDocument", textDocument);
field(w, "range", range);
}
};
class Q_LANGUAGESERVER_EXPORT SetTraceParams
{
public:
TraceValue value = { };
template <typename W>
void walk(W &w)
{
field(w, "value", value);
}
};
class Q_LANGUAGESERVER_EXPORT ShowDocumentParams
{
public:
QByteArray uri = { };
std::optional<bool> external = { };
std::optional<bool> takeFocus = { };
std::optional<Range> selection = { };
template <typename W>
void walk(W &w)
{
field(w, "uri", uri);
field(w, "external", external);
field(w, "takeFocus", takeFocus);
field(w, "selection", selection);
}
};
class Q_LANGUAGESERVER_EXPORT ShowDocumentResult
{
public:
bool success = { };
template <typename W>
void walk(W &w)
{
field(w, "success", success);
}
};
class Q_LANGUAGESERVER_EXPORT ShowMessageParams
{
public:
MessageType type = { };
QByteArray message = { };
template <typename W>
void walk(W &w)
{
field(w, "type", type);
field(w, "message", message);
}
};
class Q_LANGUAGESERVER_EXPORT ShowMessageRequestParams
{
public:
MessageType type = { };
QByteArray message = { };
std::optional<QList<MessageActionItem>> actions = { };
template <typename W>
void walk(W &w)
{
field(w, "type", type);
field(w, "message", message);
field(w, "actions", actions);
}
};
class Q_LANGUAGESERVER_EXPORT SignatureInformation
{
public:
QByteArray label = { };
std::optional<std::variant<QByteArray, MarkupContent>> documentation = { };
std::optional<QList<ParameterInformation>> parameters = { };
std::optional<std::variant<std::nullptr_t, unsigned int>> activeParameter = { };
template <typename W>
void walk(W &w)
{
field(w, "label", label);
field(w, "documentation", documentation);
field(w, "parameters", parameters);
field(w, "activeParameter", activeParameter);
}
};
class Q_LANGUAGESERVER_EXPORT SignatureHelp
{
public:
QList<SignatureInformation> signatures = { };
std::optional<unsigned int> activeSignature = { };
std::optional<std::variant<std::nullptr_t, unsigned int>> activeParameter = { };
template <typename W>
void walk(W &w)
{
field(w, "signatures", signatures);
field(w, "activeSignature", activeSignature);
field(w, "activeParameter", activeParameter);
}
};
class Q_LANGUAGESERVER_EXPORT SignatureHelpContext
{
public:
SignatureHelpTriggerKind triggerKind = { };
std::optional<QByteArray> triggerCharacter = { };
bool isRetrigger = { };
std::optional<SignatureHelp> activeSignatureHelp = { };
template <typename W>
void walk(W &w)
{
field(w, "triggerKind", triggerKind);
field(w, "triggerCharacter", triggerCharacter);
field(w, "isRetrigger", isRetrigger);
field(w, "activeSignatureHelp", activeSignatureHelp);
}
};
class Q_LANGUAGESERVER_EXPORT SignatureHelpParams : public TextDocumentPositionParams,
public WorkDoneProgressParams
{
public:
std::optional<SignatureHelpContext> context = { };
template <typename W>
void walk(W &w)
{
TextDocumentPositionParams::walk(w);
WorkDoneProgressParams::walk(w);
field(w, "context", context);
}
};
class Q_LANGUAGESERVER_EXPORT SignatureHelpRegistrationOptions
: public TextDocumentRegistrationOptions,
public SignatureHelpOptions
{
public:
template <typename W>
void walk(W &w)
{
TextDocumentRegistrationOptions::walk(w);
SignatureHelpOptions::walk(w);
}
};
class Q_LANGUAGESERVER_EXPORT SymbolInformation : public BaseSymbolInformation
{
public:
std::optional<bool> deprecated = { };
Location location = { };
template <typename W>
void walk(W &w)
{
BaseSymbolInformation::walk(w);
field(w, "deprecated", deprecated);
field(w, "location", location);
}
};
class Q_LANGUAGESERVER_EXPORT TextDocumentChangeRegistrationOptions
: public TextDocumentRegistrationOptions
{
public:
TextDocumentSyncKind syncKind = { };
template <typename W>
void walk(W &w)
{
TextDocumentRegistrationOptions::walk(w);
field(w, "syncKind", syncKind);
}
};
class Q_LANGUAGESERVER_EXPORT TextDocumentContentParams
{
public:
QByteArray uri = { };
template <typename W>
void walk(W &w)
{
field(w, "uri", uri);
}
};
class Q_LANGUAGESERVER_EXPORT TextDocumentContentRefreshParams
{
public:
QByteArray uri = { };
template <typename W>
void walk(W &w)
{
field(w, "uri", uri);
}
};
class Q_LANGUAGESERVER_EXPORT TextDocumentContentResult
{
public:
QByteArray text = { };
template <typename W>
void walk(W &w)
{
field(w, "text", text);
}
};
class Q_LANGUAGESERVER_EXPORT TextDocumentSaveRegistrationOptions
: public TextDocumentRegistrationOptions,
public SaveOptions
{
public:
template <typename W>
void walk(W &w)
{
TextDocumentRegistrationOptions::walk(w);
SaveOptions::walk(w);
}
};
class Q_LANGUAGESERVER_EXPORT TypeDefinitionParams : public TextDocumentPositionParams,
public WorkDoneProgressParams,
public PartialResultParams
{
public:
template <typename W>
void walk(W &w)
{
TextDocumentPositionParams::walk(w);
WorkDoneProgressParams::walk(w);
PartialResultParams::walk(w);
}
};
class Q_LANGUAGESERVER_EXPORT TypeHierarchyItem
{
public:
QByteArray name = { };
SymbolKind kind = { };
std::optional<QList<SymbolTag>> tags = { };
std::optional<QByteArray> detail = { };
QByteArray uri = { };
Range range = { };
Range selectionRange = { };
std::optional<QJsonValue> data = { };
template <typename W>
void walk(W &w)
{
field(w, "name", name);
field(w, "kind", kind);
field(w, "tags", tags);
field(w, "detail", detail);
field(w, "uri", uri);
field(w, "range", range);
field(w, "selectionRange", selectionRange);
field(w, "data", data);
}
};
class Q_LANGUAGESERVER_EXPORT TypeHierarchyPrepareParams : public TextDocumentPositionParams,
public WorkDoneProgressParams
{
public:
template <typename W>
void walk(W &w)
{
TextDocumentPositionParams::walk(w);
WorkDoneProgressParams::walk(w);
}
};
class Q_LANGUAGESERVER_EXPORT TypeHierarchySubtypesParams : public WorkDoneProgressParams,
public PartialResultParams
{
public:
TypeHierarchyItem item = { };
template <typename W>
void walk(W &w)
{
WorkDoneProgressParams::walk(w);
PartialResultParams::walk(w);
field(w, "item", item);
}
};
class Q_LANGUAGESERVER_EXPORT TypeHierarchySupertypesParams : public WorkDoneProgressParams,
public PartialResultParams
{
public:
TypeHierarchyItem item = { };
template <typename W>
void walk(W &w)
{
WorkDoneProgressParams::walk(w);
PartialResultParams::walk(w);
field(w, "item", item);
}
};
class Q_LANGUAGESERVER_EXPORT Unregistration
{
public:
QByteArray id = { };
QByteArray method = { };
template <typename W>
void walk(W &w)
{
field(w, "id", id);
field(w, "method", method);
}
};
class Q_LANGUAGESERVER_EXPORT UnregistrationParams
{
public:
QList<Unregistration> unregisterations = { };
template <typename W>
void walk(W &w)
{
field(w, "unregisterations", unregisterations);
}
};
class Q_LANGUAGESERVER_EXPORT WillSaveTextDocumentParams
{
public:
TextDocumentIdentifier textDocument = { };
TextDocumentSaveReason reason = { };
template <typename W>
void walk(W &w)
{
field(w, "textDocument", textDocument);
field(w, "reason", reason);
}
};
class Q_LANGUAGESERVER_EXPORT WorkDoneProgressCancelParams
{
public:
ProgressToken token = { };
template <typename W>
void walk(W &w)
{
field(w, "token", token);
}
};
class Q_LANGUAGESERVER_EXPORT WorkDoneProgressCreateParams
{
public:
ProgressToken token = { };
template <typename W>
void walk(W &w)
{
field(w, "token", token);
}
};
class Q_LANGUAGESERVER_EXPORT WorkspaceDiagnosticParams : public WorkDoneProgressParams,
public PartialResultParams
{
public:
std::optional<QByteArray> identifier = { };
QList<PreviousResultId> previousResultIds = { };
template <typename W>
void walk(W &w)
{
WorkDoneProgressParams::walk(w);
PartialResultParams::walk(w);
field(w, "identifier", identifier);
field(w, "previousResultIds", previousResultIds);
}
};
class Q_LANGUAGESERVER_EXPORT WorkspaceFullDocumentDiagnosticReport
: public FullDocumentDiagnosticReport
{
public:
QByteArray uri = { };
std::variant<std::nullptr_t, int> version = { };
template <typename W>
void walk(W &w)
{
FullDocumentDiagnosticReport::walk(w);
field(w, "uri", uri);
field(w, "version", version);
}
};
class Q_LANGUAGESERVER_EXPORT WorkspaceUnchangedDocumentDiagnosticReport
: public UnchangedDocumentDiagnosticReport
{
public:
QByteArray uri = { };
std::variant<std::nullptr_t, int> version = { };
template <typename W>
void walk(W &w)
{
UnchangedDocumentDiagnosticReport::walk(w);
field(w, "uri", uri);
field(w, "version", version);
}
};
using WorkspaceDocumentDiagnosticReport = std::variant<WorkspaceFullDocumentDiagnosticReport,
WorkspaceUnchangedDocumentDiagnosticReport>;
class Q_LANGUAGESERVER_EXPORT WorkspaceDiagnosticReport
{
public:
QList<WorkspaceDocumentDiagnosticReport> items = { };
template <typename W>
void walk(W &w)
{
field(w, "items", items);
}
};
class Q_LANGUAGESERVER_EXPORT WorkspaceDiagnosticReportPartialResult
{
public:
QList<WorkspaceDocumentDiagnosticReport> items = { };
template <typename W>
void walk(W &w)
{
field(w, "items", items);
}
};
class Q_LANGUAGESERVER_EXPORT WorkspaceSymbol : public BaseSymbolInformation
{
public:
std::variant<Location, LocationUriOnly> location = { };
std::optional<QJsonValue> data = { };
template <typename W>
void walk(W &w)
{
BaseSymbolInformation::walk(w);
field(w, "location", location);
field(w, "data", data);
}
};
class Q_LANGUAGESERVER_EXPORT WorkspaceSymbolParams : public WorkDoneProgressParams,
public PartialResultParams
{
public:
QByteArray query = { };
template <typename W>
void walk(W &w)
{
WorkDoneProgressParams::walk(w);
PartialResultParams::walk(w);
field(w, "query", query);
}
};
class Q_LANGUAGESERVER_EXPORT WorkspaceSymbolRegistrationOptions : public WorkspaceSymbolOptions
{
public:
template <typename W>
void walk(W &w)
{
WorkspaceSymbolOptions::walk(w);
}
};
} // namespace QLspSpecification
namespace QTypedJson {
template <>
inline QString enumToString<QLspSpecification::ErrorCodes>(QLspSpecification::ErrorCodes value)
{
return enumToIntString<QLspSpecification::ErrorCodes>(value);
}
template <>
inline QString enumToString<QLspSpecification::ApplyKind>(QLspSpecification::ApplyKind value)
{
return enumToIntString<QLspSpecification::ApplyKind>(value);
}
template <>
inline QString
enumToString<QLspSpecification::CodeActionKind>(QLspSpecification::CodeActionKind value)
{
switch (value) {
case QLspSpecification::CodeActionKind::Empty:
return QLatin1String("");
case QLspSpecification::CodeActionKind::QuickFix:
return QLatin1String("quickfix");
case QLspSpecification::CodeActionKind::Refactor:
return QLatin1String("refactor");
case QLspSpecification::CodeActionKind::RefactorExtract:
return QLatin1String("refactor.extract");
case QLspSpecification::CodeActionKind::RefactorInline:
return QLatin1String("refactor.inline");
case QLspSpecification::CodeActionKind::RefactorMove:
return QLatin1String("refactor.move");
case QLspSpecification::CodeActionKind::RefactorRewrite:
return QLatin1String("refactor.rewrite");
case QLspSpecification::CodeActionKind::Source:
return QLatin1String("source");
case QLspSpecification::CodeActionKind::SourceOrganizeImports:
return QLatin1String("source.organizeImports");
case QLspSpecification::CodeActionKind::SourceFixAll:
return QLatin1String("source.fixAll");
case QLspSpecification::CodeActionKind::Notebook:
return QLatin1String("notebook");
default:
return QString::number(int(value));
}
}
template <>
inline QLspSpecification::CodeActionKind
enumFromString<QLspSpecification::CodeActionKind>(const QString &string)
{
if (string.compare(QLatin1String(""), Qt::CaseInsensitive) == 0)
return QLspSpecification::CodeActionKind::Empty;
else if (string.compare(QLatin1String("quickfix"), Qt::CaseInsensitive) == 0)
return QLspSpecification::CodeActionKind::QuickFix;
else if (string.compare(QLatin1String("refactor"), Qt::CaseInsensitive) == 0)
return QLspSpecification::CodeActionKind::Refactor;
else if (string.compare(QLatin1String("refactor.extract"), Qt::CaseInsensitive) == 0)
return QLspSpecification::CodeActionKind::RefactorExtract;
else if (string.compare(QLatin1String("refactor.inline"), Qt::CaseInsensitive) == 0)
return QLspSpecification::CodeActionKind::RefactorInline;
else if (string.compare(QLatin1String("refactor.move"), Qt::CaseInsensitive) == 0)
return QLspSpecification::CodeActionKind::RefactorMove;
else if (string.compare(QLatin1String("refactor.rewrite"), Qt::CaseInsensitive) == 0)
return QLspSpecification::CodeActionKind::RefactorRewrite;
else if (string.compare(QLatin1String("source"), Qt::CaseInsensitive) == 0)
return QLspSpecification::CodeActionKind::Source;
else if (string.compare(QLatin1String("source.organizeImports"), Qt::CaseInsensitive) == 0)
return QLspSpecification::CodeActionKind::SourceOrganizeImports;
else if (string.compare(QLatin1String("source.fixAll"), Qt::CaseInsensitive) == 0)
return QLspSpecification::CodeActionKind::SourceFixAll;
else if (string.compare(QLatin1String("notebook"), Qt::CaseInsensitive) == 0)
return QLspSpecification::CodeActionKind::Notebook;
return QLspSpecification::CodeActionKind{ };
}
template <>
inline QString
enumToString<QLspSpecification::CodeActionTag>(QLspSpecification::CodeActionTag value)
{
return enumToIntString<QLspSpecification::CodeActionTag>(value);
}
template <>
inline QString enumToString<QLspSpecification::CodeActionTriggerKind>(
QLspSpecification::CodeActionTriggerKind value)
{
return enumToIntString<QLspSpecification::CodeActionTriggerKind>(value);
}
template <>
inline QString
enumToString<QLspSpecification::CompletionItemKind>(QLspSpecification::CompletionItemKind value)
{
return enumToIntString<QLspSpecification::CompletionItemKind>(value);
}
template <>
inline QString
enumToString<QLspSpecification::CompletionItemTag>(QLspSpecification::CompletionItemTag value)
{
return enumToIntString<QLspSpecification::CompletionItemTag>(value);
}
template <>
inline QString enumToString<QLspSpecification::CompletionTriggerKind>(
QLspSpecification::CompletionTriggerKind value)
{
return enumToIntString<QLspSpecification::CompletionTriggerKind>(value);
}
template <>
inline QString
enumToString<QLspSpecification::DiagnosticSeverity>(QLspSpecification::DiagnosticSeverity value)
{
return enumToIntString<QLspSpecification::DiagnosticSeverity>(value);
}
template <>
inline QString
enumToString<QLspSpecification::DiagnosticTag>(QLspSpecification::DiagnosticTag value)
{
return enumToIntString<QLspSpecification::DiagnosticTag>(value);
}
template <>
inline QString enumToString<QLspSpecification::DocumentDiagnosticReportKind>(
QLspSpecification::DocumentDiagnosticReportKind value)
{
switch (value) {
case QLspSpecification::DocumentDiagnosticReportKind::Full:
return QLatin1String("full");
case QLspSpecification::DocumentDiagnosticReportKind::Unchanged:
return QLatin1String("unchanged");
default:
return QString::number(int(value));
}
}
template <>
inline QLspSpecification::DocumentDiagnosticReportKind
enumFromString<QLspSpecification::DocumentDiagnosticReportKind>(const QString &string)
{
if (string.compare(QLatin1String("full"), Qt::CaseInsensitive) == 0)
return QLspSpecification::DocumentDiagnosticReportKind::Full;
else if (string.compare(QLatin1String("unchanged"), Qt::CaseInsensitive) == 0)
return QLspSpecification::DocumentDiagnosticReportKind::Unchanged;
return QLspSpecification::DocumentDiagnosticReportKind{ };
}
template <>
inline QString enumToString<QLspSpecification::DocumentHighlightKind>(
QLspSpecification::DocumentHighlightKind value)
{
return enumToIntString<QLspSpecification::DocumentHighlightKind>(value);
}
template <>
inline QString
enumToString<QLspSpecification::FailureHandlingKind>(QLspSpecification::FailureHandlingKind value)
{
switch (value) {
case QLspSpecification::FailureHandlingKind::Abort:
return QLatin1String("abort");
case QLspSpecification::FailureHandlingKind::Transactional:
return QLatin1String("transactional");
case QLspSpecification::FailureHandlingKind::TextOnlyTransactional:
return QLatin1String("textOnlyTransactional");
case QLspSpecification::FailureHandlingKind::Undo:
return QLatin1String("undo");
default:
return QString::number(int(value));
}
}
template <>
inline QLspSpecification::FailureHandlingKind
enumFromString<QLspSpecification::FailureHandlingKind>(const QString &string)
{
if (string.compare(QLatin1String("abort"), Qt::CaseInsensitive) == 0)
return QLspSpecification::FailureHandlingKind::Abort;
else if (string.compare(QLatin1String("transactional"), Qt::CaseInsensitive) == 0)
return QLspSpecification::FailureHandlingKind::Transactional;
else if (string.compare(QLatin1String("textOnlyTransactional"), Qt::CaseInsensitive) == 0)
return QLspSpecification::FailureHandlingKind::TextOnlyTransactional;
else if (string.compare(QLatin1String("undo"), Qt::CaseInsensitive) == 0)
return QLspSpecification::FailureHandlingKind::Undo;
return QLspSpecification::FailureHandlingKind{ };
}
template <>
inline QString
enumToString<QLspSpecification::FileChangeType>(QLspSpecification::FileChangeType value)
{
return enumToIntString<QLspSpecification::FileChangeType>(value);
}
template <>
inline QString enumToString<QLspSpecification::FileOperationPatternKind>(
QLspSpecification::FileOperationPatternKind value)
{
switch (value) {
case QLspSpecification::FileOperationPatternKind::File:
return QLatin1String("file");
case QLspSpecification::FileOperationPatternKind::Folder:
return QLatin1String("folder");
default:
return QString::number(int(value));
}
}
template <>
inline QLspSpecification::FileOperationPatternKind
enumFromString<QLspSpecification::FileOperationPatternKind>(const QString &string)
{
if (string.compare(QLatin1String("file"), Qt::CaseInsensitive) == 0)
return QLspSpecification::FileOperationPatternKind::File;
else if (string.compare(QLatin1String("folder"), Qt::CaseInsensitive) == 0)
return QLspSpecification::FileOperationPatternKind::Folder;
return QLspSpecification::FileOperationPatternKind{ };
}
template <>
inline QString
enumToString<QLspSpecification::FoldingRangeKind>(QLspSpecification::FoldingRangeKind value)
{
switch (value) {
case QLspSpecification::FoldingRangeKind::Comment:
return QLatin1String("comment");
case QLspSpecification::FoldingRangeKind::Imports:
return QLatin1String("imports");
case QLspSpecification::FoldingRangeKind::Region:
return QLatin1String("region");
default:
return QString::number(int(value));
}
}
template <>
inline QLspSpecification::FoldingRangeKind
enumFromString<QLspSpecification::FoldingRangeKind>(const QString &string)
{
if (string.compare(QLatin1String("comment"), Qt::CaseInsensitive) == 0)
return QLspSpecification::FoldingRangeKind::Comment;
else if (string.compare(QLatin1String("imports"), Qt::CaseInsensitive) == 0)
return QLspSpecification::FoldingRangeKind::Imports;
else if (string.compare(QLatin1String("region"), Qt::CaseInsensitive) == 0)
return QLspSpecification::FoldingRangeKind::Region;
return QLspSpecification::FoldingRangeKind{ };
}
template <>
inline QString
enumToString<QLspSpecification::InlayHintKind>(QLspSpecification::InlayHintKind value)
{
return enumToIntString<QLspSpecification::InlayHintKind>(value);
}
template <>
inline QString enumToString<QLspSpecification::InlineCompletionTriggerKind>(
QLspSpecification::InlineCompletionTriggerKind value)
{
return enumToIntString<QLspSpecification::InlineCompletionTriggerKind>(value);
}
template <>
inline QString
enumToString<QLspSpecification::InsertTextFormat>(QLspSpecification::InsertTextFormat value)
{
return enumToIntString<QLspSpecification::InsertTextFormat>(value);
}
template <>
inline QString
enumToString<QLspSpecification::InsertTextMode>(QLspSpecification::InsertTextMode value)
{
return enumToIntString<QLspSpecification::InsertTextMode>(value);
}
template <>
inline QString
enumToString<QLspSpecification::LSPErrorCodes>(QLspSpecification::LSPErrorCodes value)
{
return enumToIntString<QLspSpecification::LSPErrorCodes>(value);
}
template <>
inline QString enumToString<QLspSpecification::LanguageKind>(QLspSpecification::LanguageKind value)
{
switch (value) {
case QLspSpecification::LanguageKind::ABAP:
return QLatin1String("abap");
case QLspSpecification::LanguageKind::WindowsBat:
return QLatin1String("bat");
case QLspSpecification::LanguageKind::BibTeX:
return QLatin1String("bibtex");
case QLspSpecification::LanguageKind::Clojure:
return QLatin1String("clojure");
case QLspSpecification::LanguageKind::Coffeescript:
return QLatin1String("coffeescript");
case QLspSpecification::LanguageKind::C:
return QLatin1String("c");
case QLspSpecification::LanguageKind::CPP:
return QLatin1String("cpp");
case QLspSpecification::LanguageKind::CSharp:
return QLatin1String("csharp");
case QLspSpecification::LanguageKind::CSS:
return QLatin1String("css");
case QLspSpecification::LanguageKind::D:
return QLatin1String("d");
case QLspSpecification::LanguageKind::Delphi:
return QLatin1String("pascal");
case QLspSpecification::LanguageKind::Diff:
return QLatin1String("diff");
case QLspSpecification::LanguageKind::Dart:
return QLatin1String("dart");
case QLspSpecification::LanguageKind::Dockerfile:
return QLatin1String("dockerfile");
case QLspSpecification::LanguageKind::Elixir:
return QLatin1String("elixir");
case QLspSpecification::LanguageKind::Erlang:
return QLatin1String("erlang");
case QLspSpecification::LanguageKind::FSharp:
return QLatin1String("fsharp");
case QLspSpecification::LanguageKind::GitCommit:
return QLatin1String("git-commit");
case QLspSpecification::LanguageKind::GitRebase:
return QLatin1String("git-rebase");
case QLspSpecification::LanguageKind::Go:
return QLatin1String("go");
case QLspSpecification::LanguageKind::Groovy:
return QLatin1String("groovy");
case QLspSpecification::LanguageKind::Handlebars:
return QLatin1String("handlebars");
case QLspSpecification::LanguageKind::Haskell:
return QLatin1String("haskell");
case QLspSpecification::LanguageKind::HTML:
return QLatin1String("html");
case QLspSpecification::LanguageKind::Ini:
return QLatin1String("ini");
case QLspSpecification::LanguageKind::Java:
return QLatin1String("java");
case QLspSpecification::LanguageKind::JavaScript:
return QLatin1String("javascript");
case QLspSpecification::LanguageKind::JavaScriptReact:
return QLatin1String("javascriptreact");
case QLspSpecification::LanguageKind::JSON:
return QLatin1String("json");
case QLspSpecification::LanguageKind::LaTeX:
return QLatin1String("latex");
case QLspSpecification::LanguageKind::Less:
return QLatin1String("less");
case QLspSpecification::LanguageKind::Lua:
return QLatin1String("lua");
case QLspSpecification::LanguageKind::Makefile:
return QLatin1String("makefile");
case QLspSpecification::LanguageKind::Markdown:
return QLatin1String("markdown");
case QLspSpecification::LanguageKind::ObjectiveC:
return QLatin1String("objective-c");
case QLspSpecification::LanguageKind::ObjectiveCPP:
return QLatin1String("objective-cpp");
case QLspSpecification::LanguageKind::Pascal:
return QLatin1String("pascal");
case QLspSpecification::LanguageKind::Perl:
return QLatin1String("perl");
case QLspSpecification::LanguageKind::Perl6:
return QLatin1String("perl6");
case QLspSpecification::LanguageKind::PHP:
return QLatin1String("php");
case QLspSpecification::LanguageKind::Plaintext:
return QLatin1String("plaintext");
case QLspSpecification::LanguageKind::Powershell:
return QLatin1String("powershell");
case QLspSpecification::LanguageKind::Pug:
return QLatin1String("jade");
case QLspSpecification::LanguageKind::Python:
return QLatin1String("python");
case QLspSpecification::LanguageKind::R:
return QLatin1String("r");
case QLspSpecification::LanguageKind::Razor:
return QLatin1String("razor");
case QLspSpecification::LanguageKind::Ruby:
return QLatin1String("ruby");
case QLspSpecification::LanguageKind::Rust:
return QLatin1String("rust");
case QLspSpecification::LanguageKind::SCSS:
return QLatin1String("scss");
case QLspSpecification::LanguageKind::SASS:
return QLatin1String("sass");
case QLspSpecification::LanguageKind::Scala:
return QLatin1String("scala");
case QLspSpecification::LanguageKind::ShaderLab:
return QLatin1String("shaderlab");
case QLspSpecification::LanguageKind::ShellScript:
return QLatin1String("shellscript");
case QLspSpecification::LanguageKind::SQL:
return QLatin1String("sql");
case QLspSpecification::LanguageKind::Swift:
return QLatin1String("swift");
case QLspSpecification::LanguageKind::TypeScript:
return QLatin1String("typescript");
case QLspSpecification::LanguageKind::TypeScriptReact:
return QLatin1String("typescriptreact");
case QLspSpecification::LanguageKind::TeX:
return QLatin1String("tex");
case QLspSpecification::LanguageKind::VisualBasic:
return QLatin1String("vb");
case QLspSpecification::LanguageKind::XML:
return QLatin1String("xml");
case QLspSpecification::LanguageKind::XSL:
return QLatin1String("xsl");
case QLspSpecification::LanguageKind::YAML:
return QLatin1String("yaml");
default:
return QString::number(int(value));
}
}
template <>
inline QLspSpecification::LanguageKind
enumFromString<QLspSpecification::LanguageKind>(const QString &string)
{
if (string.compare(QLatin1String("abap"), Qt::CaseInsensitive) == 0)
return QLspSpecification::LanguageKind::ABAP;
else if (string.compare(QLatin1String("bat"), Qt::CaseInsensitive) == 0)
return QLspSpecification::LanguageKind::WindowsBat;
else if (string.compare(QLatin1String("bibtex"), Qt::CaseInsensitive) == 0)
return QLspSpecification::LanguageKind::BibTeX;
else if (string.compare(QLatin1String("clojure"), Qt::CaseInsensitive) == 0)
return QLspSpecification::LanguageKind::Clojure;
else if (string.compare(QLatin1String("coffeescript"), Qt::CaseInsensitive) == 0)
return QLspSpecification::LanguageKind::Coffeescript;
else if (string.compare(QLatin1String("c"), Qt::CaseInsensitive) == 0)
return QLspSpecification::LanguageKind::C;
else if (string.compare(QLatin1String("cpp"), Qt::CaseInsensitive) == 0)
return QLspSpecification::LanguageKind::CPP;
else if (string.compare(QLatin1String("csharp"), Qt::CaseInsensitive) == 0)
return QLspSpecification::LanguageKind::CSharp;
else if (string.compare(QLatin1String("css"), Qt::CaseInsensitive) == 0)
return QLspSpecification::LanguageKind::CSS;
else if (string.compare(QLatin1String("d"), Qt::CaseInsensitive) == 0)
return QLspSpecification::LanguageKind::D;
else if (string.compare(QLatin1String("pascal"), Qt::CaseInsensitive) == 0)
return QLspSpecification::LanguageKind::Delphi;
else if (string.compare(QLatin1String("diff"), Qt::CaseInsensitive) == 0)
return QLspSpecification::LanguageKind::Diff;
else if (string.compare(QLatin1String("dart"), Qt::CaseInsensitive) == 0)
return QLspSpecification::LanguageKind::Dart;
else if (string.compare(QLatin1String("dockerfile"), Qt::CaseInsensitive) == 0)
return QLspSpecification::LanguageKind::Dockerfile;
else if (string.compare(QLatin1String("elixir"), Qt::CaseInsensitive) == 0)
return QLspSpecification::LanguageKind::Elixir;
else if (string.compare(QLatin1String("erlang"), Qt::CaseInsensitive) == 0)
return QLspSpecification::LanguageKind::Erlang;
else if (string.compare(QLatin1String("fsharp"), Qt::CaseInsensitive) == 0)
return QLspSpecification::LanguageKind::FSharp;
else if (string.compare(QLatin1String("git-commit"), Qt::CaseInsensitive) == 0)
return QLspSpecification::LanguageKind::GitCommit;
else if (string.compare(QLatin1String("git-rebase"), Qt::CaseInsensitive) == 0)
return QLspSpecification::LanguageKind::GitRebase;
else if (string.compare(QLatin1String("go"), Qt::CaseInsensitive) == 0)
return QLspSpecification::LanguageKind::Go;
else if (string.compare(QLatin1String("groovy"), Qt::CaseInsensitive) == 0)
return QLspSpecification::LanguageKind::Groovy;
else if (string.compare(QLatin1String("handlebars"), Qt::CaseInsensitive) == 0)
return QLspSpecification::LanguageKind::Handlebars;
else if (string.compare(QLatin1String("haskell"), Qt::CaseInsensitive) == 0)
return QLspSpecification::LanguageKind::Haskell;
else if (string.compare(QLatin1String("html"), Qt::CaseInsensitive) == 0)
return QLspSpecification::LanguageKind::HTML;
else if (string.compare(QLatin1String("ini"), Qt::CaseInsensitive) == 0)
return QLspSpecification::LanguageKind::Ini;
else if (string.compare(QLatin1String("java"), Qt::CaseInsensitive) == 0)
return QLspSpecification::LanguageKind::Java;
else if (string.compare(QLatin1String("javascript"), Qt::CaseInsensitive) == 0)
return QLspSpecification::LanguageKind::JavaScript;
else if (string.compare(QLatin1String("javascriptreact"), Qt::CaseInsensitive) == 0)
return QLspSpecification::LanguageKind::JavaScriptReact;
else if (string.compare(QLatin1String("json"), Qt::CaseInsensitive) == 0)
return QLspSpecification::LanguageKind::JSON;
else if (string.compare(QLatin1String("latex"), Qt::CaseInsensitive) == 0)
return QLspSpecification::LanguageKind::LaTeX;
else if (string.compare(QLatin1String("less"), Qt::CaseInsensitive) == 0)
return QLspSpecification::LanguageKind::Less;
else if (string.compare(QLatin1String("lua"), Qt::CaseInsensitive) == 0)
return QLspSpecification::LanguageKind::Lua;
else if (string.compare(QLatin1String("makefile"), Qt::CaseInsensitive) == 0)
return QLspSpecification::LanguageKind::Makefile;
else if (string.compare(QLatin1String("markdown"), Qt::CaseInsensitive) == 0)
return QLspSpecification::LanguageKind::Markdown;
else if (string.compare(QLatin1String("objective-c"), Qt::CaseInsensitive) == 0)
return QLspSpecification::LanguageKind::ObjectiveC;
else if (string.compare(QLatin1String("objective-cpp"), Qt::CaseInsensitive) == 0)
return QLspSpecification::LanguageKind::ObjectiveCPP;
else if (string.compare(QLatin1String("pascal"), Qt::CaseInsensitive) == 0)
return QLspSpecification::LanguageKind::Pascal;
else if (string.compare(QLatin1String("perl"), Qt::CaseInsensitive) == 0)
return QLspSpecification::LanguageKind::Perl;
else if (string.compare(QLatin1String("perl6"), Qt::CaseInsensitive) == 0)
return QLspSpecification::LanguageKind::Perl6;
else if (string.compare(QLatin1String("php"), Qt::CaseInsensitive) == 0)
return QLspSpecification::LanguageKind::PHP;
else if (string.compare(QLatin1String("plaintext"), Qt::CaseInsensitive) == 0)
return QLspSpecification::LanguageKind::Plaintext;
else if (string.compare(QLatin1String("powershell"), Qt::CaseInsensitive) == 0)
return QLspSpecification::LanguageKind::Powershell;
else if (string.compare(QLatin1String("jade"), Qt::CaseInsensitive) == 0)
return QLspSpecification::LanguageKind::Pug;
else if (string.compare(QLatin1String("python"), Qt::CaseInsensitive) == 0)
return QLspSpecification::LanguageKind::Python;
else if (string.compare(QLatin1String("r"), Qt::CaseInsensitive) == 0)
return QLspSpecification::LanguageKind::R;
else if (string.compare(QLatin1String("razor"), Qt::CaseInsensitive) == 0)
return QLspSpecification::LanguageKind::Razor;
else if (string.compare(QLatin1String("ruby"), Qt::CaseInsensitive) == 0)
return QLspSpecification::LanguageKind::Ruby;
else if (string.compare(QLatin1String("rust"), Qt::CaseInsensitive) == 0)
return QLspSpecification::LanguageKind::Rust;
else if (string.compare(QLatin1String("scss"), Qt::CaseInsensitive) == 0)
return QLspSpecification::LanguageKind::SCSS;
else if (string.compare(QLatin1String("sass"), Qt::CaseInsensitive) == 0)
return QLspSpecification::LanguageKind::SASS;
else if (string.compare(QLatin1String("scala"), Qt::CaseInsensitive) == 0)
return QLspSpecification::LanguageKind::Scala;
else if (string.compare(QLatin1String("shaderlab"), Qt::CaseInsensitive) == 0)
return QLspSpecification::LanguageKind::ShaderLab;
else if (string.compare(QLatin1String("shellscript"), Qt::CaseInsensitive) == 0)
return QLspSpecification::LanguageKind::ShellScript;
else if (string.compare(QLatin1String("sql"), Qt::CaseInsensitive) == 0)
return QLspSpecification::LanguageKind::SQL;
else if (string.compare(QLatin1String("swift"), Qt::CaseInsensitive) == 0)
return QLspSpecification::LanguageKind::Swift;
else if (string.compare(QLatin1String("typescript"), Qt::CaseInsensitive) == 0)
return QLspSpecification::LanguageKind::TypeScript;
else if (string.compare(QLatin1String("typescriptreact"), Qt::CaseInsensitive) == 0)
return QLspSpecification::LanguageKind::TypeScriptReact;
else if (string.compare(QLatin1String("tex"), Qt::CaseInsensitive) == 0)
return QLspSpecification::LanguageKind::TeX;
else if (string.compare(QLatin1String("vb"), Qt::CaseInsensitive) == 0)
return QLspSpecification::LanguageKind::VisualBasic;
else if (string.compare(QLatin1String("xml"), Qt::CaseInsensitive) == 0)
return QLspSpecification::LanguageKind::XML;
else if (string.compare(QLatin1String("xsl"), Qt::CaseInsensitive) == 0)
return QLspSpecification::LanguageKind::XSL;
else if (string.compare(QLatin1String("yaml"), Qt::CaseInsensitive) == 0)
return QLspSpecification::LanguageKind::YAML;
return QLspSpecification::LanguageKind{ };
}
template <>
inline QString enumToString<QLspSpecification::MarkupKind>(QLspSpecification::MarkupKind value)
{
switch (value) {
case QLspSpecification::MarkupKind::PlainText:
return QLatin1String("plaintext");
case QLspSpecification::MarkupKind::Markdown:
return QLatin1String("markdown");
default:
return QString::number(int(value));
}
}
template <>
inline QLspSpecification::MarkupKind
enumFromString<QLspSpecification::MarkupKind>(const QString &string)
{
if (string.compare(QLatin1String("plaintext"), Qt::CaseInsensitive) == 0)
return QLspSpecification::MarkupKind::PlainText;
else if (string.compare(QLatin1String("markdown"), Qt::CaseInsensitive) == 0)
return QLspSpecification::MarkupKind::Markdown;
return QLspSpecification::MarkupKind{ };
}
template <>
inline QString enumToString<QLspSpecification::MessageType>(QLspSpecification::MessageType value)
{
return enumToIntString<QLspSpecification::MessageType>(value);
}
template <>
inline QString enumToString<QLspSpecification::MonikerKind>(QLspSpecification::MonikerKind value)
{
switch (value) {
case QLspSpecification::MonikerKind::Import:
return QLatin1String("import");
case QLspSpecification::MonikerKind::Export:
return QLatin1String("export");
case QLspSpecification::MonikerKind::Local:
return QLatin1String("local");
default:
return QString::number(int(value));
}
}
template <>
inline QLspSpecification::MonikerKind
enumFromString<QLspSpecification::MonikerKind>(const QString &string)
{
if (string.compare(QLatin1String("import"), Qt::CaseInsensitive) == 0)
return QLspSpecification::MonikerKind::Import;
else if (string.compare(QLatin1String("export"), Qt::CaseInsensitive) == 0)
return QLspSpecification::MonikerKind::Export;
else if (string.compare(QLatin1String("local"), Qt::CaseInsensitive) == 0)
return QLspSpecification::MonikerKind::Local;
return QLspSpecification::MonikerKind{ };
}
template <>
inline QString
enumToString<QLspSpecification::NotebookCellKind>(QLspSpecification::NotebookCellKind value)
{
return enumToIntString<QLspSpecification::NotebookCellKind>(value);
}
template <>
inline QString
enumToString<QLspSpecification::PositionEncodingKind>(QLspSpecification::PositionEncodingKind value)
{
switch (value) {
case QLspSpecification::PositionEncodingKind::UTF8:
return QLatin1String("utf-8");
case QLspSpecification::PositionEncodingKind::UTF16:
return QLatin1String("utf-16");
case QLspSpecification::PositionEncodingKind::UTF32:
return QLatin1String("utf-32");
default:
return QString::number(int(value));
}
}
template <>
inline QLspSpecification::PositionEncodingKind
enumFromString<QLspSpecification::PositionEncodingKind>(const QString &string)
{
if (string.compare(QLatin1String("utf-8"), Qt::CaseInsensitive) == 0)
return QLspSpecification::PositionEncodingKind::UTF8;
else if (string.compare(QLatin1String("utf-16"), Qt::CaseInsensitive) == 0)
return QLspSpecification::PositionEncodingKind::UTF16;
else if (string.compare(QLatin1String("utf-32"), Qt::CaseInsensitive) == 0)
return QLspSpecification::PositionEncodingKind::UTF32;
return QLspSpecification::PositionEncodingKind{ };
}
template <>
inline QString enumToString<QLspSpecification::PrepareSupportDefaultBehavior>(
QLspSpecification::PrepareSupportDefaultBehavior value)
{
return enumToIntString<QLspSpecification::PrepareSupportDefaultBehavior>(value);
}
template <>
inline QString enumToString<QLspSpecification::ResourceOperationKind>(
QLspSpecification::ResourceOperationKind value)
{
switch (value) {
case QLspSpecification::ResourceOperationKind::Create:
return QLatin1String("create");
case QLspSpecification::ResourceOperationKind::Rename:
return QLatin1String("rename");
case QLspSpecification::ResourceOperationKind::Delete:
return QLatin1String("delete");
default:
return QString::number(int(value));
}
}
template <>
inline QLspSpecification::ResourceOperationKind
enumFromString<QLspSpecification::ResourceOperationKind>(const QString &string)
{
if (string.compare(QLatin1String("create"), Qt::CaseInsensitive) == 0)
return QLspSpecification::ResourceOperationKind::Create;
else if (string.compare(QLatin1String("rename"), Qt::CaseInsensitive) == 0)
return QLspSpecification::ResourceOperationKind::Rename;
else if (string.compare(QLatin1String("delete"), Qt::CaseInsensitive) == 0)
return QLspSpecification::ResourceOperationKind::Delete;
return QLspSpecification::ResourceOperationKind{ };
}
template <>
inline QString enumToString<QLspSpecification::SemanticTokenModifiers>(
QLspSpecification::SemanticTokenModifiers value)
{
switch (value) {
case QLspSpecification::SemanticTokenModifiers::Declaration:
return QLatin1String("declaration");
case QLspSpecification::SemanticTokenModifiers::Definition:
return QLatin1String("definition");
case QLspSpecification::SemanticTokenModifiers::Readonly:
return QLatin1String("readonly");
case QLspSpecification::SemanticTokenModifiers::Static:
return QLatin1String("static");
case QLspSpecification::SemanticTokenModifiers::Deprecated:
return QLatin1String("deprecated");
case QLspSpecification::SemanticTokenModifiers::Abstract:
return QLatin1String("abstract");
case QLspSpecification::SemanticTokenModifiers::Async:
return QLatin1String("async");
case QLspSpecification::SemanticTokenModifiers::Modification:
return QLatin1String("modification");
case QLspSpecification::SemanticTokenModifiers::Documentation:
return QLatin1String("documentation");
case QLspSpecification::SemanticTokenModifiers::DefaultLibrary:
return QLatin1String("defaultLibrary");
default:
return QString::number(int(value));
}
}
template <>
inline QLspSpecification::SemanticTokenModifiers
enumFromString<QLspSpecification::SemanticTokenModifiers>(const QString &string)
{
if (string.compare(QLatin1String("declaration"), Qt::CaseInsensitive) == 0)
return QLspSpecification::SemanticTokenModifiers::Declaration;
else if (string.compare(QLatin1String("definition"), Qt::CaseInsensitive) == 0)
return QLspSpecification::SemanticTokenModifiers::Definition;
else if (string.compare(QLatin1String("readonly"), Qt::CaseInsensitive) == 0)
return QLspSpecification::SemanticTokenModifiers::Readonly;
else if (string.compare(QLatin1String("static"), Qt::CaseInsensitive) == 0)
return QLspSpecification::SemanticTokenModifiers::Static;
else if (string.compare(QLatin1String("deprecated"), Qt::CaseInsensitive) == 0)
return QLspSpecification::SemanticTokenModifiers::Deprecated;
else if (string.compare(QLatin1String("abstract"), Qt::CaseInsensitive) == 0)
return QLspSpecification::SemanticTokenModifiers::Abstract;
else if (string.compare(QLatin1String("async"), Qt::CaseInsensitive) == 0)
return QLspSpecification::SemanticTokenModifiers::Async;
else if (string.compare(QLatin1String("modification"), Qt::CaseInsensitive) == 0)
return QLspSpecification::SemanticTokenModifiers::Modification;
else if (string.compare(QLatin1String("documentation"), Qt::CaseInsensitive) == 0)
return QLspSpecification::SemanticTokenModifiers::Documentation;
else if (string.compare(QLatin1String("defaultLibrary"), Qt::CaseInsensitive) == 0)
return QLspSpecification::SemanticTokenModifiers::DefaultLibrary;
return QLspSpecification::SemanticTokenModifiers{ };
}
template <>
inline QString
enumToString<QLspSpecification::SemanticTokenTypes>(QLspSpecification::SemanticTokenTypes value)
{
switch (value) {
case QLspSpecification::SemanticTokenTypes::Namespace:
return QLatin1String("namespace");
case QLspSpecification::SemanticTokenTypes::Type:
return QLatin1String("type");
case QLspSpecification::SemanticTokenTypes::Class:
return QLatin1String("class");
case QLspSpecification::SemanticTokenTypes::Enum:
return QLatin1String("enum");
case QLspSpecification::SemanticTokenTypes::Interface:
return QLatin1String("interface");
case QLspSpecification::SemanticTokenTypes::Struct:
return QLatin1String("struct");
case QLspSpecification::SemanticTokenTypes::TypeParameter:
return QLatin1String("typeParameter");
case QLspSpecification::SemanticTokenTypes::Parameter:
return QLatin1String("parameter");
case QLspSpecification::SemanticTokenTypes::Variable:
return QLatin1String("variable");
case QLspSpecification::SemanticTokenTypes::Property:
return QLatin1String("property");
case QLspSpecification::SemanticTokenTypes::EnumMember:
return QLatin1String("enumMember");
case QLspSpecification::SemanticTokenTypes::Event:
return QLatin1String("event");
case QLspSpecification::SemanticTokenTypes::Function:
return QLatin1String("function");
case QLspSpecification::SemanticTokenTypes::Method:
return QLatin1String("method");
case QLspSpecification::SemanticTokenTypes::Macro:
return QLatin1String("macro");
case QLspSpecification::SemanticTokenTypes::Keyword:
return QLatin1String("keyword");
case QLspSpecification::SemanticTokenTypes::Modifier:
return QLatin1String("modifier");
case QLspSpecification::SemanticTokenTypes::Comment:
return QLatin1String("comment");
case QLspSpecification::SemanticTokenTypes::String:
return QLatin1String("string");
case QLspSpecification::SemanticTokenTypes::Number:
return QLatin1String("number");
case QLspSpecification::SemanticTokenTypes::Regexp:
return QLatin1String("regexp");
case QLspSpecification::SemanticTokenTypes::Operator:
return QLatin1String("operator");
case QLspSpecification::SemanticTokenTypes::Decorator:
return QLatin1String("decorator");
case QLspSpecification::SemanticTokenTypes::Label:
return QLatin1String("label");
default:
return QString::number(int(value));
}
}
template <>
inline QLspSpecification::SemanticTokenTypes
enumFromString<QLspSpecification::SemanticTokenTypes>(const QString &string)
{
if (string.compare(QLatin1String("namespace"), Qt::CaseInsensitive) == 0)
return QLspSpecification::SemanticTokenTypes::Namespace;
else if (string.compare(QLatin1String("type"), Qt::CaseInsensitive) == 0)
return QLspSpecification::SemanticTokenTypes::Type;
else if (string.compare(QLatin1String("class"), Qt::CaseInsensitive) == 0)
return QLspSpecification::SemanticTokenTypes::Class;
else if (string.compare(QLatin1String("enum"), Qt::CaseInsensitive) == 0)
return QLspSpecification::SemanticTokenTypes::Enum;
else if (string.compare(QLatin1String("interface"), Qt::CaseInsensitive) == 0)
return QLspSpecification::SemanticTokenTypes::Interface;
else if (string.compare(QLatin1String("struct"), Qt::CaseInsensitive) == 0)
return QLspSpecification::SemanticTokenTypes::Struct;
else if (string.compare(QLatin1String("typeParameter"), Qt::CaseInsensitive) == 0)
return QLspSpecification::SemanticTokenTypes::TypeParameter;
else if (string.compare(QLatin1String("parameter"), Qt::CaseInsensitive) == 0)
return QLspSpecification::SemanticTokenTypes::Parameter;
else if (string.compare(QLatin1String("variable"), Qt::CaseInsensitive) == 0)
return QLspSpecification::SemanticTokenTypes::Variable;
else if (string.compare(QLatin1String("property"), Qt::CaseInsensitive) == 0)
return QLspSpecification::SemanticTokenTypes::Property;
else if (string.compare(QLatin1String("enumMember"), Qt::CaseInsensitive) == 0)
return QLspSpecification::SemanticTokenTypes::EnumMember;
else if (string.compare(QLatin1String("event"), Qt::CaseInsensitive) == 0)
return QLspSpecification::SemanticTokenTypes::Event;
else if (string.compare(QLatin1String("function"), Qt::CaseInsensitive) == 0)
return QLspSpecification::SemanticTokenTypes::Function;
else if (string.compare(QLatin1String("method"), Qt::CaseInsensitive) == 0)
return QLspSpecification::SemanticTokenTypes::Method;
else if (string.compare(QLatin1String("macro"), Qt::CaseInsensitive) == 0)
return QLspSpecification::SemanticTokenTypes::Macro;
else if (string.compare(QLatin1String("keyword"), Qt::CaseInsensitive) == 0)
return QLspSpecification::SemanticTokenTypes::Keyword;
else if (string.compare(QLatin1String("modifier"), Qt::CaseInsensitive) == 0)
return QLspSpecification::SemanticTokenTypes::Modifier;
else if (string.compare(QLatin1String("comment"), Qt::CaseInsensitive) == 0)
return QLspSpecification::SemanticTokenTypes::Comment;
else if (string.compare(QLatin1String("string"), Qt::CaseInsensitive) == 0)
return QLspSpecification::SemanticTokenTypes::String;
else if (string.compare(QLatin1String("number"), Qt::CaseInsensitive) == 0)
return QLspSpecification::SemanticTokenTypes::Number;
else if (string.compare(QLatin1String("regexp"), Qt::CaseInsensitive) == 0)
return QLspSpecification::SemanticTokenTypes::Regexp;
else if (string.compare(QLatin1String("operator"), Qt::CaseInsensitive) == 0)
return QLspSpecification::SemanticTokenTypes::Operator;
else if (string.compare(QLatin1String("decorator"), Qt::CaseInsensitive) == 0)
return QLspSpecification::SemanticTokenTypes::Decorator;
else if (string.compare(QLatin1String("label"), Qt::CaseInsensitive) == 0)
return QLspSpecification::SemanticTokenTypes::Label;
return QLspSpecification::SemanticTokenTypes{ };
}
template <>
inline QString enumToString<QLspSpecification::SignatureHelpTriggerKind>(
QLspSpecification::SignatureHelpTriggerKind value)
{
return enumToIntString<QLspSpecification::SignatureHelpTriggerKind>(value);
}
template <>
inline QString enumToString<QLspSpecification::SymbolKind>(QLspSpecification::SymbolKind value)
{
return enumToIntString<QLspSpecification::SymbolKind>(value);
}
template <>
inline QString enumToString<QLspSpecification::SymbolTag>(QLspSpecification::SymbolTag value)
{
return enumToIntString<QLspSpecification::SymbolTag>(value);
}
template <>
inline QString enumToString<QLspSpecification::TextDocumentSaveReason>(
QLspSpecification::TextDocumentSaveReason value)
{
return enumToIntString<QLspSpecification::TextDocumentSaveReason>(value);
}
template <>
inline QString
enumToString<QLspSpecification::TextDocumentSyncKind>(QLspSpecification::TextDocumentSyncKind value)
{
return enumToIntString<QLspSpecification::TextDocumentSyncKind>(value);
}
template <>
inline QString enumToString<QLspSpecification::TokenFormat>(QLspSpecification::TokenFormat value)
{
switch (value) {
case QLspSpecification::TokenFormat::Relative:
return QLatin1String("relative");
default:
return QString::number(int(value));
}
}
template <>
inline QLspSpecification::TokenFormat
enumFromString<QLspSpecification::TokenFormat>(const QString &string)
{
if (string.compare(QLatin1String("relative"), Qt::CaseInsensitive) == 0)
return QLspSpecification::TokenFormat::Relative;
return QLspSpecification::TokenFormat{ };
}
template <>
inline QString enumToString<QLspSpecification::TraceValue>(QLspSpecification::TraceValue value)
{
switch (value) {
case QLspSpecification::TraceValue::Off:
return QLatin1String("off");
case QLspSpecification::TraceValue::Messages:
return QLatin1String("messages");
case QLspSpecification::TraceValue::Verbose:
return QLatin1String("verbose");
default:
return QString::number(int(value));
}
}
template <>
inline QLspSpecification::TraceValue
enumFromString<QLspSpecification::TraceValue>(const QString &string)
{
if (string.compare(QLatin1String("off"), Qt::CaseInsensitive) == 0)
return QLspSpecification::TraceValue::Off;
else if (string.compare(QLatin1String("messages"), Qt::CaseInsensitive) == 0)
return QLspSpecification::TraceValue::Messages;
else if (string.compare(QLatin1String("verbose"), Qt::CaseInsensitive) == 0)
return QLspSpecification::TraceValue::Verbose;
return QLspSpecification::TraceValue{ };
}
template <>
inline QString
enumToString<QLspSpecification::UniquenessLevel>(QLspSpecification::UniquenessLevel value)
{
switch (value) {
case QLspSpecification::UniquenessLevel::Document:
return QLatin1String("document");
case QLspSpecification::UniquenessLevel::Project:
return QLatin1String("project");
case QLspSpecification::UniquenessLevel::Group:
return QLatin1String("group");
case QLspSpecification::UniquenessLevel::Scheme:
return QLatin1String("scheme");
case QLspSpecification::UniquenessLevel::Global:
return QLatin1String("global");
default:
return QString::number(int(value));
}
}
template <>
inline QLspSpecification::UniquenessLevel
enumFromString<QLspSpecification::UniquenessLevel>(const QString &string)
{
if (string.compare(QLatin1String("document"), Qt::CaseInsensitive) == 0)
return QLspSpecification::UniquenessLevel::Document;
else if (string.compare(QLatin1String("project"), Qt::CaseInsensitive) == 0)
return QLspSpecification::UniquenessLevel::Project;
else if (string.compare(QLatin1String("group"), Qt::CaseInsensitive) == 0)
return QLspSpecification::UniquenessLevel::Group;
else if (string.compare(QLatin1String("scheme"), Qt::CaseInsensitive) == 0)
return QLspSpecification::UniquenessLevel::Scheme;
else if (string.compare(QLatin1String("global"), Qt::CaseInsensitive) == 0)
return QLspSpecification::UniquenessLevel::Global;
return QLspSpecification::UniquenessLevel{ };
}
template <>
inline QString enumToString<QLspSpecification::WatchKind>(QLspSpecification::WatchKind value)
{
return enumToIntString<QLspSpecification::WatchKind>(value);
}
} // namespace QTypedJson
QT_END_NAMESPACE
#endif // QLANGUAGESERVERSPECTYPES_P_H