我想知道是否可以设置clang格式以将compound_statement
中的非{ non-compound_statement; }
缩减为iteration_statement
。
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; }
然后美化师会根据需要缩进。
答案 0 :(得分:1)
你想要做的是在clang-format试图实现的范围之外:
- 唯一的词汇元素clang-format应该触及的是:空格,字符串文字和注释。任何其他变化 从订购包括去除多余的paranthesis 不在此工具的范围内。
来源:http://clang-developers.42468.n3.nabble.com/Design-clang-format-td3980439.html
然而,clang整洁可以,功能标志被称为readability-braces-around-statements
。
来源:http://clang.llvm.org/extra/clang-tidy/checks/readability-braces-around-statements.html