forked from qt-creator/qt-creator
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:
@@ -155,6 +155,8 @@ public:
|
|||||||
&& checkOptional<Error>(error, dataKey);
|
&& checkOptional<Error>(error, dataKey);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString toString() const { return errorCodesToString(code()) + ": " + message(); }
|
||||||
|
|
||||||
// predefined error codes
|
// predefined error codes
|
||||||
enum ErrorCodes {
|
enum ErrorCodes {
|
||||||
// Defined by JSON RPC
|
// Defined by JSON RPC
|
||||||
@@ -320,8 +322,6 @@ template <typename Error>
|
|||||||
inline QDebug operator<<(QDebug stream,
|
inline QDebug operator<<(QDebug stream,
|
||||||
const LanguageServerProtocol::ResponseError<Error> &error)
|
const LanguageServerProtocol::ResponseError<Error> &error)
|
||||||
{
|
{
|
||||||
stream.nospace() << LanguageServerProtocol::ResponseError<Error>::errorCodesToString(error.code())
|
stream.nospace() << error.toString();
|
||||||
<< ":"
|
|
||||||
<< error.message();
|
|
||||||
return stream;
|
return stream;
|
||||||
}
|
}
|
||||||
|
@@ -120,6 +120,10 @@ public:
|
|||||||
|
|
||||||
void log(const QString &message,
|
void log(const QString &message,
|
||||||
Core::MessageManager::PrintToOutputPaneFlag flag = Core::MessageManager::NoModeSwitch);
|
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:
|
signals:
|
||||||
void initialized(LanguageServerProtocol::ServerCapabilities capabilities);
|
void initialized(LanguageServerProtocol::ServerCapabilities capabilities);
|
||||||
|
@@ -350,7 +350,7 @@ void LanguageClientCompletionAssistProcessor::handleCompletionResponse(
|
|||||||
m_running = false;
|
m_running = false;
|
||||||
QTC_ASSERT(m_client, return);
|
QTC_ASSERT(m_client, return);
|
||||||
if (auto error = response.error()) {
|
if (auto error = response.error()) {
|
||||||
m_client->log(error.value().message());
|
m_client->log(error.value());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const Utils::optional<CompletionResult> &result = response.result();
|
const Utils::optional<CompletionResult> &result = response.result();
|
||||||
|
Reference in New Issue
Block a user