ProjectExplorer: Linkify main diagnostic location in MSVC output parser

Task-number: QTCREATORBUG-27056
Change-Id: Ide66fd1ee9c8312653146cfa4a17ec6f662a7949
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
Christian Kandeler
2022-02-14 12:15:36 +01:00
parent 48ce753a05
commit d465dd9f3b

View File

@@ -166,8 +166,8 @@ MsvcParser::Result MsvcParser::processCompileLine(const QString &line)
QPair<FilePath, int> position = parseFileName(match.captured(1)); QPair<FilePath, int> position = parseFileName(match.captured(1));
const FilePath filePath = absoluteFilePath(position.first); const FilePath filePath = absoluteFilePath(position.first);
LinkSpecs linkSpecs; LinkSpecs linkSpecs;
addLinkSpecForAbsoluteFilePath(linkSpecs, filePath, position.second, match, 1);
if (!m_lastTask.isNull() && line.contains("note: ")) { if (!m_lastTask.isNull() && line.contains("note: ")) {
addLinkSpecForAbsoluteFilePath(linkSpecs, filePath, position.second, match, 1);
const int offset = std::accumulate(m_lastTask.details.cbegin(), const int offset = std::accumulate(m_lastTask.details.cbegin(),
m_lastTask.details.cend(), 0, m_lastTask.details.cend(), 0,
[](int total, const QString &line) { return total + line.length() + 1;}); [](int total, const QString &line) { return total + line.length() + 1;});
@@ -181,6 +181,7 @@ MsvcParser::Result MsvcParser::processCompileLine(const QString &line)
m_lastTask = CompileTask(taskType(match.captured(2)), m_lastTask = CompileTask(taskType(match.captured(2)),
match.captured(3) + match.captured(4).trimmed(), // description match.captured(3) + match.captured(4).trimmed(), // description
filePath, position.second); filePath, position.second);
m_linkSpecs << linkSpecs;
m_lines = 1; m_lines = 1;
} }
return {Status::InProgress, linkSpecs}; return {Status::InProgress, linkSpecs};