diff --git a/src/libs/languageserverprotocol/jsonrpcmessages.h b/src/libs/languageserverprotocol/jsonrpcmessages.h index d0229a93d1f..ba20fdf3bec 100644 --- a/src/libs/languageserverprotocol/jsonrpcmessages.h +++ b/src/libs/languageserverprotocol/jsonrpcmessages.h @@ -155,6 +155,8 @@ public: && checkOptional(error, dataKey); } + QString toString() const { return errorCodesToString(code()) + ": " + message(); } + // predefined error codes enum ErrorCodes { // Defined by JSON RPC @@ -320,8 +322,6 @@ template inline QDebug operator<<(QDebug stream, const LanguageServerProtocol::ResponseError &error) { - stream.nospace() << LanguageServerProtocol::ResponseError::errorCodesToString(error.code()) - << ":" - << error.message(); + stream.nospace() << error.toString(); return stream; } diff --git a/src/plugins/languageclient/baseclient.h b/src/plugins/languageclient/baseclient.h index b78f8db70d7..1321ffa34f4 100644 --- a/src/plugins/languageclient/baseclient.h +++ b/src/plugins/languageclient/baseclient.h @@ -120,6 +120,10 @@ public: void log(const QString &message, Core::MessageManager::PrintToOutputPaneFlag flag = Core::MessageManager::NoModeSwitch); + template + void log(const LanguageServerProtocol::ResponseError &responseError, + Core::MessageManager::PrintToOutputPaneFlag flag = Core::MessageManager::NoModeSwitch) + { log(responseError.toString(), flag); } signals: void initialized(LanguageServerProtocol::ServerCapabilities capabilities); diff --git a/src/plugins/languageclient/languageclientcodeassist.cpp b/src/plugins/languageclient/languageclientcodeassist.cpp index b95a2794a41..c8c1ed7a46c 100644 --- a/src/plugins/languageclient/languageclientcodeassist.cpp +++ b/src/plugins/languageclient/languageclientcodeassist.cpp @@ -350,7 +350,7 @@ void LanguageClientCompletionAssistProcessor::handleCompletionResponse( m_running = false; QTC_ASSERT(m_client, return); if (auto error = response.error()) { - m_client->log(error.value().message()); + m_client->log(error.value()); return; } const Utils::optional &result = response.result();