如何在自动生成的c ++代码中将分为三行的'for'语句重新格式化为一行?我试过unrustify,但我无法在括号内格式化部分。 sed似乎不适合这个。任何人都可以建议我其他格式化程序或一些可以处理它的linux命令吗?
要格式化的代码:
void func(double* s, Quaternion& a, int n)
{
int size((n<4)?n:4);
for (int i=0;
i<size;
i++)
{
a[i] = s[i];
}
}
我希望将上面的'for'语句格式化为一行,如:
for (int i=0; i<size; i++)
答案 0 :(得分:2)
试试clang-format。这有点新鲜,但是关于GoingNative2013的演讲显示了有希望的结果。
答案 1 :(得分:1)
您可以使用gnu indent。
为您的代码段说indent -npsl inputfile.c
会导致:
void func (double *s, Quaternion & a, int n)
{
int size ((n < 4) ? n : 4);
for (int i = 0; i < size; i++)
{
a[i] = s[i];
}
}
可以访问手册here。