以下文件test.cpp
int func() {
aaaaaaaaaaa = bbbbbbbb->cccccc(SomeNamespace::Function(dddddddd?"eeeeeeeee":"fffffffffff")).gggggggggg();
}使用clang-format进行格式化的方式如下(我尝试了不同的样式):
$ for s in LLVM Google Chromium Mozilla WebKit; do clang-format -style="{BasedOnStyle: $s, ColumnLimit: 80}" test.cpp; done
int func() {
aaaaaaaaaaa = bbbbbbbb
->cccccc(SomeNamespace::Function(dddddddd ? "eeeeeeeee"
: "fffffffffff"))
.gggggggggg();
}
int func() {
aaaaaaaaaaa = bbbbbbbb
->cccccc(SomeNamespace::Function(dddddddd ? "eeeeeeeee"
: "fffffffffff"))
.gggggggggg();
}
int func() {
aaaaaaaaaaa = bbbbbbbb
->cccccc(SomeNamespace::Function(dddddddd ? "eeeeeeeee"
: "fffffffffff"))
.gggggggggg();
}
int
func()
{
aaaaaaaaaaa =
bbbbbbbb
->cccccc(SomeNamespace::Function(dddddddd ? "eeeeeeeee" : "fffffffffff"))
.gggggggggg();
}
int func()
{
aaaaaaaaaaa = bbbbbbbb
->cccccc(SomeNamespace::Function(
dddddddd ? "eeeeeeeee" : "fffffffffff"))
.gggggggggg();
}我想知道是否有一个选项可以防止clang-format在->运算符上打破界限。
发布于 2017-06-21 20:58:24
似乎没有任何选项只影响list of clang-format options中的operator->,但您始终可以对有问题的行禁用clang-format:
int func() {
// clang-format off
aaaaaaaaaaa = bbbbbbbb->cccccc(SomeNamespace::Function(dddddddd?"eeeeeeeee":"fffffffffff")).gggggggggg();
// clang-format on
}这将完全禁用格式化,因此,如果需要对相关行使用其他格式化规则,则可能需要进行一些手动干预。
https://stackoverflow.com/questions/44658400
复制相似问题