2017-11-08 12 views
0

いくつかのコード美化器を試しています。今のところ、clang-formatが私のお気に入りです。しかし、解決できない問題が1つあります。私は、誰もが次の問題を扱うことができる任意のコードフォーマッタを知っているかどうかを知りたいと思った:複雑な列の配置を処理できるコードフォーマッタ

入力:

ar << CDOMAttrName("RuntimeModus") << s.m_lRuntimeModus 
    << CDOMAttrName("InstanzName") << s.m_sName 
    << CDOMAttrName("LoginName") << s.m_sLoginName 
    << CDOMAttrName("BenutzerNr") << s.m_nBenutzerNr; 

ar[abc] = test(2, 33, 32); 
ar[abcde] = test(2, 33, 32); 
ar[abcd] = test(21, 333, 32); 
ar[abcdefgh] = test(22, 33, 32); 
ar[abcdefgh] = ee; 

出力:コードブロックの

ar << CDOMAttrName("RuntimeModus") << s.m_lRuntimeModus 
    << CDOMAttrName("InstanzName" ) << s.m_sName 
    << CDOMAttrName("LoginName" ) << s.m_sLoginName 
    << CDOMAttrName("BenutzerNr" ) << s.m_nBenutzerNr; 

ar[abc  ] = test(2, 33, 32); 
ar[abcde ] = test(2, 33, 32); 
ar[abcd ] = test(21, 333, 32); 
ar[abcdefgh] = test(22, 33, 32); 

、ブラケットの位置合わせコンマで区切られた引数は同じ "列"になければなりません。

+0

文法的修正 – Sagar

+0

このフォーマットは、フォーマッタが正しいフォーマットを決定するためにフォーマットされているものを先読みする必要があります。私はかなりそのようなフォーマッタがないと確信しています。実行可能な選択肢は、ある行の書式設定を無効にして、ユーザーが望むように書式を設定することです。 – Dialecticus

答えて

0

のEmacs:C-UM-Xalign-regexpRETURN\(,\)]RETURNRETURNYRETURN

+0

いいえ、私は普遍的なコードフォーマッタは、特定のルールをcondifering完全なファイルをフォーマットすることについて話している...正規表現は素晴らしいことですが、私はそれのgenricルールをaceptsとブロックを自動的に検出するフォーマッタを探して – muffmolch

関連する問題