MyDeveloperDay updated this revision to Diff 374652. MyDeveloperDay added a comment.
Allow passing of desired qualifier order on the command line clang-format --qualifier-alignment="const static type volatile" test_file.cpp CHANGES SINCE LAST ACTION https://reviews.llvm.org/D110359/new/ https://reviews.llvm.org/D110359 Files: clang/tools/clang-format/ClangFormat.cpp Index: clang/tools/clang-format/ClangFormat.cpp =================================================================== --- clang/tools/clang-format/ClangFormat.cpp +++ clang/tools/clang-format/ClangFormat.cpp @@ -106,9 +106,9 @@ cl::cat(ClangFormatCategory)); static cl::opt<std::string> QualifierAlignment( - "qualifier-aligment", + "qualifier-alignment", cl::desc( - "If set, overrides the cvqualifier style behavior determined by the " + "If set, overrides the qualifier alignment style determined by the " "QualifierAlignment style flag"), cl::init(""), cl::cat(ClangFormatCategory)); @@ -418,6 +418,17 @@ .Case("left", FormatStyle::QAS_Left) .Default(FormatStyle->QualifierAlignment); + if (FormatStyle->QualifierAlignment == FormatStyle::QAS_Left) + FormatStyle->QualifierOrder = {"const", "volatile", "type"}; + else if (FormatStyle->QualifierAlignment == FormatStyle::QAS_Right) + FormatStyle->QualifierOrder = {"type", "const", "volatile"}; + else if (ConstAlignment.contains("type")) { + FormatStyle->QualifierAlignment = FormatStyle::QAS_Custom; + SmallVector<StringRef> Qualifiers; + ConstAlignment.split(Qualifiers, " ", /*MaxSplit=*/-1, /*KeepEmpty=*/false); + FormatStyle->QualifierOrder = {Qualifiers.begin(), Qualifiers.end()}; + } + if (SortIncludes.getNumOccurrences() != 0) { if (SortIncludes) FormatStyle->SortIncludes = FormatStyle::SI_CaseSensitive;
Index: clang/tools/clang-format/ClangFormat.cpp =================================================================== --- clang/tools/clang-format/ClangFormat.cpp +++ clang/tools/clang-format/ClangFormat.cpp @@ -106,9 +106,9 @@ cl::cat(ClangFormatCategory)); static cl::opt<std::string> QualifierAlignment( - "qualifier-aligment", + "qualifier-alignment", cl::desc( - "If set, overrides the cvqualifier style behavior determined by the " + "If set, overrides the qualifier alignment style determined by the " "QualifierAlignment style flag"), cl::init(""), cl::cat(ClangFormatCategory)); @@ -418,6 +418,17 @@ .Case("left", FormatStyle::QAS_Left) .Default(FormatStyle->QualifierAlignment); + if (FormatStyle->QualifierAlignment == FormatStyle::QAS_Left) + FormatStyle->QualifierOrder = {"const", "volatile", "type"}; + else if (FormatStyle->QualifierAlignment == FormatStyle::QAS_Right) + FormatStyle->QualifierOrder = {"type", "const", "volatile"}; + else if (ConstAlignment.contains("type")) { + FormatStyle->QualifierAlignment = FormatStyle::QAS_Custom; + SmallVector<StringRef> Qualifiers; + ConstAlignment.split(Qualifiers, " ", /*MaxSplit=*/-1, /*KeepEmpty=*/false); + FormatStyle->QualifierOrder = {Qualifiers.begin(), Qualifiers.end()}; + } + if (SortIncludes.getNumOccurrences() != 0) { if (SortIncludes) FormatStyle->SortIncludes = FormatStyle::SI_CaseSensitive;
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits