diff options
| author | Xavier BESSON <developer@xavi-b.fr> | 2022-11-06 21:40:50 +0100 |
|---|---|---|
| committer | Xavier BESSON <developer@xavi-b.fr> | 2022-11-14 13:11:49 +0100 |
| commit | c016ab30c9c1932936424d22a0e62d3f1f2bfc48 (patch) | |
| tree | 5192bb025c04b9fbefb60570ffffffa3af718acf /tools | |
| parent | 1d3d7437bab7c3a0c3222de3a00bcf2c9437ae76 (diff) | |
qmlformat: add 'ensure new line between objects' option
This option allows to format files into more 'refreshing' ones.
It improves readability thanks to a clearer visualization of objects inside files.
Change-Id: Ic3592e87ae16d14d70317d09d819cc5d331be822
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Diffstat (limited to 'tools')
| -rw-r--r-- | tools/qmlformat/qmlformat.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/tools/qmlformat/qmlformat.cpp b/tools/qmlformat/qmlformat.cpp index 2e99dd3110..0da477af82 100644 --- a/tools/qmlformat/qmlformat.cpp +++ b/tools/qmlformat/qmlformat.cpp @@ -33,6 +33,7 @@ struct Options bool normalize = false; bool ignoreSettings = false; bool writeDefaultSettings = false; + bool objectsSpacing = false; int indentWidth = 4; bool indentWidthSet = false; @@ -118,6 +119,8 @@ bool parseFile(const QString &filename, const Options &options) if (options.force || qmlFilePtr->code().size() > 32000) checks = WriteOutCheck::None; + lwOptions.objectsSpacing = options.objectsSpacing; + MutableDomItem res; if (options.inplace) { if (options.verbose) @@ -185,6 +188,8 @@ Options buildCommandLineOptions(const QCoreApplication &app) QStringLiteral("Override the new line format to use (native macos unix windows)."), "newline", "native")); + parser.addOption(QCommandLineOption(QStringList() << "objects-spacing", QStringLiteral("Ensure spaces between objects (only works with normalize option)."))); + parser.addPositionalArgument("filenames", "files to be processed by qmlformat"); parser.process(app); @@ -228,6 +233,7 @@ Options buildCommandLineOptions(const QCoreApplication &app) options.tabs = parser.isSet("tabs"); options.normalize = parser.isSet("normalize"); options.ignoreSettings = parser.isSet("ignore-settings"); + options.objectsSpacing = parser.isSet("objects-spacing"); options.valid = true; options.indentWidth = indentWidth; @@ -261,6 +267,9 @@ int main(int argc, char *argv[]) const QString &newlineSetting = QStringLiteral("NewlineType"); settings.addOption(newlineSetting, QStringLiteral("native")); + const QString &objectsSpacingSetting = QStringLiteral("ObjectsSpacing"); + settings.addOption(objectsSpacingSetting); + const auto options = buildCommandLineOptions(app); if (!options.valid) { for (const auto &error : options.errors) { @@ -293,6 +302,9 @@ int main(int argc, char *argv[]) if (settings.isSet(newlineSetting)) perFileOptions.newline = settings.value(newlineSetting).toString(); + if (settings.isSet(objectsSpacingSetting)) + perFileOptions.objectsSpacing = settings.value(objectsSpacingSetting).toBool(); + return perFileOptions; }; |
