HazardyKnusperkeks added a comment. In D145435#4179662 <https://reviews.llvm.org/D145435#4179662>, @owenpan wrote:
> In D145435#4179308 <https://reviews.llvm.org/D145435#4179308>, @bersbersbers > wrote: > >> In D145435#4173875 <https://reviews.llvm.org/D145435#4173875>, @owenpan >> wrote: >> >>> Please refer to D125171#4167866 <https://reviews.llvm.org/D125171#4167866> >>> to make the case that such a feature should be added. >>> >>> - have a publicly accessible style guide >> >> I am not sure what a "style guide" might be in my case, and I'd be happy >> about any clarification. Might that simply be documentation? > > An example of publicly accessible style guides would be > https://google.github.io/styleguide/cppguide.html#Formatting. Nevertheless, > it's unlikely your proposed new feature is covered by any style guides. > >> In D145435#4176279 <https://reviews.llvm.org/D145435#4176279>, @owenpan >> wrote: >> >>> I don't understand why anyone wants to do this. [...] If I lock down the >>> style for the files I created as this requested feature allows, what would >>> happen if others need to maintain these files down the road? >> >> I see a number of settings where people might want this: >> >> - Teams not (fully) agreeing on a common style, with different people using >> different styles (such as `BS_Allman` vs `BS_Attach`). Not saying that >> should be allowed in every project, but I can easily see how allowing it can >> avoid conflicts if users can just impose their own style on the files they >> maintain. (Note that this is already possible, but only by moving each >> user's file into a separate directory. The proposed patch will just make it >> easier.) > > I don't think the purpose of supporting per-directory config files is to > allow different users to have different styles within the same codebase. > >> - If the previous point sounds like opening the code base for style chaos >> (in fact, your final question appears to suggest that a per-file style will >> always be incompatible with the directory style), note there can be very >> benign examples. A team may have agreed on a 120 column limit, but they have >> a file that is diffed very often and for which it makes sense to have an 80 >> column limit. With the proposed style comment, you can enforce that locally. >> Note that such a file does not go against the 120 column limit, so no one is >> breaking any agreed-upon rules, and no other maintainer should have a >> problem with that file. Another example is `MaxEmptyLinesToKeep`: a team may >> have agreed on 3 (or no limit at all), but one maintainer likes to keep >> their code vertically short at works using `MaxEmptyLinesToKeep: 1`. That >> file will still be compliant with the agreed-upon style. >> - Code and style are self-contained in a single file. If you move a file >> from one directory to another, it will continue to use the same style, even >> if the two folders use different .clang-format files. (Not saying this has >> to be done, but it's nice to have the option.) If you email/scp/... the file >> to someone, the recipient knows the format and can easily format after >> making changes. > > Are the settings above hypothetical or are they real-world use cases? > > IMO, if people really want to have per-file configurations, they can do so > outside of clang-format, e.g. using grep in a shell script. Although I don't think I will use that feature, I still think it might be useful and doesn't really hurt anyone. I can't give you any examples right now, but more than once I wished I could change the style **within** the file, right now I just do `// clang-format off` or accept that the code doesn't look like I want to. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D145435/new/ https://reviews.llvm.org/D145435 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits