2016-01-27 6 views
5

Ich möchte wissen, ob das clang-Format so eingestellt werden könnte, dass { non-compound_statement; } in iteration_statement nicht compound_statement ist.clang-format add {} around-Anweisung nach 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 
; 

Beispiel

Input:

if (exp) foo = 1; 

Output:

if (exp) { foo = 1; } 

Dann würde der beautifier einrücken nach Bedarf.

+0

Klirren-Format kann nicht sein, was Sie suchen. Haben Sie versucht, 'clang-tidy' zu verwenden? – PythonJin

Antwort

1

Was möchten Sie ist außerhalb des Rahmens zu tun, was klirren-Format versucht zu erreichen:

  • Die einzigen lexikalische Elemente Klirren-Format sind berühren sollte: Leerzeichen, String-Literale und Kommentare. Alle anderen Änderungen von der Bestellung bis zum Entfernen überflüssiger Paranthese sind nicht in den Anwendungsbereich dieses Tools.

Quelle: http://clang-developers.42468.n3.nabble.com/Design-clang-format-td3980439.html

jedoch ordentlich Dose klirren, wird das Feature Flag readability-braces-around-statements genannt.

Quelle: http://clang.llvm.org/extra/clang-tidy/checks/readability-braces-around-statements.html

Verwandte Themen