Hi Harshad,

Since some plugins (e.g clang-format in emacs) that uses clang-format traverses the file's parent folders to locate a .clang_format file.

Therefore, we can commit .clang_format file to the root folder, so everyone can use.


On 08/16/2016 03:53 PM, Harshad Deshmukh wrote:

Hello,

I was playing with the clang-format tool today with the aim of coming up with a uniform style specifications for the C++ source files.

Our style guide is largely based on Google's style guide, but we deviate in some places (e.g. pointer alignment). I have created the following .clang-format file which I believe closely represents our style specifications.

I would be glad if you can try the file and let me know your thoughts. Here are the steps:

1. Copy the .clang-format file to the Quickstep source root.

2. Run the clang-format plugin as folllows:

clang-format -style=file abc.hpp | tee abc-clang.hpp

Here's the explanation:

style=file -> This will force clang to pick up the .clang-format file placed in Quickstep root and use it as the style reference.

abc.hpp -> A sample source file in the project. e.g. query_execution/Worker.hpp

tee abc-clang.hpp -> The output from the clang-format tool, which performs changes on abc.hpp and we temporarily save it as abc-clang.hpp

3. vimdiff abc.hpp abc-clang.hpp to see the differences. You can use any other diff tool instead of vimdiff (e.g. meld)

The long term goal should be to perfect the clang-format file so that it always gives trusted output. Then the pull request reviewer's burden (wrt style related comments) is taken off. We could even automate the style checking as a part of the CI.

--
Thanks,
Harshad

Reply via email to