forked from qt-creator/qt-creator
Clang: Do not show diagnostic category in inline annotations and issues pane
For build system diagnostics they are not displayed either. Also, the error/warning is already encoded in the icon and the color. However, the category is still shown in the tooltip. Change-Id: I190ab17691c32786cefc20d058010c65cda5ace9 Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
@@ -307,5 +307,30 @@ CPlusPlus::Icons::IconType iconTypeForToken(const ClangBackEnd::TokenInfoContain
|
||||
return CPlusPlus::Icons::UnknownIconType;
|
||||
}
|
||||
|
||||
QString diagnosticCategoryPrefixRemoved(const QString &text)
|
||||
{
|
||||
QString theText = text;
|
||||
|
||||
// Prefixes are taken from $LLVM_SOURCE_DIR/tools/clang/lib/Frontend/TextDiagnostic.cpp,
|
||||
// function TextDiagnostic::printDiagnosticLevel (llvm-3.6.2).
|
||||
static const QStringList categoryPrefixes = {
|
||||
QStringLiteral("note"),
|
||||
QStringLiteral("remark"),
|
||||
QStringLiteral("warning"),
|
||||
QStringLiteral("error"),
|
||||
QStringLiteral("fatal error")
|
||||
};
|
||||
|
||||
for (const QString &prefix : categoryPrefixes) {
|
||||
const QString fullPrefix = prefix + QStringLiteral(": ");
|
||||
if (theText.startsWith(fullPrefix)) {
|
||||
theText.remove(0, fullPrefix.length());
|
||||
return theText;
|
||||
}
|
||||
}
|
||||
|
||||
return text;
|
||||
}
|
||||
|
||||
} // namespace Utils
|
||||
} // namespace Clang
|
||||
|
||||
Reference in New Issue
Block a user