cppeditor: make it possible to ignore patterns

Allows the user to ignore certain patterns so that these files wont
be indexed

Fixes: QTCREATORBUG-28313
Change-Id: I2a860a473ca1a267e9fab31436fc98b8f4004484
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
Philip Van Hoof
2022-10-14 17:27:14 +02:00
parent 001d55e1f0
commit 55b8ab7846
5 changed files with 105 additions and 5 deletions

View File

@@ -45,6 +45,12 @@ static QString interpretAmbiguousHeadersAsCHeadersKey()
static QString skipIndexingBigFilesKey()
{ return QLatin1String(Constants::CPPEDITOR_SKIP_INDEXING_BIG_FILES); }
static QString ignoreFilesKey()
{ return QLatin1String(Constants::CPPEDITOR_IGNORE_FILES); }
static QString ignorePatternKey()
{ return QLatin1String(Constants::CPPEDITOR_IGNORE_PATTERN); }
static QString useBuiltinPreprocessorKey()
{ return QLatin1String(Constants::CPPEDITOR_USE_BUILTIN_PREPROCESSOR); }
@@ -91,6 +97,12 @@ void CppCodeModelSettings::fromSettings(QSettings *s)
const QVariant skipIndexingBigFiles = s->value(skipIndexingBigFilesKey(), true);
setSkipIndexingBigFiles(skipIndexingBigFiles.toBool());
const QVariant ignoreFiles = s->value(ignoreFilesKey(), false);
setIgnoreFiles(ignoreFiles.toBool());
const QVariant ignorePattern = s->value(ignorePatternKey(), "");
setIgnorePattern(ignorePattern.toString());
setUseBuiltinPreprocessor(s->value(useBuiltinPreprocessorKey(), true).toBool());
const QVariant indexerFileSizeLimit = s->value(indexerFileSizeLimitKey(), 5);
@@ -110,6 +122,8 @@ void CppCodeModelSettings::toSettings(QSettings *s)
s->setValue(interpretAmbiguousHeadersAsCHeadersKey(), interpretAmbigiousHeadersAsCHeaders());
s->setValue(skipIndexingBigFilesKey(), skipIndexingBigFiles());
s->setValue(ignoreFilesKey(), ignoreFiles());
s->setValue(ignorePatternKey(), QVariant(ignorePattern()));
s->setValue(useBuiltinPreprocessorKey(), useBuiltinPreprocessor());
s->setValue(indexerFileSizeLimitKey(), indexerFileSizeLimitInMb());
@@ -158,6 +172,27 @@ void CppCodeModelSettings::setIndexerFileSizeLimitInMb(int sizeInMB)
m_indexerFileSizeLimitInMB = sizeInMB;
}
bool CppCodeModelSettings::ignoreFiles() const
{
return m_ignoreFiles;
}
void CppCodeModelSettings::setIgnoreFiles(bool ignoreFiles)
{
m_ignoreFiles = ignoreFiles;
}
QString CppCodeModelSettings::ignorePattern() const
{
return m_ignorePattern;
}
void CppCodeModelSettings::setIgnorePattern(const QString& ignorePattern)
{
m_ignorePattern = ignorePattern;
}
bool CppCodeModelSettings::enableLowerClazyLevels() const
{
return m_enableLowerClazyLevels;