aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorXavier BESSON <developer@xavi-b.fr>2022-11-23 19:33:40 +0100
committerXavier BESSON <developer@xavi-b.fr>2022-11-24 11:30:03 +0100
commit0e4acad6ab3a4caf02a4b372152e646f0c11c68d (patch)
tree6f2bea1da55bca50e45c783ea4aaf0fd63bd2e23 /tools
parentf8006c960edf613967acf7f8b55661f9aab414fe (diff)
qmlformat: add 'ensure new line between functions' option
Fixes: QTBUG-108659 Change-Id: I3e21727bd946089d89ce9c42f640f05230de8c8e Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Diffstat (limited to 'tools')
-rw-r--r--tools/qmlformat/qmlformat.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/tools/qmlformat/qmlformat.cpp b/tools/qmlformat/qmlformat.cpp
index 0da477af82..b1e0bb75de 100644
--- a/tools/qmlformat/qmlformat.cpp
+++ b/tools/qmlformat/qmlformat.cpp
@@ -34,6 +34,7 @@ struct Options
bool ignoreSettings = false;
bool writeDefaultSettings = false;
bool objectsSpacing = false;
+ bool functionsSpacing = false;
int indentWidth = 4;
bool indentWidthSet = false;
@@ -120,6 +121,7 @@ bool parseFile(const QString &filename, const Options &options)
checks = WriteOutCheck::None;
lwOptions.objectsSpacing = options.objectsSpacing;
+ lwOptions.functionsSpacing = options.functionsSpacing;
MutableDomItem res;
if (options.inplace) {
@@ -190,6 +192,8 @@ Options buildCommandLineOptions(const QCoreApplication &app)
parser.addOption(QCommandLineOption(QStringList() << "objects-spacing", QStringLiteral("Ensure spaces between objects (only works with normalize option).")));
+ parser.addOption(QCommandLineOption(QStringList() << "functions-spacing", QStringLiteral("Ensure spaces between functions (only works with normalize option).")));
+
parser.addPositionalArgument("filenames", "files to be processed by qmlformat");
parser.process(app);
@@ -234,6 +238,7 @@ Options buildCommandLineOptions(const QCoreApplication &app)
options.normalize = parser.isSet("normalize");
options.ignoreSettings = parser.isSet("ignore-settings");
options.objectsSpacing = parser.isSet("objects-spacing");
+ options.functionsSpacing = parser.isSet("functions-spacing");
options.valid = true;
options.indentWidth = indentWidth;
@@ -270,6 +275,9 @@ int main(int argc, char *argv[])
const QString &objectsSpacingSetting = QStringLiteral("ObjectsSpacing");
settings.addOption(objectsSpacingSetting);
+ const QString &functionsSpacingSetting = QStringLiteral("FunctionsSpacing");
+ settings.addOption(functionsSpacingSetting);
+
const auto options = buildCommandLineOptions(app);
if (!options.valid) {
for (const auto &error : options.errors) {
@@ -305,6 +313,9 @@ int main(int argc, char *argv[])
if (settings.isSet(objectsSpacingSetting))
perFileOptions.objectsSpacing = settings.value(objectsSpacingSetting).toBool();
+ if (settings.isSet(functionsSpacingSetting))
+ perFileOptions.functionsSpacing = settings.value(functionsSpacingSetting).toBool();
+
return perFileOptions;
};