Как не допустить, чтобы в отступе GNU было нарушено назначение инициализации, например "= ;"

363
pynexj

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

$ 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}; 
0

1 ответ на вопрос

1
tah

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

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

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