HazardyKnusperkeks wrote: > > > I struggle with changes that encourage people to not be fully > > > clang-formatted, I would prefer to ask why we need this feature, can we > > > have some examples of where this would be used? > > > > > > This makes it so only one line isn't formatted instead of the current > > solution which is 2 lines unformatted. Additionally, if you start writing > > code in between the unformatted region you inherit the unformatted scope. > > Being able to disable the formatter for only a single line means the > > formatter will be disabled for the shortest amount of code possible. > > I understand what is can be used for, I'm asking why its needed? I don't > understand why people are needing to unformat just one line, what is broken? > > The implementation IMHO just complicates the code (I much prefer the > isClangFormatOn() function than the parseXXXX()) > > I don't even deny it might be a nice to have, my concern is why do we > continue to appease the people who don't want to use clang-format warts and > all. I would prefer we put the effort into fixing the formatting issues which > mean people are having to use this rather than marking hundreds of lines as > // clang-format off. > > Rather than complicating the code with a myriad of rules that effectively > give half a dozen ways of doing the same thing. To me the current // > clang-format off/on is enough, for everything else log an issue, or better > still submit a pull request.
I think there are multiple reasons to disable formatting for a range, and be the range only one line. A nice multiline example I stumbled upon is: ``` c++ Tree<char> tree[] { {'D', tree + 1, tree + 2}, // │ // ┌───────────────┴────────────────┐ // │ │ {'B', tree + 3, tree + 4}, {'F', tree + 5, tree + 6}, // │ │ // ┌─────────┴─────────────┐ ┌───────────┴─────────────┐ // │ │ │ │ {'A'}, {'C'}, {'E'}, {'G'} }; ``` (Kindly borrowed from https://en.cppreference.com/w/cpp/coroutine/generator) We will never be able to format something like this with clang-format. I myself have a few places where automatic formatting would be possible, but kind of hard, they all have to do with some aligning. And https://github.com/llvm/llvm-project/issues/54334#issuecomment-2531049984 makes a good example on why only one line disabling would be desired. Also this would bring us in par with clang-tidy which has `NOLINT` and `NOLINTNEXTLINE`. https://github.com/llvm/llvm-project/pull/118566 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits