wanders added a comment.

The "Language" option can not distinguish between C and C++.

We have projects which contains both C and C++ code. Using different style 
(yes..) for C and C++.  Our C++ headers are named hpp.

In our toplevel we have the following symlinks
.c.clang-format -> clang-format/c.clang-format
.h.clang-format -> clang-format/c.clang-format
.cpp.clang-format -> clang-format/cpp.clang-format
.hpp.clang-format -> clang-format/cpp.clang-format

Before this we had a horrible wrapper script that used cd into different 
directories depending on extension, and those directories had different 
.clang-format files, and then had to run clang-format from stdin.

An alternative implementation I did consider was to add some kind of path 
matching in the configuration file doing multiple yaml documents in the 
configuration file. So in my case it would be something like:

  ---
  Language: Cpp
  IndentWidth: 4
  TabWidth: 4
  MoreStuff...
  ---
  PathMatch: [ *.cpp, *.hpp ]
  SpaceBeforeParen: ControlStatements
  ---
  PathMatch [ *.c, *.h ]
  SpaceBeforeParen: Never
  ---


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D68569/new/

https://reviews.llvm.org/D68569



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to