Смотрите следующий пример.

$ 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 ответ1

1

Это также относится и к 2.2.11. Из-за анализа кода кажется, что это ошибка с инициализаторами блоков, которые не обнаруживаются должным образом. В этом случае отступ заставляет перевод строки после '{'. Последние несколько дней я пытался разобраться с этим и исправил эту ошибку в своей рабочей копии , чтобы ваш файл был отформатирован так:

$ src/indent -npro -st foo.c
void
foo ()
{
  struct
  {
    int a;
    int b;
  } v = { 0 };
}

Не стесняйтесь проверить мою рабочую копию и попробовать. В противном случае вам, вероятно, придется подождать, пока это не будет исправлено.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .