HighCommander4 wrote: Apologies for not having had a chance to circle back to this sooner.
I read over the discussion of the [original patch](https://github.com/llvm/llvm-project/pull/67749) that added support for the `QuotedHeaders` and `AngledHeaders` config keys, and it turns out the "resolved path vs. spelling" question does have a back-story. @sam-mccall [commented](https://github.com/llvm/llvm-project/pull/67749#discussion_r1465335864) during that review: > This should mention whether we're matching against the path to the header, or > its spelling. and @kleinesfilmroellchen [responded](https://github.com/llvm/llvm-project/pull/67749#discussion_r1466440861): > We're matching against the spelling; at least in SerenityOS this is a > necessary distinction: Naming a same-directory header via `"Widget.h"` will > result in quotes, but naming the same header via an "absolute" path like > `<LibGUI/Widget.h>` should get you an angled include. This is what the patch ended up implementing, and documenting [in `ConfigFragment.h`](https://searchfox.org/llvm/rev/55c86c5f77437c15fd29936cc8ad48b2097660b3/clang-tools-extra/clangd/ConfigFragment.h#318-319): ```c++ /// Matching is performed against the header text, not its absolute path /// within the project. ``` So, currently there is an inconsistency between the documentation and the `IncludeInserter` implementation on the one hand (uses the spelling), and the include-cleaner implementation on the other (uses the resolved path). I guess we should resolve that inconsistency, in one direction or another. In addition to the matter of accommodating project styles, one potential challenge I see with using the resolved path is that the documentation of `include_cleaner::Header::resolvedPath()` [states](https://searchfox.org/llvm/rev/55c86c5f77437c15fd29936cc8ad48b2097660b3/clang-tools-extra/include-cleaner/include/clang-include-cleaner/Types.h#139-140): > /// For phiscal files, **either absolute path or path relative to the > execution > /// root**. Otherwise just the spelling without surrounding quotes/brackets. Having to write regexes that match an "either/or" seems like a bit of a headache for users. @kadircet, thoughts on how to proceed? https://github.com/llvm/llvm-project/pull/140594 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits