Beautifier: Fix clang-format's custom style handling

Instead of dealing with clang-format's YAML format use proper command
line parameters.

Task-number: QTCREATORBUG-15604
Change-Id: Ie0b22aff105c8d208d30e2e945b0036b0b8606c1
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
This commit is contained in:
Lorenz Haas
2016-03-16 21:17:10 +01:00
committed by Lorenz Haas
parent e63f503592
commit 3310fbc8f2
6 changed files with 70 additions and 49 deletions

View File

@@ -48,7 +48,6 @@ const char kFormatEntireFileFallback[] = "formatEntireFileFallback";
ClangFormatSettings::ClangFormatSettings() :
AbstractSettings(QLatin1String(Constants::ClangFormat::SETTINGS_NAME),
QLatin1String(".clang-format"))
{
setCommand(QLatin1String("clang-format"));
m_settings.insert(QLatin1String(kUsePredefinedStyle), QVariant(true));
@@ -225,6 +224,21 @@ QStringList ClangFormatSettings::predefinedStyles() const
<< QLatin1String("File");
}
QString ClangFormatSettings::styleFileName(const QString &key) const
{
return m_styleDir.absolutePath() + QLatin1Char('/') + key + QLatin1Char('/') + m_ending;
}
void ClangFormatSettings::readStyles()
{
const QStringList dirs = m_styleDir.entryList(QDir::AllDirs | QDir::NoDotAndDotDot);
for (const QString &dir : dirs) {
QFile file(m_styleDir.absoluteFilePath(dir + QLatin1Char('/') + m_ending));
if (file.open(QIODevice::ReadOnly))
m_styles.insert(dir, QString::fromLocal8Bit(file.readAll()));
}
}
} // namespace ClangFormat
} // namespace Internal
} // namespace Beautifier