while 文 (または for 文など) をインデント付きでフォーマットする

while 文 (または for 文など) をインデント付きでフォーマットする

GNU indent を使用して while (または for、...) ステートメントを 1 行にフォーマットすることはできますか?

私のインデント(GNUインデント2.2.11)はこれを出力します

while (a == b)
    b++;

代わりに 1 行だけ出力したいです。多くのオプションを試しましたが、まだ適切な組み合わせ (まったく可能かどうか) を見つけることができていません。

while (a == b) b++;
for (i = 0; i < 100; i++) arr[i] = i;

答え1

使用することはできませんindentが、使用していますuncrustify。 と:

uncrustify --show-config

~/.uncrustify.cfg設定オプションを確認したら、スタイルを定義するファイルを作成する必要があります。問題に関係するものについては、設定ファイルに次の内容を記述する必要があります。

nl_create_if_one_liner 真
nl_create_for_one_liner 真
nl_create_while_one_liner 真

man uncrustifyを呼び出す方法については、を参照してくださいuncrustify

関連情報