| Left: | ||
| Right: |
| LEFT | RIGHT |
|---|---|
| 1 clang-format-eyeo | 1 clang-format-eyeo |
| 2 ================= | 2 ================= |
| 3 | 3 |
| 4 A file containing style configuration for [`clang-format`](http://clang.llvm.org /docs/ClangFormat.html) | 4 A file containing style configuration for [`clang-format`][clang-format-docs] |
|
Vasily Kuznetsov
2017/09/11 10:44:33
We are generally trying to keep the lines under 80
Eric
2017/09/15 13:09:01
Fixed in patch set 3.
| |
| 5 that formats according to the [Adblock Plus coding style guide](https://adblockp lus.org/coding-style#cpp) | 5 that formats according to the |
| 6 for C++. | 6 [Adblock Plus coding style guide][abp-coding-style-cpp] for C++. |
| 7 | 7 |
| 8 Installation | 8 Installation |
| 9 ------------ | 9 ------------ |
| 10 | 10 |
| 11 When `clang-format` receives its style configuration from a file, it searches | 11 When `clang-format` receives its style configuration from a file, it searches |
| 12 for style configuration in the directory of each input file and then each parent | 12 for style configuration in the directory of each input file and then each parent |
| 13 directory. Copy the format file to the parent directory of the working | 13 directory. Copy the format file to the parent directory of the working |
| 14 directory. In this way it will `clang-format` will find the format file and | 14 directory. In this way it will `clang-format` will find the format file and |
| 15 the version control system will not. | 15 the version control system will not. |
| 16 | 16 |
| 17 The configuration file must be named either "`.clang-format`" or "`_clang-format `". | 17 The configuration file must be named either "`.clang-format`" or |
| 18 At the present time there's no command line option to specify the file name. | 18 "`_clang-format`". At the present time there's no command line option to specify |
| 19 the file name. | |
| 19 | 20 |
| 20 Usage | 21 Usage |
| 21 ----- | 22 ----- |
| 22 | 23 |
| 23 clang-format -style=file [...] | 24 clang-format -style=file [...] |
| 24 | 25 |
| 25 The option "-style=file" (note that this is the word "file", not a file name) | 26 The option "-style=file" (note that this is the word "file", not a file name) |
| 26 says to perform a directory search for the configuration. For the rest of the | 27 says to perform a directory search for the configuration. For the rest of the |
| 27 command line, see the `clang-format` documentation link above. | 28 command line, see the `clang-format` documentation link above. |
| 29 | |
| 30 Notes | |
| 31 ----- | |
| 32 | |
| 33 `clang-format` is a complete reformatter; it largely ignores whitespace within | |
| 34 the input and reformats code according to its specified rules. Its treatment of | |
| 35 whitespace within comments, however, is different, within which it preserves | |
| 36 whitespace by default. If the automatically-formatted code is not acceptable, | |
| 37 interventions are available. | |
| 38 | |
| 39 * Formatting can be turned on and off with explicit special comments. | |
| 40 | |
| 41 ``` | |
| 42 // clang-format off | |
| 43 // clang-format on | |
| 44 /* clang-format off */ | |
| 45 /* clang-format on */ | |
| 46 ``` | |
| 47 | |
| 48 * Line-end comments contain an embedded newline that `clang-format` will retain. | |
| 49 To prevent a manually-split line from unwrapping, add a `//`-comment at the end | |
| 50 of the line; it can be empty. | |
| 51 | |
| 52 For more information, see the answer to this Stack Overflow question: | |
| 53 [Clang-format line breaks][SO-1] | |
| 54 | |
| 55 Clang Version Support | |
| 56 --------------------- | |
| 57 The present version is for Clang 4. One option (`BreakConstructorInitializers`) | |
| 58 we're using has changed in Clang 5. If you want to use Clang 5, edit the file as | |
| 59 part of installation. Uncomment the new version and comment out the old one. | |
| 60 | |
| 61 | |
| 62 [clang-format-docs]: http://clang.llvm.org/docs/ClangFormat.html | |
| 63 [abp-coding-style-cpp]: https://adblockplus.org/coding-style#cpp | |
| 64 [SO-1]: https://stackoverflow.com/questions/33656800/clang-format-line-breaks#an swer-34362422 | |
| LEFT | RIGHT |