[PATCH] D42650: [clang-format] New format param BinPackObjCProtocolList
Ben Hamilton via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Mon Jan 29 09:58:13 PST 2018
benhamilton created this revision.
benhamilton added reviewers: krasimir, jolesiak, stephanemoore.
This is an alternative approach to https://reviews.llvm.org/D42014 after some
investigation by stephanemoore@ and myself.
Previously, the format parameter `BinPackParameters` controlled both
C function parameter list bin-packing and Objective-C protocol conformance
list bin-packing.
We found in the Google style, some teams were changing
`BinPackParameters` from its default (`true`) to `false` so they could
lay out Objective-C protocol conformance list items one-per-line
instead of bin-packing them into as few lines as possible.
To allow teams to use one-per-line Objective-C protocol lists without
changing bin-packing for other areas like C function parameter lists,
this diff introduces a new LibFormat parameter
`BinPackObjCProtocolList` to control the behavior just for ObjC
protocol conformance lists.
The new parameter is an enum which defaults to `Auto` to keep the
previous behavior (delegating to `BinPackParameters`).
For the `google` style, we set it to `Never` so we use one-per-line
protocol conformance lists instead of bin-packing.
Depends On https://reviews.llvm.org/D42649
Test Plan: New tests added. make -j12 FormatTests && ./tools/clang/unittests/Format/FormatTests
Repository:
rC Clang
https://reviews.llvm.org/D42650
Files:
include/clang/Format/Format.h
lib/Format/ContinuationIndenter.cpp
lib/Format/Format.cpp
unittests/Format/FormatTestObjC.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D42650.131823.patch
Type: text/x-patch
Size: 7859 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20180129/1e730842/attachment-0001.bin>
More information about the cfe-commits
mailing list