[PATCH] D72326: [clang-format] Rebased on master: Add option to specify explicit config file
Zhao Wei Liew via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Dec 28 19:54:22 PST 2021
zwliew added inline comments.
================
Comment at: clang/lib/Format/Format.cpp:3393
if (!ChildFormatTextToApply.empty()) {
assert(ChildFormatTextToApply.size() == 1);
----------------
HazardyKnusperkeks wrote:
> zwliew wrote:
> > Is there a reason for this to be limited to 1? I came across this case during testing, but I can't think of why this should be so.
> See comment on D93844.
I've added a new test case (9.1.2) to illustrate the test failure, and also fixed the code to fix the test case.
================
Comment at: clang/lib/Format/Format.cpp:3276
+ // Check for explicit config filename
+ if (StyleName.startswith_insensitive("file:")) {
+ auto StyleNameFile = StyleName.substr(5);
----------------
zwliew wrote:
> HazardyKnusperkeks wrote:
> > zwliew wrote:
> > > Following my code suggestion above, I think this code block could be refactored to this:
> > > ```
> > > // Check for explicit config filename
> > > if (StyleName.startswith_insensitive("file:")) {
> > > auto StyleFileName = StyleName.substr(5);
> > > if (auto ec = loadConfigFile(StyleFileName, FS, &Style)) {
> > > return make_string_error(ec.message());
> > > }
> > > LLVM_DEBUG(llvm::dbgs() << "Using configuration file " << StyleFileName << '\n');
> > > return Style;
> > > }
> > > ```
> > >
> > > What do you think?
> > >
> > > Also, on another note, I feel like the `-style` option is too overloaded. Would it be better to use a separate option like `-style-file` instead?
> > You can certainly refactor code.
> >
> > What happens with `-style="Google" -style-file="Foo/Bar"` is it different from `-style-file="Foo/Bar" -style="Google"`?
> > I do not perse disagree, but I think it makes stuff clearer if there is only one option.
> Fair enough. Some ideas off the top of my head that resolve the ambiguity sound needlessly complicated. Thanks!
I've refactored the code in the latest revision (under `loadAndParseConfigFile()`.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D72326/new/
https://reviews.llvm.org/D72326
More information about the cfe-commits
mailing list