diff options
author | Galen Elias <gelias@gmail.com> | 2024-12-30 01:28:03 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-12-30 01:28:03 -0800 |
commit | 486ec4bd7466cda444a7da6386a1bbb2db89a33f (patch) | |
tree | 9f91cc82a0b092a79278f4760b3dffb3d3d33036 /clang/unittests/Format/ConfigParseTest.cpp | |
parent | 91c5de7fb8f95132043ed08056e58238383cfcb9 (diff) | |
download | llvm-486ec4bd7466cda444a7da6386a1bbb2db89a33f.zip llvm-486ec4bd7466cda444a7da6386a1bbb2db89a33f.tar.gz llvm-486ec4bd7466cda444a7da6386a1bbb2db89a33f.tar.bz2 |
[clang-format] Add `AllowShortNamespacesOnASingleLine` option (#105597)
This fixes #101363 which is a resurrection of a previously opened but
never completed review: https://reviews.llvm.org/D11851
The feature is to allow code like the following not to be broken across
multiple lines:
```
namespace foo { class bar; }
namespace foo { namespace bar { class baz; } }
```
Code like this is commonly used for forward declarations, which are
ideally kept compact. This is also apparently the format that
include-what-you-use will insert for forward declarations.
Also, fix an off-by-one error in `CompactNamespaces` code. For nested
namespaces with 3 or more namespaces, it was incorrectly compacting
lines which were 1 or two spaces over the `ColumnLimit`, leading to
incorrect formatting results.
Diffstat (limited to 'clang/unittests/Format/ConfigParseTest.cpp')
-rw-r--r-- | clang/unittests/Format/ConfigParseTest.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/clang/unittests/Format/ConfigParseTest.cpp b/clang/unittests/Format/ConfigParseTest.cpp index 7fc7492..b249bf0 100644 --- a/clang/unittests/Format/ConfigParseTest.cpp +++ b/clang/unittests/Format/ConfigParseTest.cpp @@ -159,6 +159,7 @@ TEST(ConfigParseTest, ParsesConfigurationBools) { CHECK_PARSE_BOOL(AllowShortCompoundRequirementOnASingleLine); CHECK_PARSE_BOOL(AllowShortEnumsOnASingleLine); CHECK_PARSE_BOOL(AllowShortLoopsOnASingleLine); + CHECK_PARSE_BOOL(AllowShortNamespacesOnASingleLine); CHECK_PARSE_BOOL(BinPackArguments); CHECK_PARSE_BOOL(BreakAdjacentStringLiterals); CHECK_PARSE_BOOL(BreakAfterJavaFieldAnnotations); |