Protocol Buffersをシコシコ使ってるんですが、clang-formatをかけると具合の悪くなるパターンを発見したのでメモ。
ちなみに一応書いときますがclang-formatはProtocol Buffersをサポートしてます。
どういうパターン?
例えばこういうパターンです。
これに対してclang-formatをかけると・・・
🤔🤔🤔🤔🤔🤔🤔🤔🤔🤔
なんでこうなるの?
調べたけどソースコード読むのダルくてわからん。
ただLLVMのbug reportはされているみたいなので、バグという認識をしている人はちゃんといるっぽい。
応急措置
このままじゃ困るので一旦の応急措置。
はい。微妙な違いなのですがoption内でセミコロンを使わないってことをしています。
こうするとclang-formatをかけても・・・
schema
のところがちょっと変わっちゃいましたが、まぁ概ね問題無しですね。
まとめ
というわけで、clang-formatでインデント崩れ起こしちゃうパターンがあるよという話でした。
まぁバグっぽい挙動なので直るのを粛々と待つしかないですね・・・