2016-01-27 2 views
5

Я хотел бы знать, можно ли настроить clang-format, чтобы уменьшить значение compound_statement до { non-compound_statement; } в iteration_statement.clang-format add {} round statement after if() while() for()

statement 
: labeled_statement 
| compound_statement 
| expression_statement 
| selection_statement 
| iteration_statement 
| jump_statement 
; 
iteration_statement 
: WHILE '(' expression ')' statement 
| DO statement WHILE '(' expression ')' ';' 
| FOR '(' expression_statement expression_statement ')' statement 
| FOR '(' expression_statement expression_statement expression ')' statement 
; 

Пример

Входной сигнал:

if (exp) foo = 1; 

Выход:

if (exp) { foo = 1; } 

Затем Beautifier бы Отступ по мере необходимости.

+0

лязг-формат может быть не то, что вы ищете. Вы пробовали использовать «clang-tidy»? – PythonJin

ответ

1

То, что вы хотите сделать, это выходит за рамки того, что Clang-формат пытается достичь:

  • Единственные лексические элементы лязг формата должны касаться являются: пробелы, строка-литералов и комментарии. Любые другие изменения , начиная от заказа и заканчивая удалением лишней парантезы , не входят в это руководство.

Источник: http://clang-developers.42468.n3.nabble.com/Design-clang-format-td3980439.html

Однако лязг кругленькую баночку, флаг функция называется readability-braces-around-statements.

Источник: http://clang.llvm.org/extra/clang-tidy/checks/readability-braces-around-statements.html