次: , 前: Changing Indent Style, 上: Custom C Indent


20.5.5.4 構文シンボル

Cモードや関連するモードの字下げに対して有効な構文シンボルを、 構文上の意味とともに、以下に示します。 これらのほとんどのシンボルには、 c-offsets-alistでオフセットが与えられています。

string
複数行におよぶ文字列の内側。
c
複数行におよぶCスタイルのブロックコメントの内側。
defun-open
関数定義を開始する中括弧。
defun-close
関数定義を終了する中括弧。
defun-block-intro
トップレベルの関数定義の最初の行。
class-open
クラス定義を開始する中括弧。
class-close
クラス定義を終了する中括弧。
inline-open
クラス内のインラインメソッドを開始する中括弧。
inline-close
クラス内のインラインメソッドを終了する中括弧。
extern-lang-open
外部言語ブロックを開始する中括弧。
extern-lang-close
外部言語ブロックを終了する中括弧。
func-decl-cont
関数定義の引数リストと関数定義の本体を開始する中括弧のあいだの領域。 ただし、K&R版の関数定義を除く。 Cでは、この部分に空文字やコメント以外は置けない。 C++やJavaでは、throws宣言などを置ける。
knr-argdecl-intro
K&R版Cの引数宣言の最初の行。
knr-argdecl
K&R版Cの引数宣言の2行目以降。
topmost-intro
最上位の言語構成要素の最初の行。
topmost-intro-cont
最上位の言語構成要素の2行目以降。
member-init-intro
(構造体の)メンバ初期化リストの最初の行。
member-init-cont
(構造体の)メンバ初期化リストの2行目以降。
inher-intro
多重継承リストの最初。
inher-cont
多重継承リストの2行目以降。
block-open
文ブロックを開始する中括弧。
block-close
文ブロックを終了する中括弧。
brace-list-open
enumのリストや静的配列の初期化リストを開始する中括弧。
brace-list-close
enumのリストや静的配列の初期化リストを終了する中括弧。
brace-list-intro
enumのリストや静的配列の初期化リストの最初の行。
brace-list-entry
enumのリストや静的配列の初期化リストの2行目以降。
brace-entry-open
行が開き中括弧で始まるときの、 enumのリストや静的配列の初期化リストの2行目以降。
statement
通常の文。
statement-cont
文の継続行。
statement-block-intro
新規文ブロックの最初の行。
statement-case-intro
caseブロックの最初の行。
statement-case-open
中括弧で始まるcaseブロックの最初の行。
inexpr-statement
式の内側にある文ブロック。 これは、C言語のGNU拡張や、 文ブロックを引数としてとるPikeの特殊関数に用いる。
inexpr-class
式の内側にあるクラス定義。 これは、Javaの無名クラスや無名配列の初期化式に用いる。
substatement
ifwhilefordoelseの直後の最初の行
substatement-open
substatementのブロックを開始する中括弧。
case-label
caseまたはdefaultラベルを表す。
access-label
C++のアクセス指定子privateprotectedpublicを表す。
label
通常のラベル。
do-while-closure
do-while文のwhile
else-clause
if-else文のelse
catch-clause
C++やJavaのtry...catch構成の catch行やfinally行。
comment-intro
コメントの導入部分だけを含んだ行。
arglist-intro
引数リストの最初の行。
arglist-cont
引数リストを開始する括弧の行に引数がない場合、 引数リストの2行目以降。
arglist-cont-nonempty
引数リストを開始する括弧の行に少なくとも1つの引数がある場合、 引数リストの2行目以降。
arglist-close
引数リストを終了する括弧。
stream-op
ストリーム演算子を用いた式が継続する行。
inclass
クラス定義の内側に入れ子になった言語構成要素。 字下げは、クラス定義の開き中括弧に相対である。
inextern-lang
外部言語ブロックの内側に入れ子になった言語構成要素。
inexpr-statement
式の内側の文ブロックの最初の行。 これは、構文({ ... })を使うCに対するGCC拡張に用いる。 文ブロックを引数としてとるPikeの特殊関数にも用いる。
inexpr-class
式の内側のクラス定義の最初の行。 これは、Javaの無名クラスや無名配列の初期化式に用いる。
cpp-macro
cppマクロの開始。
friend
C++のfriend宣言。
objc-method-intro
Objective-Cのメソッド定義の最初の行。
objc-method-args-cont
Objective-Cのメソッド定義を継続する行。
objc-method-call-cont
Objective-Cのメソッド呼び出しを継続する行。
inlambda
inclassと同様だが、ラムダ(つまり、無名)関数の内側に用いる。 Pikeのみで用いる。
lambda-intro-cont
キーワードlambdaと関数本体のあいだの、 ラムダ関数のヘッダーの継続行。 Pikeのみで用いる。