<div dir="ltr">Thanks Nathan, I believe that would suit my needs pretty well!<div><br></div><div>It still feels a bit rigid if it just expects files to be in specific directories (C++ project structures tend to vary wildly haha). I would ultimately like to be able to specify a relative path in my CMakeLists file to tell it where to look for a .clang-format or .clang-tidy file. But either way I think I can achieve what I need with the proposed enhancement. :)</div><div><br></div><div>Thanks,</div><div>Tim</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Dec 29, 2020 at 2:31 PM Nathan James <<a href="mailto:n.james93@hotmail.co.uk">n.james93@hotmail.co.uk</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi Timothy,<br>
<br>
There is a patch in flight - <a href="https://reviews.llvm.org/D93844" rel="noreferrer" target="_blank">https://reviews.llvm.org/D93844</a>.<br>
It doesn't specifically address this problem, but it it lands, you<br>
could adapt it to work for your needs.<br>
You could have a `.clang-format` file in the common subdirectory of all<br>
your projects, then any `.clang-format` file in the individual<br>
projects, could Base themselves off that root style.<br>
<br>
Maybe this is merit for clang-format BasedOnStyle to also accept a path<br>
to another `.clang-format` file. Likely this could either be absolute<br>
or relative to either the `.clang-format` file or if the style was read<br>
from the command line, relative to the CWD. <br>
<br>
Before moving forward a strict set of semantics need establishing with<br>
how these features interop with each other. <br>
We would also need to ensure people don't try stupid things like<br>
BasedOnStyle referring to the same file, or 2 files BasedOnStyle<br>
pointing to each other. Both would likely result in an infinite loop<br>
and so instead should report an error to the user.<br>
<br>
~Nathan James<br>
<br>
On Mon, 2020-12-28 at 18:18 -0800, David Blaikie via llvm-dev wrote:<br>
> +MyDeveloper Day  who seems to be contributing to/reviewing clang-<br>
> format patches these days<br>
> <br>
> Sounds like a nice to have feature - you can file feature requests in<br>
> the LLVM bugzilla (<a href="http://bugs.llvm.org" rel="noreferrer" target="_blank">bugs.llvm.org</a>). (perhaps it's already possible,<br>
> but I don't know enough about clang-format to say)<br>
> <br>
> On Sun, Dec 20, 2020 at 4:29 PM Timothy Wrona via llvm-dev <<br>
> <a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>> wrote:<br>
> > Hi,<br>
> > <br>
> > This is my first time reaching out to the llvm mailing list so I<br>
> > apologize if this is not the correct place to ask a question like<br>
> > this. (If it isn't please let me know where I should post this<br>
> > question.)<br>
> > <br>
> > I have multiple projects that I want to share a similar clang-<br>
> > format style, but I also want to be able to make minor tweaks<br>
> > between each project so they can be slightly different from one<br>
> > another if needed. Currently each project just has the same .clang-<br>
> > format file copied and pasted into its own repository, but it feels<br>
> > wrong because all of the style options are just duplicated from<br>
> > project to project and if I need to change one option I need to go<br>
> > across all projects and manually change it in all of them.<br>
> > <br>
> > I would like to create my own style that can be used with the<br>
> > "BasedOnStyle" option. That way I can specify that I want all of<br>
> > these projects to be based on the same custom style that would be<br>
> > kept in a shared location, and then I could easily override any<br>
> > project specific options on a per-project basis.<br>
> > <br>
> > I looked through the documentation and as far as I can tell, there<br>
> > doesn't appear to be any way to create your own style and save it<br>
> > so other projects can be based on the same style. I feel like this<br>
> > is something a lot of users would need (for example if a company<br>
> > wanted to define their own master style that all projects should<br>
> > follow).<br>
> > <br>
> > Is there any way to do this? And if not, how could I go about<br>
> > requesting such a feature be added?<br>
> > <br>
> > Thanks,<br>
> > <br>
> > Tim<br>
> > <br>
> > _______________________________________________<br>
> > LLVM Developers mailing list<br>
> > <a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
> > <a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
> <br>
> _______________________________________________<br>
> LLVM Developers mailing list<br>
> <a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
> <a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
<br>
</blockquote></div>