Может ли astyle обрабатывать скобки для инициализации массива по-разному?
У меня есть следующий фрагмент кода, который в точности такой, как я хочу:
#include <iostream>
int main(int argc, char* argv[])
{
for (auto i: { 1, 2, 3 })
{
std::cout << i << std::endl;
}
}
К сожалению, astyle превращает это в:
#include <iostream>
int main(int argc, char* argv[])
{
for (auto i :
{
1, 2, 3
})
{
std::cout << i << std::endl;
}
}
Есть ли способ заставить astyle по-разному относиться к скобкам списков инициализаторов (т.е. игнорировать их)?
Это мои текущие варианты:
--mode=c --style=allman --indent=spaces=4 -max-code-length=100 --attach-namespaces --pad-oper --pad-header
1 ответ
Просто добавьте опцию --keep-one-line-blocks
Итак, все варианты
--mode=c --style=allman --indent= пробелы = 4 --max-code-length = 100 --attach-namespaces --pad-oper --pad-header --keep-one-line-blocks
#include <iostream>
int main( int argc, char* argv[] )
{
for ( auto i : { 1, 2, 3 } )
{
std::cout << i << std::endl;
}
bool br = false;
if ( true )
{ br = true; cout << "Just test" << endl; }
}
Тем не менее, вы должны быть осторожны. После добавления --keep-one-line-blocks
опция astyle просто сохраняет все блоки одной строки, такие как последняя строка.