请参阅以下示例。
$ indent --version
GNU indent 2.2.10
$ cat foo.c
void foo()
{
struct {
int a;
int b;
} v = { 0 };
}
$ indent -st foo.c
void
foo ()
{
struct
{
int a;
int b;
} v =
{
0};
}
$
我不想= { 0 };
被格式化为
=
{
0};
答案1
2.2.11 也存在这种情况。从代码来看,这似乎是块初始化器无法正确检测的一个错误。在这种情况下,缩进会在“{”后强制换行。我在过去几天里一直在研究这个问题,并在我的工作副本这样你的文件格式就会像这样:
$ src/indent -npro -st foo.c
void
foo ()
{
struct
{
int a;
int b;
} v = { 0 };
}
请随意查看我的工作副本并尝试一下。否则,您可能必须等到上游修复它。