MyDeveloperDay added a comment. If this is something we think we wouldn't want in clang-format, what about the idea of building a new binary which did allow the modification of the tokens, This comes up from time to time and I kind of feel its a weak argument for those that don't want to use it enforcing their will on those that do.
I feel we have D69764: [clang-format] Add East/West Const fixer capability <https://reviews.llvm.org/D69764> and D95168: [clang-format] Add InsertBraces option <https://reviews.llvm.org/D95168> both of which seem to break the fundamental belief that some feel that we shouldn't change anything other than whitespace (A fact that has already been broken 3 times already). But really these are just separate passes, so why couldn't clang-format allow custom passes to be added much like any compiler does. If the objection is that this isn't clang-format's role then what if we build something new whose purpose IS to allow these kinds of changes? I'm pretty rubbish with names but what about: clang-format++ clang-modifier clang-rewriter I think it still has some value to those that want to use it, and I'd like to find an elegant way to deliver it. if (Style.Language == FormatStyle::LK_Cpp) { if (Style.FixNamespaceComments) Passes.emplace_back([&](const Environment &Env) { return NamespaceEndCommentsFixer(Env, Expanded).process(); }); if (Style.SortUsingDeclarations) Passes.emplace_back([&](const Environment &Env) { return UsingDeclarationsSorter(Env, Expanded).process(); }); if (Style.InsertBraces != FormatStyle::BIS_Never) Passes.emplace_back([&](const Environment &Env) { return BracesInserter(Env, Expanded).process(); }); if (Style.isCpp() && Style.ConstPlacement != FormatStyle::CS_Leave) Passes.emplace_back([&](const Environment &Env) { return EastWestConstFixer(Env, Expanded).process(); }); } if (Style.Language == FormatStyle::LK_JavaScript && Style.JavaScriptQuotes != FormatStyle::JSQS_Leave) Passes.emplace_back([&](const Environment &Env) { return JavaScriptRequoter(Env, Expanded).process(); }); Passes.emplace_back([&](const Environment &Env) { return Formatter(Env, Expanded, Status).process(); }); if (Style.Language == FormatStyle::LK_JavaScript && Style.InsertTrailingCommas == FormatStyle::TCS_Wrapped) Passes.emplace_back([&](const Environment &Env) { return TrailingCommaInserter(Env, Expanded).process(); }); CHANGES SINCE LAST ACTION https://reviews.llvm.org/D69764/new/ https://reviews.llvm.org/D69764 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits