LanguageClient: Support markdown tool tips with Qt 5.14

Use Qt::MarkdownText if language server returns markdown and it was
built against Qt 5.14.

Change-Id: I75787cfcb32480cb37bc0dadc4be12d005005099
Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
Eike Ziller
2019-11-04 17:14:25 +01:00
parent 1766832918
commit 9f21f59e68
2 changed files with 8 additions and 0 deletions

View File

@@ -222,7 +222,11 @@ static ClientCapabilities generateClientCapabilities()
documentCapabilities.setCodeAction(codeActionCapabilities); documentCapabilities.setCodeAction(codeActionCapabilities);
TextDocumentClientCapabilities::HoverCapabilities hover; TextDocumentClientCapabilities::HoverCapabilities hover;
#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0)
hover.setContentFormat({MarkupKind::markdown, MarkupKind::plaintext});
#else
hover.setContentFormat({MarkupKind::plaintext}); hover.setContentFormat({MarkupKind::plaintext});
#endif
hover.setDynamicRegistration(true); hover.setDynamicRegistration(true);
documentCapabilities.setHover(hover); documentCapabilities.setHover(hover);

View File

@@ -129,9 +129,13 @@ void HoverHandler::setContent(const HoverContent &hoverContent)
if (markupContent->kind() == MarkupKind::plaintext) { if (markupContent->kind() == MarkupKind::plaintext) {
setToolTip(content); setToolTip(content);
} else if (m_client) { } else if (m_client) {
#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0)
setToolTip(content, Qt::MarkdownText);
#else
m_client->log(tr("Got unsupported markup hover content: ") + content, m_client->log(tr("Got unsupported markup hover content: ") + content,
Core::MessageManager::Silent); Core::MessageManager::Silent);
setToolTip(content); setToolTip(content);
#endif
} }
} else if (auto markedString = Utils::get_if<MarkedString>(&hoverContent)) { } else if (auto markedString = Utils::get_if<MarkedString>(&hoverContent)) {
setToolTip(toolTipForMarkedStrings({*markedString})); setToolTip(toolTipForMarkedStrings({*markedString}));