[clang-format ]Extend IncludeCategories regex documentation
Summary: Extend the Clang-Format IncludeCategories documentation by adding a link to the supported regular expression standard (POSIX). And extenting the example with a system header regex. [[ https://bugs.llvm.org/show_bug.cgi?id=35041 | bug 35041]] Contributed by WimLeflere! Reviewers: krasimir, Typz Reviewed By: krasimir Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D48827 llvm-svn: 337899
This commit is contained in:
@@ -1280,6 +1280,10 @@ the configuration (without a prefix: ``Auto``).
|
||||
Regular expressions denoting the different ``#include`` categories
|
||||
used for ordering ``#includes``.
|
||||
|
||||
`POSIX extended
|
||||
<http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html>`_
|
||||
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 @@ the configuration (without a prefix: ``Auto``).
|
||||
Priority: 2
|
||||
- Regex: '^(<|"(gtest|gmock|isl|json)/)'
|
||||
Priority: 3
|
||||
- Regex: '<[[:alnum:].]+>'
|
||||
Priority: 4
|
||||
- Regex: '.*'
|
||||
Priority: 1
|
||||
|
||||
|
||||
@@ -10,6 +10,7 @@ import urllib2
|
||||
|
||||
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 @@ def read_options(header):
|
||||
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 @@ def read_options(header):
|
||||
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))
|
||||
|
||||
@@ -1296,7 +1296,7 @@ struct FormatStyle {
|
||||
/// 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,
|
||||
|
||||
@@ -67,6 +67,10 @@ struct IncludeStyle {
|
||||
/// Regular expressions denoting the different ``#include`` categories
|
||||
/// used for ordering ``#includes``.
|
||||
///
|
||||
/// `POSIX extended
|
||||
/// <http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html>`_
|
||||
/// 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 @@ struct IncludeStyle {
|
||||
/// Priority: 2
|
||||
/// - Regex: '^(<|"(gtest|gmock|isl|json)/)'
|
||||
/// Priority: 3
|
||||
/// - Regex: '<[[:alnum:].]+>'
|
||||
/// Priority: 4
|
||||
/// - Regex: '.*'
|
||||
/// Priority: 1
|
||||
/// \endcode
|
||||
|
||||
Reference in New Issue
Block a user