| # Defines the Chromium style for automatic reformatting. |
| # http://clang.llvm.org/docs/ClangFormatStyleOptions.html |
| BasedOnStyle: Chromium |
| # This defaults to 'Auto'. Explicitly set it for a while, so that |
| # 'vector<vector<int> >' in existing files gets formatted to |
| # 'vector<vector<int>>'. ('Auto' means that clang-format will only use |
| # 'int>>' if the file already contains at least one such instance.) |
| Standard: Cpp11 |
| |
| # TODO(crbug.com/1392808): Remove when InsertBraces has been upstreamed into |
| # the Chromium style (is implied by BasedOnStyle: Chromium). |
| InsertBraces: true |
| InsertNewlineAtEOF: true |
| |
| # Sort #includes by follwoing |
| # https://google.github.io/styleguide/cppguide.html#Names_and_Order_of_Includes |
| # |
| # ref: https://clang.llvm.org/docs/ClangFormatStyleOptions.html#includeblocks |
| IncludeBlocks: Regroup |
| # Predefined IncludeCategories works well for Chromium. |
| # https://github.com/llvm/llvm-project/blob/c99670ba513529b3ab6a649be7377b863dc110be/clang/lib/Format/Format.cpp#L1645 |
| # ref: https://clang.llvm.org/docs/ClangFormatStyleOptions.html#includecategories |
| # ref: https://clang.llvm.org/docs/ClangFormatStyleOptions.html#includeismainregex |
| IncludeIsMainRegex: "\ |
| (_(android|apple|chromeos|freebsd|fuchsia|fuzzer|ios|linux|mac|nacl|openbsd|posix|stubs?|win))?\ |
| (_(unit|browser|perf)?tests?)?$" |
| |
| # Make sure code like: |
| # IPC_BEGIN_MESSAGE_MAP() |
| # IPC_MESSAGE_HANDLER(WidgetHostViewHost_Update, OnUpdate) |
| # IPC_END_MESSAGE_MAP() |
| # gets correctly indented. |
| MacroBlockBegin: "^\ |
| BEGIN_MSG_MAP|\ |
| BEGIN_MSG_MAP_EX|\ |
| BEGIN_SAFE_MSG_MAP_EX|\ |
| CR_BEGIN_MSG_MAP_EX|\ |
| IPC_BEGIN_MESSAGE_MAP|\ |
| IPC_BEGIN_MESSAGE_MAP_WITH_PARAM|\ |
| IPC_PROTOBUF_MESSAGE_TRAITS_BEGIN|\ |
| IPC_STRUCT_BEGIN|\ |
| IPC_STRUCT_BEGIN_WITH_PARENT|\ |
| IPC_STRUCT_TRAITS_BEGIN|\ |
| POLPARAMS_BEGIN|\ |
| PPAPI_BEGIN_MESSAGE_MAP$" |
| MacroBlockEnd: "^\ |
| CR_END_MSG_MAP|\ |
| END_MSG_MAP|\ |
| IPC_END_MESSAGE_MAP|\ |
| IPC_PROTOBUF_MESSAGE_TRAITS_END|\ |
| IPC_STRUCT_END|\ |
| IPC_STRUCT_TRAITS_END|\ |
| POLPARAMS_END|\ |
| PPAPI_END_MESSAGE_MAP$" |