LSP: Explicify API

Change-Id: Id208a420fd3e1e23d3279c4f1f19bdbed994a8d3
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
David Schulz
2020-07-14 14:31:20 +02:00
parent c4cb5d4039
commit 11ea89d936
19 changed files with 104 additions and 107 deletions

View File

@@ -33,7 +33,7 @@ class Registration : public JsonObject
{ {
public: public:
Registration() : Registration(QString()) {} Registration() : Registration(QString()) {}
Registration(const QString &method) explicit Registration(const QString &method)
{ {
setId(QUuid::createUuid().toString()); setId(QUuid::createUuid().toString());
setMethod(method); setMethod(method);
@@ -58,7 +58,8 @@ class RegistrationParams : public JsonObject
{ {
public: public:
RegistrationParams() : RegistrationParams(QList<Registration>()) {} RegistrationParams() : RegistrationParams(QList<Registration>()) {}
RegistrationParams(const QList<Registration> &registrations) { setRegistrations(registrations); } explicit RegistrationParams(const QList<Registration> &registrations)
{ setRegistrations(registrations); }
using JsonObject::JsonObject; using JsonObject::JsonObject;
QList<Registration> registrations() const { return array<Registration>(registrationsKey); } QList<Registration> registrations() const { return array<Registration>(registrationsKey); }
@@ -73,7 +74,7 @@ class LANGUAGESERVERPROTOCOL_EXPORT RegisterCapabilityRequest : public Request<
std::nullptr_t, std::nullptr_t, RegistrationParams> std::nullptr_t, std::nullptr_t, RegistrationParams>
{ {
public: public:
RegisterCapabilityRequest(const RegistrationParams &params); explicit RegisterCapabilityRequest(const RegistrationParams &params);
using Request::Request; using Request::Request;
constexpr static const char methodName[] = "client/registerCapability"; constexpr static const char methodName[] = "client/registerCapability";
}; };
@@ -111,7 +112,7 @@ class LANGUAGESERVERPROTOCOL_EXPORT UnregisterCapabilityRequest : public Request
std::nullptr_t, std::nullptr_t, UnregistrationParams> std::nullptr_t, std::nullptr_t, UnregistrationParams>
{ {
public: public:
UnregisterCapabilityRequest(const UnregistrationParams &params); explicit UnregisterCapabilityRequest(const UnregistrationParams &params);
using Request::Request; using Request::Request;
constexpr static const char methodName[] = "client/unregisterCapability"; constexpr static const char methodName[] = "client/unregisterCapability";
}; };

View File

@@ -249,14 +249,14 @@ class LANGUAGESERVERPROTOCOL_EXPORT CompletionResult
{ {
public: public:
using variant::variant; using variant::variant;
CompletionResult(const QJsonValue &value); explicit CompletionResult(const QJsonValue &value);
}; };
class LANGUAGESERVERPROTOCOL_EXPORT CompletionRequest : public Request< class LANGUAGESERVERPROTOCOL_EXPORT CompletionRequest : public Request<
CompletionResult, std::nullptr_t, CompletionParams> CompletionResult, std::nullptr_t, CompletionParams>
{ {
public: public:
CompletionRequest(const CompletionParams &params); explicit CompletionRequest(const CompletionParams &params);
using Request::Request; using Request::Request;
constexpr static const char methodName[] = "textDocument/completion"; constexpr static const char methodName[] = "textDocument/completion";
}; };
@@ -265,7 +265,7 @@ class LANGUAGESERVERPROTOCOL_EXPORT CompletionItemResolveRequest : public Reques
CompletionItem, std::nullptr_t, CompletionItem> CompletionItem, std::nullptr_t, CompletionItem>
{ {
public: public:
CompletionItemResolveRequest(const CompletionItem &params); explicit CompletionItemResolveRequest(const CompletionItem &params);
using Request::Request; using Request::Request;
constexpr static const char methodName[] = "completionItem/resolve"; constexpr static const char methodName[] = "completionItem/resolve";
}; };

View File

@@ -49,7 +49,7 @@ public:
class LANGUAGESERVERPROTOCOL_EXPORT PublishDiagnosticsNotification : public Notification<PublishDiagnosticsParams> class LANGUAGESERVERPROTOCOL_EXPORT PublishDiagnosticsNotification : public Notification<PublishDiagnosticsParams>
{ {
public: public:
PublishDiagnosticsNotification(const PublishDiagnosticsParams &params); explicit PublishDiagnosticsNotification(const PublishDiagnosticsParams &params);
using Notification::Notification; using Notification::Notification;
constexpr static const char methodName[] = "textDocument/publishDiagnostics"; constexpr static const char methodName[] = "textDocument/publishDiagnostics";
}; };

View File

@@ -47,17 +47,17 @@ class LANGUAGESERVERPROTOCOL_EXPORT MessageId : public Utils::variant<int, QStri
{ {
public: public:
MessageId() = default; MessageId() = default;
MessageId(int id) : variant(id) {} explicit MessageId(int id) : variant(id) {}
MessageId(QString id) : variant(id) {} explicit MessageId(const QString &id) : variant(id) {}
explicit MessageId(const QJsonValue &value) explicit MessageId(const QJsonValue &value)
{ {
if (value.isUndefined()) if (value.isUndefined())
return; return;
QTC_CHECK(value.isDouble() || value.isString()); QTC_CHECK(value.isDouble() || value.isString());
if (value.isDouble()) if (value.isDouble())
*this = value.toInt(); *this = MessageId(value.toInt());
else if (value.isString()) else if (value.isString())
*this = value.toString(); *this = MessageId(value.toString());
} }
QJsonValue toJson() const QJsonValue toJson() const

View File

@@ -129,7 +129,7 @@ using InitializedParams = JsonObject;
class LANGUAGESERVERPROTOCOL_EXPORT InitializeNotification : public Notification<InitializedParams> class LANGUAGESERVERPROTOCOL_EXPORT InitializeNotification : public Notification<InitializedParams>
{ {
public: public:
InitializeNotification(const InitializedParams &params); explicit InitializeNotification(const InitializedParams &params);
using Notification::Notification; using Notification::Notification;
constexpr static const char methodName[] = "initialized"; constexpr static const char methodName[] = "initialized";
@@ -173,7 +173,7 @@ class LANGUAGESERVERPROTOCOL_EXPORT InitializeRequest : public Request<
InitializeResult, InitializeError, InitializeParams> InitializeResult, InitializeError, InitializeParams>
{ {
public: public:
InitializeRequest(const InitializeParams &params = InitializeParams()); explicit InitializeRequest(const InitializeParams &params);
using Request::Request; using Request::Request;
constexpr static const char methodName[] = "initialize"; constexpr static const char methodName[] = "initialize";
}; };

View File

@@ -46,8 +46,8 @@ class LANGUAGESERVERPROTOCOL_EXPORT JsonRpcMessage : public IContent
{ {
public: public:
JsonRpcMessage(); JsonRpcMessage();
JsonRpcMessage(const QJsonObject &jsonObject); explicit JsonRpcMessage(const QJsonObject &jsonObject);
JsonRpcMessage(QJsonObject &&jsonObject); explicit JsonRpcMessage(QJsonObject &&jsonObject);
QByteArray toRawData() const final; QByteArray toRawData() const final;
QByteArray mimeType() const final; QByteArray mimeType() const final;
@@ -94,8 +94,8 @@ public:
setParams(params); setParams(params);
} }
Notification(const QJsonObject &jsonObject) : JsonRpcMessage(jsonObject) {} explicit Notification(const QJsonObject &jsonObject) : JsonRpcMessage(jsonObject) {}
Notification(QJsonObject &&jsonObject) : JsonRpcMessage(std::move(jsonObject)) {} explicit Notification(QJsonObject &&jsonObject) : JsonRpcMessage(std::move(jsonObject)) {}
QString method() const QString method() const
{ return fromJsonValue<QString>(m_jsonObject.value(methodKey)); } { return fromJsonValue<QString>(m_jsonObject.value(methodKey)); }
@@ -134,7 +134,7 @@ class Notification<std::nullptr_t> : public JsonRpcMessage
{ {
public: public:
Notification() : Notification(QString()) {} Notification() : Notification(QString()) {}
Notification(const QString &methodName, const std::nullptr_t &/*params*/ = nullptr) explicit Notification(const QString &methodName, const std::nullptr_t &/*params*/ = nullptr)
{ {
setMethod(methodName); setMethod(methodName);
setParams(nullptr); setParams(nullptr);
@@ -270,9 +270,9 @@ class Request : public Notification<Params>
public: public:
Request(const QString &methodName, const Params &params) Request(const QString &methodName, const Params &params)
: Notification<Params>(methodName, params) : Notification<Params>(methodName, params)
{ setId(QUuid::createUuid().toString()); } { setId(MessageId(QUuid::createUuid().toString())); }
Request(const QJsonObject &jsonObject) : Notification<Params>(jsonObject) { } explicit Request(const QJsonObject &jsonObject) : Notification<Params>(jsonObject) { }
Request(QJsonObject &&jsonObject) : Notification<Params>(std::move(jsonObject)) { } explicit Request(QJsonObject &&jsonObject) : Notification<Params>(std::move(jsonObject)) { }
MessageId id() const MessageId id() const
{ return MessageId(JsonRpcMessage::m_jsonObject.value(idKey)); } { return MessageId(JsonRpcMessage::m_jsonObject.value(idKey)); }
@@ -323,7 +323,7 @@ private:
class LANGUAGESERVERPROTOCOL_EXPORT CancelParameter : public JsonObject class LANGUAGESERVERPROTOCOL_EXPORT CancelParameter : public JsonObject
{ {
public: public:
CancelParameter(const MessageId &id) { setId(id); } explicit CancelParameter(const MessageId &id) { setId(id); }
CancelParameter() = default; CancelParameter() = default;
using JsonObject::JsonObject; using JsonObject::JsonObject;
@@ -343,7 +343,7 @@ public:
class LANGUAGESERVERPROTOCOL_EXPORT CancelRequest : public Notification<CancelParameter> class LANGUAGESERVERPROTOCOL_EXPORT CancelRequest : public Notification<CancelParameter>
{ {
public: public:
CancelRequest(const CancelParameter &params); explicit CancelRequest(const CancelParameter &params);
using Notification::Notification; using Notification::Notification;
constexpr static const char methodName[] = "$/cancelRequest"; constexpr static const char methodName[] = "$/cancelRequest";
}; };

View File

@@ -106,7 +106,7 @@ class LANGUAGESERVERPROTOCOL_EXPORT HoverRequest
: public Request<Hover, std::nullptr_t, TextDocumentPositionParams> : public Request<Hover, std::nullptr_t, TextDocumentPositionParams>
{ {
public: public:
HoverRequest(const TextDocumentPositionParams &params = TextDocumentPositionParams()); explicit HoverRequest(const TextDocumentPositionParams &params);
using Request::Request; using Request::Request;
constexpr static const char methodName[] = "textDocument/hover"; constexpr static const char methodName[] = "textDocument/hover";
}; };
@@ -201,7 +201,7 @@ class LANGUAGESERVERPROTOCOL_EXPORT SignatureHelpRequest
: public Request<LanguageClientValue<SignatureHelp>, std::nullptr_t, TextDocumentPositionParams> : public Request<LanguageClientValue<SignatureHelp>, std::nullptr_t, TextDocumentPositionParams>
{ {
public: public:
SignatureHelpRequest(const TextDocumentPositionParams &params = TextDocumentPositionParams()); explicit SignatureHelpRequest(const TextDocumentPositionParams &params);
using Request::Request; using Request::Request;
constexpr static const char methodName[] = "textDocument/signatureHelp"; constexpr static const char methodName[] = "textDocument/signatureHelp";
}; };
@@ -211,7 +211,7 @@ class LANGUAGESERVERPROTOCOL_EXPORT GotoResult
: public Utils::variant<Location, QList<Location>, std::nullptr_t> : public Utils::variant<Location, QList<Location>, std::nullptr_t>
{ {
public: public:
GotoResult(const QJsonValue &value); explicit GotoResult(const QJsonValue &value);
using variant::variant; using variant::variant;
}; };
@@ -219,7 +219,7 @@ class LANGUAGESERVERPROTOCOL_EXPORT GotoDefinitionRequest
: public Request<GotoResult, std::nullptr_t, TextDocumentPositionParams> : public Request<GotoResult, std::nullptr_t, TextDocumentPositionParams>
{ {
public: public:
GotoDefinitionRequest(const TextDocumentPositionParams &params = TextDocumentPositionParams()); explicit GotoDefinitionRequest(const TextDocumentPositionParams &params);
using Request::Request; using Request::Request;
constexpr static const char methodName[] = "textDocument/definition"; constexpr static const char methodName[] = "textDocument/definition";
}; };
@@ -228,8 +228,7 @@ class LANGUAGESERVERPROTOCOL_EXPORT GotoTypeDefinitionRequest : public Request<
GotoResult, std::nullptr_t, TextDocumentPositionParams> GotoResult, std::nullptr_t, TextDocumentPositionParams>
{ {
public: public:
GotoTypeDefinitionRequest( explicit GotoTypeDefinitionRequest(const TextDocumentPositionParams &params);
const TextDocumentPositionParams &params = TextDocumentPositionParams());
using Request::Request; using Request::Request;
constexpr static const char methodName[] = "textDocument/typeDefinition"; constexpr static const char methodName[] = "textDocument/typeDefinition";
}; };
@@ -238,8 +237,7 @@ class LANGUAGESERVERPROTOCOL_EXPORT GotoImplementationRequest : public Request<
GotoResult, std::nullptr_t, TextDocumentPositionParams> GotoResult, std::nullptr_t, TextDocumentPositionParams>
{ {
public: public:
GotoImplementationRequest( explicit GotoImplementationRequest(const TextDocumentPositionParams &params);
const TextDocumentPositionParams &params = TextDocumentPositionParams());
using Request::Request; using Request::Request;
constexpr static const char methodName[] = "textDocument/implementation"; constexpr static const char methodName[] = "textDocument/implementation";
}; };
@@ -277,7 +275,7 @@ class LANGUAGESERVERPROTOCOL_EXPORT FindReferencesRequest : public Request<
LanguageClientArray<Location>, std::nullptr_t, ReferenceParams> LanguageClientArray<Location>, std::nullptr_t, ReferenceParams>
{ {
public: public:
FindReferencesRequest(const ReferenceParams &params = ReferenceParams()); explicit FindReferencesRequest(const ReferenceParams &params);
using Request::Request; using Request::Request;
constexpr static const char methodName[] = "textDocument/references"; constexpr static const char methodName[] = "textDocument/references";
}; };
@@ -310,7 +308,7 @@ class LANGUAGESERVERPROTOCOL_EXPORT DocumentHighlightsResult
public: public:
using variant::variant; using variant::variant;
DocumentHighlightsResult() : variant(nullptr) {} DocumentHighlightsResult() : variant(nullptr) {}
DocumentHighlightsResult(const QJsonValue &value); explicit DocumentHighlightsResult(const QJsonValue &value);
using variant::operator=; using variant::operator=;
}; };
@@ -318,8 +316,7 @@ class LANGUAGESERVERPROTOCOL_EXPORT DocumentHighlightsRequest : public Request<
DocumentHighlightsResult, std::nullptr_t, TextDocumentPositionParams> DocumentHighlightsResult, std::nullptr_t, TextDocumentPositionParams>
{ {
public: public:
DocumentHighlightsRequest( explicit DocumentHighlightsRequest(const TextDocumentPositionParams &params);
const TextDocumentPositionParams &params = TextDocumentPositionParams());
using Request::Request; using Request::Request;
constexpr static const char methodName[] = "textDocument/documentHighlight"; constexpr static const char methodName[] = "textDocument/documentHighlight";
}; };
@@ -328,7 +325,7 @@ class LANGUAGESERVERPROTOCOL_EXPORT TextDocumentParams : public JsonObject
{ {
public: public:
TextDocumentParams(); TextDocumentParams();
TextDocumentParams(const TextDocumentIdentifier &identifier); explicit TextDocumentParams(const TextDocumentIdentifier &identifier);
using JsonObject::JsonObject; using JsonObject::JsonObject;
TextDocumentIdentifier textDocument() const TextDocumentIdentifier textDocument() const
@@ -348,7 +345,7 @@ class LANGUAGESERVERPROTOCOL_EXPORT DocumentSymbolsResult
public: public:
using variant::variant; using variant::variant;
DocumentSymbolsResult() : variant(nullptr) {} DocumentSymbolsResult() : variant(nullptr) {}
DocumentSymbolsResult(const QJsonValue &value); explicit DocumentSymbolsResult(const QJsonValue &value);
DocumentSymbolsResult(const DocumentSymbolsResult &other) : variant(other) {} DocumentSymbolsResult(const DocumentSymbolsResult &other) : variant(other) {}
DocumentSymbolsResult(DocumentSymbolsResult &&other) : variant(std::move(other)) {} DocumentSymbolsResult(DocumentSymbolsResult &&other) : variant(std::move(other)) {}
@@ -370,7 +367,7 @@ class LANGUAGESERVERPROTOCOL_EXPORT DocumentSymbolsRequest
: public Request<DocumentSymbolsResult, std::nullptr_t, DocumentSymbolParams> : public Request<DocumentSymbolsResult, std::nullptr_t, DocumentSymbolParams>
{ {
public: public:
DocumentSymbolsRequest(const DocumentSymbolParams &params = DocumentSymbolParams()); explicit DocumentSymbolsRequest(const DocumentSymbolParams &params);
using Request::Request; using Request::Request;
constexpr static const char methodName[] = "textDocument/documentSymbol"; constexpr static const char methodName[] = "textDocument/documentSymbol";
}; };
@@ -476,7 +473,7 @@ class LANGUAGESERVERPROTOCOL_EXPORT CodeActionRequest : public Request<
CodeActionResult, std::nullptr_t, CodeActionParams> CodeActionResult, std::nullptr_t, CodeActionParams>
{ {
public: public:
CodeActionRequest(const CodeActionParams &params = CodeActionParams()); explicit CodeActionRequest(const CodeActionParams &params);
using Request::Request; using Request::Request;
constexpr static const char methodName[] = "textDocument/codeAction"; constexpr static const char methodName[] = "textDocument/codeAction";
}; };
@@ -507,7 +504,7 @@ class LANGUAGESERVERPROTOCOL_EXPORT CodeLensRequest : public Request<
LanguageClientArray<CodeLens>, std::nullptr_t, CodeLensParams> LanguageClientArray<CodeLens>, std::nullptr_t, CodeLensParams>
{ {
public: public:
CodeLensRequest(const CodeLensParams &params = CodeLensParams()); explicit CodeLensRequest(const CodeLensParams &params);
using Request::Request; using Request::Request;
constexpr static const char methodName[] = "textDocument/codeLens"; constexpr static const char methodName[] = "textDocument/codeLens";
}; };
@@ -516,7 +513,7 @@ class LANGUAGESERVERPROTOCOL_EXPORT CodeLensResolveRequest : public Request<
CodeLens, std::nullptr_t, CodeLens> CodeLens, std::nullptr_t, CodeLens>
{ {
public: public:
CodeLensResolveRequest(const CodeLens &params = CodeLens()); explicit CodeLensResolveRequest(const CodeLens &params);
using Request::Request; using Request::Request;
constexpr static const char methodName[] = "codeLens/resolve"; constexpr static const char methodName[] = "codeLens/resolve";
}; };
@@ -547,7 +544,7 @@ class LANGUAGESERVERPROTOCOL_EXPORT DocumentLinkRequest : public Request<
LanguageClientValue<DocumentLink>, std::nullptr_t, DocumentLinkParams> LanguageClientValue<DocumentLink>, std::nullptr_t, DocumentLinkParams>
{ {
public: public:
DocumentLinkRequest(const DocumentLinkParams &params = DocumentLinkParams()); explicit DocumentLinkRequest(const DocumentLinkParams &params);
using Request::Request; using Request::Request;
constexpr static const char methodName[] = "textDocument/documentLink"; constexpr static const char methodName[] = "textDocument/documentLink";
}; };
@@ -556,7 +553,7 @@ class LANGUAGESERVERPROTOCOL_EXPORT DocumentLinkResolveRequest : public Request<
DocumentLink, std::nullptr_t, DocumentLink> DocumentLink, std::nullptr_t, DocumentLink>
{ {
public: public:
DocumentLinkResolveRequest(const DocumentLink &params = DocumentLink()); explicit DocumentLinkResolveRequest(const DocumentLink &params);
using Request::Request; using Request::Request;
constexpr static const char methodName[] = "documentLink/resolve"; constexpr static const char methodName[] = "documentLink/resolve";
}; };
@@ -602,7 +599,7 @@ class LANGUAGESERVERPROTOCOL_EXPORT DocumentColorRequest : public Request<
QList<ColorInformation>, std::nullptr_t, DocumentColorParams> QList<ColorInformation>, std::nullptr_t, DocumentColorParams>
{ {
public: public:
DocumentColorRequest(const DocumentColorParams &params = DocumentColorParams()); explicit DocumentColorRequest(const DocumentColorParams &params);
using Request::Request; using Request::Request;
constexpr static const char methodName[] = "textDocument/documentColor"; constexpr static const char methodName[] = "textDocument/documentColor";
}; };
@@ -656,7 +653,7 @@ class LANGUAGESERVERPROTOCOL_EXPORT ColorPresentationRequest : public Request<
QList<ColorPresentation>, std::nullptr_t, ColorPresentationParams> QList<ColorPresentation>, std::nullptr_t, ColorPresentationParams>
{ {
public: public:
ColorPresentationRequest(const ColorPresentationParams &params = ColorPresentationParams()); explicit ColorPresentationRequest(const ColorPresentationParams &params);
using Request::Request; using Request::Request;
constexpr static const char methodName[] = "textDocument/colorPresentation"; constexpr static const char methodName[] = "textDocument/colorPresentation";
}; };
@@ -665,8 +662,8 @@ class DocumentFormattingProperty : public Utils::variant<bool, double, QString>
{ {
public: public:
DocumentFormattingProperty() = default; DocumentFormattingProperty() = default;
DocumentFormattingProperty(const QJsonValue &value); explicit DocumentFormattingProperty(const QJsonValue &value);
DocumentFormattingProperty(const DocumentFormattingProperty &other) explicit DocumentFormattingProperty(const DocumentFormattingProperty &other)
: Utils::variant<bool, double, QString>(other) {} : Utils::variant<bool, double, QString>(other) {}
using variant::variant; using variant::variant;
@@ -713,7 +710,7 @@ class LANGUAGESERVERPROTOCOL_EXPORT DocumentFormattingRequest : public Request<
LanguageClientArray<TextEdit>, std::nullptr_t, DocumentFormattingParams> LanguageClientArray<TextEdit>, std::nullptr_t, DocumentFormattingParams>
{ {
public: public:
DocumentFormattingRequest(const DocumentFormattingParams &params = DocumentFormattingParams()); explicit DocumentFormattingRequest(const DocumentFormattingParams &params);
using Request::Request; using Request::Request;
constexpr static const char methodName[] = "textDocument/formatting"; constexpr static const char methodName[] = "textDocument/formatting";
}; };
@@ -741,7 +738,7 @@ class LANGUAGESERVERPROTOCOL_EXPORT DocumentRangeFormattingRequest : public Requ
LanguageClientArray<TextEdit>, std::nullptr_t, DocumentRangeFormattingParams> LanguageClientArray<TextEdit>, std::nullptr_t, DocumentRangeFormattingParams>
{ {
public: public:
DocumentRangeFormattingRequest(const DocumentRangeFormattingParams &params = DocumentRangeFormattingParams()); explicit DocumentRangeFormattingRequest(const DocumentRangeFormattingParams &params);
using Request::Request; using Request::Request;
constexpr static const char methodName[] = "textDocument/rangeFormatting"; constexpr static const char methodName[] = "textDocument/rangeFormatting";
}; };
@@ -772,8 +769,7 @@ class LANGUAGESERVERPROTOCOL_EXPORT DocumentOnTypeFormattingRequest : public Req
QList<TextEdit>, std::nullptr_t, DocumentFormattingParams> QList<TextEdit>, std::nullptr_t, DocumentFormattingParams>
{ {
public: public:
DocumentOnTypeFormattingRequest( explicit DocumentOnTypeFormattingRequest(const DocumentFormattingParams &params);
const DocumentFormattingParams &params = DocumentFormattingParams());
using Request::Request; using Request::Request;
constexpr static const char methodName[] = "textDocument/onTypeFormatting"; constexpr static const char methodName[] = "textDocument/onTypeFormatting";
}; };
@@ -803,7 +799,7 @@ public:
PrepareRenameResult(const Utils::variant<PlaceHolderResult, Range, std::nullptr_t> &val); PrepareRenameResult(const Utils::variant<PlaceHolderResult, Range, std::nullptr_t> &val);
explicit PrepareRenameResult(const PlaceHolderResult &val); explicit PrepareRenameResult(const PlaceHolderResult &val);
explicit PrepareRenameResult(const Range &val); explicit PrepareRenameResult(const Range &val);
PrepareRenameResult(const QJsonValue &val); explicit PrepareRenameResult(const QJsonValue &val);
bool isValid(ErrorHierarchy *error) const; bool isValid(ErrorHierarchy *error) const;
}; };
@@ -812,7 +808,7 @@ class LANGUAGESERVERPROTOCOL_EXPORT PrepareRenameRequest
: public Request<PrepareRenameResult, std::nullptr_t, TextDocumentPositionParams> : public Request<PrepareRenameResult, std::nullptr_t, TextDocumentPositionParams>
{ {
public: public:
PrepareRenameRequest(const TextDocumentPositionParams &params = TextDocumentPositionParams()); explicit PrepareRenameRequest(const TextDocumentPositionParams &params);
using Request::Request; using Request::Request;
constexpr static const char methodName[] = "textDocument/prepareRename"; constexpr static const char methodName[] = "textDocument/prepareRename";
}; };
@@ -840,7 +836,7 @@ class LANGUAGESERVERPROTOCOL_EXPORT RenameRequest : public Request<
WorkspaceEdit, std::nullptr_t, RenameParams> WorkspaceEdit, std::nullptr_t, RenameParams>
{ {
public: public:
RenameRequest(const RenameParams &params = RenameParams()); explicit RenameRequest(const RenameParams &params);
using Request::Request; using Request::Request;
constexpr static const char methodName[] = "textDocument/rename"; constexpr static const char methodName[] = "textDocument/rename";
}; };
@@ -849,7 +845,7 @@ class LANGUAGESERVERPROTOCOL_EXPORT SemanticHighlightToken
{ {
public: public:
// Just accepts token with 8 bytes // Just accepts token with 8 bytes
SemanticHighlightToken(const QByteArray &token); explicit SemanticHighlightToken(const QByteArray &token);
SemanticHighlightToken() = default; SemanticHighlightToken() = default;
void appendToByteArray(QByteArray &byteArray) const; void appendToByteArray(QByteArray &byteArray) const;
@@ -898,7 +894,7 @@ class LANGUAGESERVERPROTOCOL_EXPORT SemanticHighlightNotification
: public Notification<SemanticHighlightingParams> : public Notification<SemanticHighlightingParams>
{ {
public: public:
SemanticHighlightNotification(const SemanticHighlightingParams &params); explicit SemanticHighlightNotification(const SemanticHighlightingParams &params);
using Notification::Notification; using Notification::Notification;
constexpr static const char methodName[] = "textDocument/semanticHighlighting"; constexpr static const char methodName[] = "textDocument/semanticHighlighting";
}; };

View File

@@ -65,7 +65,7 @@ class LANGUAGESERVERPROTOCOL_EXPORT Position : public JsonObject
public: public:
Position() = default; Position() = default;
Position(int line, int character); Position(int line, int character);
Position(const QTextCursor &cursor); explicit Position(const QTextCursor &cursor);
using JsonObject::JsonObject; using JsonObject::JsonObject;
// Line position in a document (zero-based). // Line position in a document (zero-based).
@@ -233,7 +233,7 @@ class LANGUAGESERVERPROTOCOL_EXPORT TextDocumentIdentifier : public JsonObject
{ {
public: public:
TextDocumentIdentifier() : TextDocumentIdentifier(DocumentUri()) {} TextDocumentIdentifier() : TextDocumentIdentifier(DocumentUri()) {}
TextDocumentIdentifier(const DocumentUri &uri) { setUri(uri); } explicit TextDocumentIdentifier(const DocumentUri &uri) { setUri(uri); }
using JsonObject::JsonObject; using JsonObject::JsonObject;
// The text document's URI. // The text document's URI.
@@ -393,7 +393,7 @@ public:
MarkupKind(const Value value) MarkupKind(const Value value)
: m_value(value) : m_value(value)
{} {}
MarkupKind(const QJsonValue &value); explicit MarkupKind(const QJsonValue &value);
operator QJsonValue() const; operator QJsonValue() const;
Value value() const { return m_value; } Value value() const { return m_value; }
@@ -411,7 +411,7 @@ public:
using JsonObject::JsonObject; using JsonObject::JsonObject;
// The type of the Markup // The type of the Markup
MarkupKind kind() const { return value(kindKey); } MarkupKind kind() const { return MarkupKind(value(kindKey)); }
void setKind(MarkupKind kind) { insert(kindKey, kind); } void setKind(MarkupKind kind) { insert(kindKey, kind); }
Qt::TextFormat textFormat() const Qt::TextFormat textFormat() const
{ return kind() == MarkupKind::markdown ? Qt::MarkdownText : Qt::PlainText; } { return kind() == MarkupKind::markdown ? Qt::MarkdownText : Qt::PlainText; }
@@ -428,7 +428,7 @@ class LANGUAGESERVERPROTOCOL_EXPORT MarkupOrString : public Utils::variant<QStri
{ {
public: public:
MarkupOrString() = default; MarkupOrString() = default;
MarkupOrString(const Utils::variant<QString, MarkupContent> &val); explicit MarkupOrString(const Utils::variant<QString, MarkupContent> &val);
explicit MarkupOrString(const QString &val); explicit MarkupOrString(const QString &val);
explicit MarkupOrString(const MarkupContent &val); explicit MarkupOrString(const MarkupContent &val);
MarkupOrString(const QJsonValue &val); MarkupOrString(const QJsonValue &val);

View File

@@ -73,10 +73,10 @@ public:
LanguageClientArray() {} LanguageClientArray() {}
LanguageClientArray(const QList<T> &list) explicit LanguageClientArray(const QList<T> &list)
{ *this = list; } { *this = list; }
LanguageClientArray(const QJsonValue &value) explicit LanguageClientArray(const QJsonValue &value)
{ {
if (value.isArray()) { if (value.isArray()) {
QList<T> values; QList<T> values;

View File

@@ -56,7 +56,7 @@ public:
class LANGUAGESERVERPROTOCOL_EXPORT ShowMessageNotification : public Notification<ShowMessageParams> class LANGUAGESERVERPROTOCOL_EXPORT ShowMessageNotification : public Notification<ShowMessageParams>
{ {
public: public:
ShowMessageNotification(const ShowMessageParams &params); explicit ShowMessageNotification(const ShowMessageParams &params);
using Notification::Notification; using Notification::Notification;
constexpr static const char methodName[] = "window/showMessage"; constexpr static const char methodName[] = "window/showMessage";
}; };
@@ -90,7 +90,7 @@ class LANGUAGESERVERPROTOCOL_EXPORT ShowMessageRequest : public Request<
LanguageClientValue<MessageActionItem>, std::nullptr_t, ShowMessageRequestParams> LanguageClientValue<MessageActionItem>, std::nullptr_t, ShowMessageRequestParams>
{ {
public: public:
ShowMessageRequest(const ShowMessageRequestParams &params); explicit ShowMessageRequest(const ShowMessageRequestParams &params);
using Request::Request; using Request::Request;
constexpr static const char methodName[] = "window/showMessageRequest"; constexpr static const char methodName[] = "window/showMessageRequest";
}; };
@@ -100,7 +100,7 @@ using LogMessageParams = ShowMessageParams;
class LANGUAGESERVERPROTOCOL_EXPORT LogMessageNotification : public Notification<LogMessageParams> class LANGUAGESERVERPROTOCOL_EXPORT LogMessageNotification : public Notification<LogMessageParams>
{ {
public: public:
LogMessageNotification(const LogMessageParams &params); explicit LogMessageNotification(const LogMessageParams &params);
using Notification::Notification; using Notification::Notification;
constexpr static const char methodName[] = "window/logMessage"; constexpr static const char methodName[] = "window/logMessage";
}; };
@@ -108,7 +108,7 @@ public:
class LANGUAGESERVERPROTOCOL_EXPORT TelemetryNotification : public Notification<JsonObject> class LANGUAGESERVERPROTOCOL_EXPORT TelemetryNotification : public Notification<JsonObject>
{ {
public: public:
TelemetryNotification(const JsonObject &params); explicit TelemetryNotification(const JsonObject &params);
using Notification::Notification; using Notification::Notification;
constexpr static const char methodName[] = "telemetry/event"; constexpr static const char methodName[] = "telemetry/event";

View File

@@ -71,7 +71,7 @@ DidChangeTextDocumentParams::DidChangeTextDocumentParams(
const VersionedTextDocumentIdentifier &docId, const QString &text) const VersionedTextDocumentIdentifier &docId, const QString &text)
{ {
setTextDocument(docId); setTextDocument(docId);
setContentChanges({text}); setContentChanges({TextDocumentContentChangeEvent(text)});
} }
bool DidChangeTextDocumentParams::isValid(ErrorHierarchy *error) const bool DidChangeTextDocumentParams::isValid(ErrorHierarchy *error) const
@@ -91,7 +91,7 @@ DidCloseTextDocumentParams::DidCloseTextDocumentParams(const TextDocumentIdentif
} }
DidChangeTextDocumentParams::TextDocumentContentChangeEvent::TextDocumentContentChangeEvent( DidChangeTextDocumentParams::TextDocumentContentChangeEvent::TextDocumentContentChangeEvent(
const QString text) const QString &text)
{ {
setText(text); setText(text);
} }

View File

@@ -34,7 +34,7 @@ class LANGUAGESERVERPROTOCOL_EXPORT DidOpenTextDocumentParams : public JsonObjec
{ {
public: public:
DidOpenTextDocumentParams() = default; DidOpenTextDocumentParams() = default;
DidOpenTextDocumentParams(const TextDocumentItem &document); explicit DidOpenTextDocumentParams(const TextDocumentItem &document);
using JsonObject::JsonObject; using JsonObject::JsonObject;
TextDocumentItem textDocument() const { return typedValue<TextDocumentItem>(textDocumentKey); } TextDocumentItem textDocument() const { return typedValue<TextDocumentItem>(textDocumentKey); }
@@ -49,7 +49,7 @@ class LANGUAGESERVERPROTOCOL_EXPORT DidOpenTextDocumentNotification : public Not
DidOpenTextDocumentParams> DidOpenTextDocumentParams>
{ {
public: public:
DidOpenTextDocumentNotification(const DidOpenTextDocumentParams &params); explicit DidOpenTextDocumentNotification(const DidOpenTextDocumentParams &params);
using Notification::Notification; using Notification::Notification;
constexpr static const char methodName[] = "textDocument/didOpen"; constexpr static const char methodName[] = "textDocument/didOpen";
}; };
@@ -58,7 +58,7 @@ class LANGUAGESERVERPROTOCOL_EXPORT TextDocumentChangeRegistrationOptions : publ
{ {
public: public:
TextDocumentChangeRegistrationOptions(); TextDocumentChangeRegistrationOptions();
TextDocumentChangeRegistrationOptions(TextDocumentSyncKind kind); explicit TextDocumentChangeRegistrationOptions(TextDocumentSyncKind kind);
using JsonObject::JsonObject; using JsonObject::JsonObject;
TextDocumentSyncKind syncKind() const TextDocumentSyncKind syncKind() const
@@ -73,8 +73,8 @@ class LANGUAGESERVERPROTOCOL_EXPORT DidChangeTextDocumentParams : public JsonObj
{ {
public: public:
DidChangeTextDocumentParams(); DidChangeTextDocumentParams();
DidChangeTextDocumentParams(const VersionedTextDocumentIdentifier &docId, explicit DidChangeTextDocumentParams(const VersionedTextDocumentIdentifier &docId,
const QString &text = QString()); const QString &text = QString());
using JsonObject::JsonObject; using JsonObject::JsonObject;
VersionedTextDocumentIdentifier textDocument() const VersionedTextDocumentIdentifier textDocument() const
@@ -90,7 +90,7 @@ public:
*/ */
public: public:
TextDocumentContentChangeEvent() = default; TextDocumentContentChangeEvent() = default;
TextDocumentContentChangeEvent(const QString text); explicit TextDocumentContentChangeEvent(const QString &text);
using JsonObject::JsonObject; using JsonObject::JsonObject;
// The range of the document that changed. // The range of the document that changed.
@@ -122,7 +122,7 @@ class LANGUAGESERVERPROTOCOL_EXPORT DidChangeTextDocumentNotification : public N
DidChangeTextDocumentParams> DidChangeTextDocumentParams>
{ {
public: public:
DidChangeTextDocumentNotification(const DidChangeTextDocumentParams &params); explicit DidChangeTextDocumentNotification(const DidChangeTextDocumentParams &params);
using Notification::Notification; using Notification::Notification;
constexpr static const char methodName[] = "textDocument/didChange"; constexpr static const char methodName[] = "textDocument/didChange";
}; };
@@ -137,8 +137,9 @@ public:
}; };
WillSaveTextDocumentParams() : WillSaveTextDocumentParams(TextDocumentIdentifier()) {} WillSaveTextDocumentParams() : WillSaveTextDocumentParams(TextDocumentIdentifier()) {}
WillSaveTextDocumentParams(const TextDocumentIdentifier &document, explicit WillSaveTextDocumentParams(
const TextDocumentSaveReason &reason = TextDocumentSaveReason::Manual); const TextDocumentIdentifier &document,
const TextDocumentSaveReason &reason = TextDocumentSaveReason::Manual);
using JsonObject::JsonObject; using JsonObject::JsonObject;
TextDocumentIdentifier textDocument() const TextDocumentIdentifier textDocument() const
@@ -157,7 +158,7 @@ class LANGUAGESERVERPROTOCOL_EXPORT WillSaveTextDocumentNotification : public No
WillSaveTextDocumentParams> WillSaveTextDocumentParams>
{ {
public: public:
WillSaveTextDocumentNotification(const WillSaveTextDocumentParams &params); explicit WillSaveTextDocumentNotification(const WillSaveTextDocumentParams &params);
using Notification::Notification; using Notification::Notification;
constexpr static const char methodName[] = "textDocument/willSave"; constexpr static const char methodName[] = "textDocument/willSave";
}; };
@@ -166,7 +167,7 @@ class LANGUAGESERVERPROTOCOL_EXPORT WillSaveWaitUntilTextDocumentRequest : publi
LanguageClientArray<TextEdit>, std::nullptr_t, WillSaveTextDocumentParams> LanguageClientArray<TextEdit>, std::nullptr_t, WillSaveTextDocumentParams>
{ {
public: public:
WillSaveWaitUntilTextDocumentRequest(const WillSaveTextDocumentParams &params); explicit WillSaveWaitUntilTextDocumentRequest(const WillSaveTextDocumentParams &params);
using Request::Request; using Request::Request;
constexpr static const char methodName[] = "textDocument/willSaveWaitUntil"; constexpr static const char methodName[] = "textDocument/willSaveWaitUntil";
}; };
@@ -188,7 +189,7 @@ class LANGUAGESERVERPROTOCOL_EXPORT DidSaveTextDocumentParams : public JsonObjec
{ {
public: public:
DidSaveTextDocumentParams() : DidSaveTextDocumentParams(TextDocumentIdentifier()) {} DidSaveTextDocumentParams() : DidSaveTextDocumentParams(TextDocumentIdentifier()) {}
DidSaveTextDocumentParams(const TextDocumentIdentifier &document); explicit DidSaveTextDocumentParams(const TextDocumentIdentifier &document);
using JsonObject::JsonObject; using JsonObject::JsonObject;
TextDocumentIdentifier textDocument() TextDocumentIdentifier textDocument()
@@ -207,7 +208,7 @@ class LANGUAGESERVERPROTOCOL_EXPORT DidSaveTextDocumentNotification : public Not
DidSaveTextDocumentParams> DidSaveTextDocumentParams>
{ {
public: public:
DidSaveTextDocumentNotification(const DidSaveTextDocumentParams &params); explicit DidSaveTextDocumentNotification(const DidSaveTextDocumentParams &params);
using Notification::Notification; using Notification::Notification;
constexpr static const char methodName[] = "textDocument/didSave"; constexpr static const char methodName[] = "textDocument/didSave";
}; };
@@ -216,7 +217,7 @@ class LANGUAGESERVERPROTOCOL_EXPORT DidCloseTextDocumentParams : public JsonObje
{ {
public: public:
DidCloseTextDocumentParams() = default; DidCloseTextDocumentParams() = default;
DidCloseTextDocumentParams(const TextDocumentIdentifier &document); explicit DidCloseTextDocumentParams(const TextDocumentIdentifier &document);
using JsonObject::JsonObject; using JsonObject::JsonObject;
TextDocumentIdentifier textDocument() const TextDocumentIdentifier textDocument() const
@@ -232,7 +233,7 @@ class LANGUAGESERVERPROTOCOL_EXPORT DidCloseTextDocumentNotification : public No
DidCloseTextDocumentParams> DidCloseTextDocumentParams>
{ {
public: public:
DidCloseTextDocumentNotification(const DidCloseTextDocumentParams &params); explicit DidCloseTextDocumentNotification(const DidCloseTextDocumentParams &params);
using Notification::Notification; using Notification::Notification;
constexpr static const char methodName[] = "textDocument/didClose"; constexpr static const char methodName[] = "textDocument/didClose";
}; };

View File

@@ -80,7 +80,7 @@ class LANGUAGESERVERPROTOCOL_EXPORT DidChangeWorkspaceFoldersNotification : publ
DidChangeWorkspaceFoldersParams> DidChangeWorkspaceFoldersParams>
{ {
public: public:
DidChangeWorkspaceFoldersNotification(const DidChangeWorkspaceFoldersParams &params); explicit DidChangeWorkspaceFoldersNotification(const DidChangeWorkspaceFoldersParams &params);
constexpr static const char methodName[] = "workspace/didChangeWorkspaceFolders"; constexpr static const char methodName[] = "workspace/didChangeWorkspaceFolders";
using Notification::Notification; using Notification::Notification;
}; };
@@ -100,7 +100,7 @@ class LANGUAGESERVERPROTOCOL_EXPORT DidChangeConfigurationNotification : public
DidChangeConfigurationParams> DidChangeConfigurationParams>
{ {
public: public:
DidChangeConfigurationNotification(const DidChangeConfigurationParams &params); explicit DidChangeConfigurationNotification(const DidChangeConfigurationParams &params);
using Notification::Notification; using Notification::Notification;
constexpr static const char methodName[] = "workspace/didChangeConfiguration"; constexpr static const char methodName[] = "workspace/didChangeConfiguration";
}; };
@@ -136,7 +136,7 @@ class LANGUAGESERVERPROTOCOL_EXPORT ConfigurationRequest : public Request<
LanguageClientArray<QJsonValue>, std::nullptr_t, ConfigurationParams> LanguageClientArray<QJsonValue>, std::nullptr_t, ConfigurationParams>
{ {
public: public:
ConfigurationRequest(const ConfigurationParams &params); explicit ConfigurationRequest(const ConfigurationParams &params);
using Request::Request; using Request::Request;
constexpr static const char methodName[] = "workspace/configuration"; constexpr static const char methodName[] = "workspace/configuration";
}; };
@@ -178,7 +178,7 @@ class LANGUAGESERVERPROTOCOL_EXPORT DidChangeWatchedFilesNotification : public N
DidChangeWatchedFilesParams> DidChangeWatchedFilesParams>
{ {
public: public:
DidChangeWatchedFilesNotification(const DidChangeWatchedFilesParams &params); explicit DidChangeWatchedFilesNotification(const DidChangeWatchedFilesParams &params);
using Notification::Notification; using Notification::Notification;
constexpr static const char methodName[] = "workspace/didChangeWatchedFiles"; constexpr static const char methodName[] = "workspace/didChangeWatchedFiles";
}; };
@@ -229,7 +229,7 @@ class LANGUAGESERVERPROTOCOL_EXPORT ExecuteCommandRequest : public Request<
QJsonValue, std::nullptr_t, ExecuteCommandParams> QJsonValue, std::nullptr_t, ExecuteCommandParams>
{ {
public: public:
ExecuteCommandRequest(const ExecuteCommandParams &params); explicit ExecuteCommandRequest(const ExecuteCommandParams &params);
using Request::Request; using Request::Request;
constexpr static const char methodName[] = "workspace/executeCommand"; constexpr static const char methodName[] = "workspace/executeCommand";
}; };
@@ -265,7 +265,7 @@ class LANGUAGESERVERPROTOCOL_EXPORT ApplyWorkspaceEditRequest : public Request<
ApplyWorkspaceEditResponse, std::nullptr_t, ApplyWorkspaceEditParams> ApplyWorkspaceEditResponse, std::nullptr_t, ApplyWorkspaceEditParams>
{ {
public: public:
ApplyWorkspaceEditRequest(const ApplyWorkspaceEditParams &params = ApplyWorkspaceEditParams()); explicit ApplyWorkspaceEditRequest(const ApplyWorkspaceEditParams &params);
using Request::Request; using Request::Request;
constexpr static const char methodName[] = "workspace/applyEdit"; constexpr static const char methodName[] = "workspace/applyEdit";
}; };

View File

@@ -257,8 +257,7 @@ void Client::initialize()
QTC_ASSERT(m_clientInterface, return); QTC_ASSERT(m_clientInterface, return);
QTC_ASSERT(m_state == Uninitialized, return); QTC_ASSERT(m_state == Uninitialized, return);
qCDebug(LOGLSPCLIENT) << "initializing language server " << m_displayName; qCDebug(LOGLSPCLIENT) << "initializing language server " << m_displayName;
InitializeRequest initRequest; InitializeParams params;
auto params = initRequest.params().value_or(InitializeParams());
params.setCapabilities(generateClientCapabilities()); params.setCapabilities(generateClientCapabilities());
params.setInitializationOptions(m_initializationOptions); params.setInitializationOptions(m_initializationOptions);
if (m_project) { if (m_project) {
@@ -267,7 +266,7 @@ void Client::initialize()
return WorkSpaceFolder(pro->projectDirectory().toString(), pro->displayName()); return WorkSpaceFolder(pro->projectDirectory().toString(), pro->displayName());
})); }));
} }
initRequest.setParams(params); InitializeRequest initRequest(params);
initRequest.setResponseCallback([this](const InitializeRequest::Response &initResponse){ initRequest.setResponseCallback([this](const InitializeRequest::Response &initResponse){
initializeCallback(initResponse); initializeCallback(initResponse);
}); });
@@ -535,7 +534,8 @@ void Client::documentContentsChanged(TextEditor::TextDocument *document,
change.setText(document->textAt(position, charsAdded)); change.setText(document->textAt(position, charsAdded));
m_documentsToUpdate[document] << change; m_documentsToUpdate[document] << change;
} else { } else {
m_documentsToUpdate[document] = {document->plainText()}; m_documentsToUpdate[document] = {
DidChangeTextDocumentParams::TextDocumentContentChangeEvent(document->plainText())};
} }
m_openedDocument[document] = document->plainText(); m_openedDocument[document] = document->plainText();
} }
@@ -590,7 +590,8 @@ void Client::cursorPositionChanged(TextEditor::TextEditorWidget *widget)
if (runningRequest != m_highlightRequests.end()) if (runningRequest != m_highlightRequests.end())
cancelRequest(runningRequest.value()); cancelRequest(runningRequest.value());
DocumentHighlightsRequest request(TextDocumentPositionParams(uri, widget->textCursor())); DocumentHighlightsRequest request(
TextDocumentPositionParams(TextDocumentIdentifier(uri), Position(widget->textCursor())));
request.setResponseCallback( request.setResponseCallback(
[widget = QPointer<TextEditor::TextEditorWidget>(widget), this, uri] [widget = QPointer<TextEditor::TextEditorWidget>(widget), this, uri]
(DocumentHighlightsRequest::Response response) (DocumentHighlightsRequest::Response response)
@@ -641,7 +642,7 @@ void Client::requestCodeActions(const DocumentUri &uri, const QList<Diagnostic>
CodeActionParams::CodeActionContext context; CodeActionParams::CodeActionContext context;
context.setDiagnostics(diagnostics); context.setDiagnostics(diagnostics);
codeActionParams.setContext(context); codeActionParams.setContext(context);
codeActionParams.setTextDocument(uri); codeActionParams.setTextDocument(TextDocumentIdentifier(uri));
Position start(0, 0); Position start(0, 0);
const QTextBlock &lastBlock = doc->document()->lastBlock(); const QTextBlock &lastBlock = doc->document()->lastBlock();
Position end(lastBlock.blockNumber(), lastBlock.length() - 1); Position end(lastBlock.blockNumber(), lastBlock.length() - 1);
@@ -768,7 +769,7 @@ void Client::formatFile(const TextEditor::TextDocument *document)
DocumentFormattingParams params; DocumentFormattingParams params;
const DocumentUri uri = DocumentUri::fromFilePath(filePath); const DocumentUri uri = DocumentUri::fromFilePath(filePath);
params.setTextDocument(uri); params.setTextDocument(TextDocumentIdentifier(uri));
params.setOptions(formattingOptions(document->tabSettings())); params.setOptions(formattingOptions(document->tabSettings()));
DocumentFormattingRequest request(params); DocumentFormattingRequest request(params);
request.setResponseCallback( request.setResponseCallback(
@@ -799,7 +800,7 @@ void Client::formatRange(const TextEditor::TextDocument *document, const QTextCu
} }
DocumentRangeFormattingParams params; DocumentRangeFormattingParams params;
const DocumentUri uri = DocumentUri::fromFilePath(filePath); const DocumentUri uri = DocumentUri::fromFilePath(filePath);
params.setTextDocument(uri); params.setTextDocument(TextDocumentIdentifier(uri));
params.setOptions(formattingOptions(document->tabSettings())); params.setOptions(formattingOptions(document->tabSettings()));
if (!cursor.hasSelection()) { if (!cursor.hasSelection()) {
QTextCursor c = cursor; QTextCursor c = cursor;

View File

@@ -354,8 +354,8 @@ IAssistProposal *LanguageClientCompletionAssistProcessor::perform(const AssistIn
--column; // column is 0 based in the protocol --column; // column is 0 based in the protocol
params.setPosition({line, column}); params.setPosition({line, column});
params.setContext(context); params.setContext(context);
params.setTextDocument( params.setTextDocument(TextDocumentIdentifier(
DocumentUri::fromFilePath(Utils::FilePath::fromString(interface->fileName()))); DocumentUri::fromFilePath(Utils::FilePath::fromString(interface->fileName()))));
CompletionRequest completionRequest(params); CompletionRequest completionRequest(params);
completionRequest.setResponseCallback([this](auto response) { completionRequest.setResponseCallback([this](auto response) {
this->handleCompletionResponse(response); this->handleCompletionResponse(response);

View File

@@ -89,7 +89,7 @@ QFutureWatcher<Utils::Text::Replacements> *LanguageClientFormatter::format(
} }
DocumentRangeFormattingParams params; DocumentRangeFormattingParams params;
const DocumentUri uri = DocumentUri::fromFilePath(filePath); const DocumentUri uri = DocumentUri::fromFilePath(filePath);
params.setTextDocument(uri); params.setTextDocument(TextDocumentIdentifier(uri));
params.setOptions(formattingOptions(tabSettings)); params.setOptions(formattingOptions(tabSettings));
if (!cursor.hasSelection()) { if (!cursor.hasSelection()) {
QTextCursor c = cursor; QTextCursor c = cursor;

View File

@@ -86,8 +86,7 @@ IAssistProposal *FunctionHintProcessor::perform(const AssistInterface *interface
QTextCursor cursor(interface->textDocument()); QTextCursor cursor(interface->textDocument());
cursor.setPosition(m_pos); cursor.setPosition(m_pos);
auto uri = DocumentUri::fromFilePath(Utils::FilePath::fromString(interface->fileName())); auto uri = DocumentUri::fromFilePath(Utils::FilePath::fromString(interface->fileName()));
SignatureHelpRequest request; SignatureHelpRequest request((TextDocumentPositionParams(TextDocumentIdentifier(uri), Position(cursor))));
request.setParams(TextDocumentPositionParams(TextDocumentIdentifier(uri), Position(cursor)));
request.setResponseCallback([this](auto response) { this->handleSignatureResponse(response); }); request.setResponseCallback([this](auto response) { this->handleSignatureResponse(response); });
m_client->sendContent(request); m_client->sendContent(request);
m_currentRequest = request.id(); m_currentRequest = request.id();

View File

@@ -98,8 +98,7 @@ void HoverHandler::identifyMatch(TextEditor::TextEditorWidget *editorWidget,
m_report = report; m_report = report;
QTextCursor cursor = editorWidget->textCursor(); QTextCursor cursor = editorWidget->textCursor();
cursor.setPosition(pos); cursor.setPosition(pos);
TextDocumentPositionParams params(uri, Position(cursor)); HoverRequest request((TextDocumentPositionParams(TextDocumentIdentifier(uri), Position(cursor))));
HoverRequest request(params);
request.setResponseCallback( request.setResponseCallback(
[this](const HoverRequest::Response &response) { handleResponse(response); }); [this](const HoverRequest::Response &response) { handleResponse(response); });
m_client->sendContent(request); m_client->sendContent(request);

View File

@@ -113,7 +113,7 @@ IAssistProposal *LanguageClientQuickFixAssistProcessor::perform(const AssistInte
Range range(cursor); Range range(cursor);
params.setRange(range); params.setRange(range);
auto uri = DocumentUri::fromFilePath(Utils::FilePath::fromString(interface->fileName())); auto uri = DocumentUri::fromFilePath(Utils::FilePath::fromString(interface->fileName()));
params.setTextDocument(uri); params.setTextDocument(TextDocumentIdentifier(uri));
CodeActionParams::CodeActionContext context; CodeActionParams::CodeActionContext context;
context.setDiagnostics(m_client->diagnosticsAt(uri, range)); context.setDiagnostics(m_client->diagnosticsAt(uri, range));
params.setContext(context); params.setContext(context);