LSP: add convenient log function for a response error

Change-Id: I50c6667af572e7e8133da587c75d3e55a0f2cac4
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
David Schulz
2018-11-20 09:44:22 +01:00
parent 7c56b2c310
commit d7e249a5e1
3 changed files with 8 additions and 4 deletions

View File

@@ -155,6 +155,8 @@ public:
&& checkOptional<Error>(error, dataKey);
}
QString toString() const { return errorCodesToString(code()) + ": " + message(); }
// predefined error codes
enum ErrorCodes {
// Defined by JSON RPC
@@ -320,8 +322,6 @@ template <typename Error>
inline QDebug operator<<(QDebug stream,
const LanguageServerProtocol::ResponseError<Error> &error)
{
stream.nospace() << LanguageServerProtocol::ResponseError<Error>::errorCodesToString(error.code())
<< ":"
<< error.message();
stream.nospace() << error.toString();
return stream;
}

View File

@@ -120,6 +120,10 @@ public:
void log(const QString &message,
Core::MessageManager::PrintToOutputPaneFlag flag = Core::MessageManager::NoModeSwitch);
template<typename Error>
void log(const LanguageServerProtocol::ResponseError<Error> &responseError,
Core::MessageManager::PrintToOutputPaneFlag flag = Core::MessageManager::NoModeSwitch)
{ log(responseError.toString(), flag); }
signals:
void initialized(LanguageServerProtocol::ServerCapabilities capabilities);

View File

@@ -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<CompletionResult> &result = response.result();