Index: cfe/trunk/docs/ClangFormatStyleOptions.rst =================================================================== --- cfe/trunk/docs/ClangFormatStyleOptions.rst +++ cfe/trunk/docs/ClangFormatStyleOptions.rst @@ -1280,6 +1280,10 @@ Regular expressions denoting the different ``#include`` categories used for ordering ``#includes``. + `POSIX extended + `_ + regular expressions are supported. + These regular expressions are matched against the filename of an include (including the <> or "") in order. The value belonging to the first matching regular expression is assigned and ``#includes`` are sorted first @@ -1302,6 +1306,8 @@ Priority: 2 - Regex: '^(<|"(gtest|gmock|isl|json)/)' Priority: 3 + - Regex: '<[[:alnum:].]+>' + Priority: 4 - Regex: '.*' Priority: 1 Index: cfe/trunk/docs/tools/dump_format_style.py =================================================================== --- cfe/trunk/docs/tools/dump_format_style.py +++ cfe/trunk/docs/tools/dump_format_style.py @@ -10,6 +10,7 @@ CLANG_DIR = os.path.join(os.path.dirname(__file__), '../..') FORMAT_STYLE_FILE = os.path.join(CLANG_DIR, 'include/clang/Format/Format.h') +INCLUDE_STYLE_FILE = os.path.join(CLANG_DIR, 'include/clang/Tooling/Inclusions/IncludeStyle.h') DOC_FILE = os.path.join(CLANG_DIR, 'docs/ClangFormatStyleOptions.rst') @@ -115,7 +116,7 @@ for line in header: line = line.strip() if state == State.BeforeStruct: - if line == 'struct FormatStyle {': + if line == 'struct FormatStyle {' or line == 'struct IncludeStyle {': state = State.InStruct elif state == State.InStruct: if line.startswith('///'): @@ -188,6 +189,7 @@ return options options = read_options(open(FORMAT_STYLE_FILE)) +options += read_options(open(INCLUDE_STYLE_FILE)) options = sorted(options, key=lambda x: x.name) options_text = '\n\n'.join(map(str, options)) Index: cfe/trunk/include/clang/Format/Format.h =================================================================== --- cfe/trunk/include/clang/Format/Format.h +++ cfe/trunk/include/clang/Format/Format.h @@ -1296,7 +1296,7 @@ /// If ``Never``, lays out Objective-C protocol conformance list items /// onto individual lines whenever they go over ``ColumnLimit``. /// - /// \code + /// \code{.objc} /// Always (or Auto, if BinPackParameters=true): /// @interface ccccccccccccc () < /// ccccccccccccc, ccccccccccccc, Index: cfe/trunk/include/clang/Tooling/Inclusions/IncludeStyle.h =================================================================== --- cfe/trunk/include/clang/Tooling/Inclusions/IncludeStyle.h +++ cfe/trunk/include/clang/Tooling/Inclusions/IncludeStyle.h @@ -67,6 +67,10 @@ /// Regular expressions denoting the different ``#include`` categories /// used for ordering ``#includes``. /// + /// `POSIX extended + /// `_ + /// regular expressions are supported. + /// /// These regular expressions are matched against the filename of an include /// (including the <> or "") in order. The value belonging to the first /// matching regular expression is assigned and ``#includes`` are sorted first @@ -87,6 +91,8 @@ /// Priority: 2 /// - Regex: '^(<|"(gtest|gmock|isl|json)/)' /// Priority: 3 + /// - Regex: '<[[:alnum:].]+>' + /// Priority: 4 /// - Regex: '.*' /// Priority: 1 /// \endcode