Clangd: add setting for index priority

Change-Id: I5f9ea8c31747d1cd1e1e6b77ab7c705a7f275cff
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
David Schulz
2022-09-21 11:17:07 +02:00
parent c0599002fd
commit e2352f1cc0
4 changed files with 73 additions and 15 deletions

View File

@@ -137,9 +137,12 @@ void setupClangdConfigFile()
static BaseClientInterface *clientInterface(Project *project, const Utils::FilePath &jsonDbDir)
{
using CppEditor::ClangdSettings;
QString indexingOption = "--background-index";
const CppEditor::ClangdSettings settings(CppEditor::ClangdProjectSettings(project).settings());
if (!settings.indexingEnabled() || jsonDbDir.isEmpty())
const ClangdSettings settings(CppEditor::ClangdProjectSettings(project).settings());
const ClangdSettings::IndexingPriority indexingPriority = settings.indexingPriority();
const bool indexingEnabled = indexingPriority != ClangdSettings::IndexingPriority::Off;
if (!indexingEnabled)
indexingOption += "=0";
const QString headerInsertionOption = QString("--header-insertion=")
+ (settings.autoIncludeHeaders() ? "iwyu" : "never");
@@ -152,6 +155,10 @@ static BaseClientInterface *clientInterface(Project *project, const Utils::FileP
"--clang-tidy=0"}};
if (settings.workerThreadLimit() != 0)
cmd.addArg("-j=" + QString::number(settings.workerThreadLimit()));
if (indexingEnabled && settings.clangdVersion() >= QVersionNumber(15)) {
cmd.addArg("--background-index-priority="
+ ClangdSettings::priorityToString(indexingPriority));
}
if (!jsonDbDir.isEmpty())
cmd.addArg("--compile-commands-dir=" + jsonDbDir.toString());
if (clangdLogServer().isDebugEnabled())