forked from qt-creator/qt-creator
LanguageClient: show CodeDescription in Tasks
Change-Id: Ia8a20c71d6af9f0168614ecddb4fc0ca4ecf7cbc Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
@@ -224,13 +224,19 @@ std::optional<Task> DiagnosticManager::createTask(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return Task(taskType,
|
Task task(
|
||||||
|
taskType,
|
||||||
taskText(diagnostic),
|
taskText(diagnostic),
|
||||||
doc->filePath(),
|
doc->filePath(),
|
||||||
diagnostic.range().start().line() + 1,
|
diagnostic.range().start().line() + 1,
|
||||||
d->m_taskCategory,
|
d->m_taskCategory,
|
||||||
icon,
|
icon,
|
||||||
Task::NoOptions);
|
Task::NoOptions);
|
||||||
|
|
||||||
|
if (const std::optional<CodeDescription> codeDescription = diagnostic.codeDescription())
|
||||||
|
task.addLinkDetail(codeDescription->href());
|
||||||
|
|
||||||
|
return task;
|
||||||
}
|
}
|
||||||
|
|
||||||
QString DiagnosticManager::taskText(const LanguageServerProtocol::Diagnostic &diagnostic) const
|
QString DiagnosticManager::taskText(const LanguageServerProtocol::Diagnostic &diagnostic) const
|
||||||
|
@@ -163,6 +163,15 @@ QString Task::formattedDescription(DescriptionTags tags, const QString &extraHea
|
|||||||
.arg(htmlExtraHeading, TextEditor::FontSettings::defaultFixedFontFamily(), text);
|
.arg(htmlExtraHeading, TextEditor::FontSettings::defaultFixedFontFamily(), text);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Task::addLinkDetail(const QString &link)
|
||||||
|
{
|
||||||
|
details.append(link);
|
||||||
|
QTextCharFormat format;
|
||||||
|
format.setAnchor(true);
|
||||||
|
format.setAnchorHref(link);
|
||||||
|
formats << QTextLayout::FormatRange{0, int(link.length()), format};
|
||||||
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// functions
|
// functions
|
||||||
//
|
//
|
||||||
|
@@ -54,6 +54,7 @@ public:
|
|||||||
QIcon icon() const;
|
QIcon icon() const;
|
||||||
void setIcon(const QIcon &icon);
|
void setIcon(const QIcon &icon);
|
||||||
QString formattedDescription(DescriptionTags tags, const QString &extraHeading = {}) const;
|
QString formattedDescription(DescriptionTags tags, const QString &extraHeading = {}) const;
|
||||||
|
void addLinkDetail(const QString &link);
|
||||||
|
|
||||||
friend PROJECTEXPLORER_EXPORT bool operator==(const Task &t1, const Task &t2);
|
friend PROJECTEXPLORER_EXPORT bool operator==(const Task &t1, const Task &t2);
|
||||||
friend PROJECTEXPLORER_EXPORT bool operator<(const Task &a, const Task &b);
|
friend PROJECTEXPLORER_EXPORT bool operator<(const Task &a, const Task &b);
|
||||||
|
Reference in New Issue
Block a user