私はC99プログラムを作成しており、複合リテラルを使用することがよくあります。しかし、Emacsはそれらを適切にインデントしていないようです。例えば、ここに手でインデント、簡単な関数EmacsにC99複合リテラルを適切にインデントさせるにはどうすればよいですか?
です:
SDL_Point
random_point_within_rect(SDL_Rect r)
{
return (SDL_Point) {
.x = (r.x + (rand() % r.w)),
.y = (r.y + (rand() % r.h)),
};
}
そして、ここでは、私がM-x indent-region
を使用するときには、どのように見えるかです:
SDL_Point
random_point_within_rect(SDL_Rect r)
{
return (SDL_Point) {
.x = (r.x + (rand() % r.w)),
.y = (r.y + (rand() % r.h)),
};
}
私の仮説は、Emacsが認識しないということです(type) { ... }
の中括弧は、中括弧内の内容がまったく同じので、type x = { ... }
と同じ種類のものです。
SDL_Point
random_point_within_rect(SDL_Rect r)
{
SDL_Point p = {
.x = (r.x + (rand() % r.w)),
.y = (r.y + (rand() % r.h)),
};
return p;
}
ここでインデントを修正するために、構造リテラルや他の方法で複合リテラルを扱う方法がありますか?
ありがとうございました。
、無名の構造体の初期化子を使用することができます – jenesaisquoi