forked from qt-creator/qt-creator
LSP: show tooltips for diagnostics
Change-Id: I9625c77f87c31d3287ab17de42a507a8b068e118 Reviewed-by: Alexis Murzeau <amubtdx@gmail.com> Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
@@ -65,6 +65,16 @@ void HoverHandler::identifyMatch(TextEditor::TextEditorWidget *editorWidget,
|
|||||||
report(Priority_None);
|
report(Priority_None);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
auto uri = DocumentUri::fromFilePath(editorWidget->textDocument()->filePath());
|
||||||
|
QTextCursor tc = editorWidget->textCursor();
|
||||||
|
tc.setPosition(pos);
|
||||||
|
QList<Diagnostic> diagnostics = m_client->diagnosticsAt(uri, Range(Position(tc), Position(tc)));
|
||||||
|
if (!diagnostics.isEmpty()) {
|
||||||
|
const QStringList messages = Utils::transform(diagnostics, &Diagnostic::message);
|
||||||
|
setToolTip(messages.join('\n'));
|
||||||
|
report(Priority_Diagnostic);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
bool sendMessage = m_client->capabilities().hoverProvider().value_or(false);
|
bool sendMessage = m_client->capabilities().hoverProvider().value_or(false);
|
||||||
if (Utils::optional<bool> registered = m_client->dynamicCapabilities().isRegistered(
|
if (Utils::optional<bool> registered = m_client->dynamicCapabilities().isRegistered(
|
||||||
@@ -86,7 +96,6 @@ void HoverHandler::identifyMatch(TextEditor::TextEditorWidget *editorWidget,
|
|||||||
}
|
}
|
||||||
|
|
||||||
m_report = report;
|
m_report = report;
|
||||||
auto uri = DocumentUri::fromFilePath(editorWidget->textDocument()->filePath());
|
|
||||||
QTextCursor cursor = editorWidget->textCursor();
|
QTextCursor cursor = editorWidget->textCursor();
|
||||||
cursor.setPosition(pos);
|
cursor.setPosition(pos);
|
||||||
TextDocumentPositionParams params(uri, Position(cursor));
|
TextDocumentPositionParams params(uri, Position(cursor));
|
||||||
|
|||||||
Reference in New Issue
Block a user