Manpages

名 前

indent − 空 白 の 挿 入 や 削 除 を 行 い 、 C 言 語 プ ロ グ ラ ム の 見 栄 え を 変 え る 。

書 式

indent [options] [input−files]

indent [options] [single−input−file] [−o output−file]

indent −−version

説 明

こ の man ペ ー ジ は フ ァ イ ル indent.texinfo か ら 生 成 し た 。 こ れ は indent バ ー ジ ョ ン 2.2.9 用 の 「 The indent Manual」 の 2.2.9 版 (2002 年 11 月 10 日 版 ) で あ る 。

indent プ ロ グ ラ ム を 使 う と コ ー ド を 読 み や す く す る こ と が で き る 。 ま た 、 C 言 語 の コ ー ド 記 述 を 、 あ る ス タ イ ル か ら 別 の ス タ イ ル に 変 換 す る こ と も で き る 。

indent は た く さ ん あ る C 言 語 の 文 法 を 理 解 す る が 、 文 法 が 不 完 全 な 部 分 や 誤 っ て い る 部 分 も で き る だ け 処 理 し よ う と す る 。 バ ー ジ ョ ン 1.2 以 降 で は 、 GNU ス タ イ ル の イ ン デ ン ト が デ フ ォ ル ト で あ る 。

オ プ シ ョ ン

−bad, −−blank−lines−after−declarations 宣 言 の 後 に 必 ず 空 行 を 置 く 。 「 空 行 」 セ ク シ ョ ン を 参 照 す る こ と 。
−bap
, −−blank−lines−after−procedures 手 続 き 本 体 の 後 に 必 ず 空 行 を 置 く 。 「 空 行 」 セ ク シ ョ ン を 参 照 す る こ と 。
−bbb
, −−blank−lines−before−block−comments ブ ロ ッ ク コ メ ン ト の 前 に 必 ず 空 行 を 置 く 。 「 空 行 」 セ ク シ ョ ン を 参 照 す る こ と 。
−bbo
, −−break−before−boolean−operator 長 い 行 を ブ ー リ ア ン 演 算 子 の 前 で 折 り 返 す 。 「 長 い 行 の 折 り 返 し 」 セ ク シ ョ ン を 参 照 す る こ と 。
−bc
, −−blank−lines−after−commas 宣 言 中 の コ ン マ の 後 に 必 ず 改 行 を 置 く 。 「 宣 言 」 セ ク シ ョ ン を 参 照 す る こ と 。
−bl
, −−braces−after−if−line ブ レ ー ス は if 等 の 次 の 行 に 置 く 。 「 」 セ ク シ ョ ン を 参 照 す る こ と 。
−bli
n, −−brace−indentn ブ レ ー ス を n 個 の ス ペ ー ス で イ ン デ ン ト 付 け す る 。 「 」 セ ク シ ョ ン を 参 照 す る こ と 。
−bls
, −−braces−after−struct−decl−line ブ レ ー ス は struct 宣 言 行 の 次 の 行 に 置 く 。 「 宣 言 」 セ ク シ ョ ン を 参 照 す る こ と 。
−br
, −−braces−on−if−line ブ レ ー ス は if 等 が あ る 行 に 置 く 。 「 」 セ ク シ ョ ン を 参 照 す る こ と 。
−brs
, −−braces−on−struct−decl−line ブ レ ー ス は struct 宣 言 行 が あ る 行 に 置 く 。 「 宣 言 」 セ ク シ ョ ン を 参 照 す る こ と 。
−bs
, −−Bill−Shannon, −−blank−before−sizeof

sizeof と そ の 引 き 数 の 間 に 空 白 を 置 く 。 「 」 セ ク シ ョ ン を 参 照 す る こ と 。

−cn, −−comment−indentationn コ メ ン ト を コ ー ド の 右 の カ ラ ム n に 置 く 。 「 コ メ ン ト 」 セ ク シ ョ ン を 参 照 す る こ と 。
−cbi
n, −−case−brace−indentationn

case ラ ベ ル の 後 に 、 ブ レ ー ス を n 個 の 空 白 で イ ン デ ン ト 付 け す る 。 「 」 セ ク シ ョ ン を 参 照 す る こ と 。

−cdn, −−declaration−comment−columnn コ メ ン ト を 宣 言 の 右 の カ ラ ム n に 置 く 。 「 コ メ ン ト 」 セ ク シ ョ ン を 参 照 す る こ と 。
−cdb
, −−comment−delimiters−on−blank−lines 空 行 に コ メ ン ト 区 切 り 文 字 を 置 く 。 「 コ メ ン ト 」 セ ク シ ョ ン を 参 照 す る こ と 。
−cdw
, −−cuddle−do−while

do {} while; の while と そ の 前 の `}´ を 並 べ る 。 「 コ メ ン ト 」 セ ク シ ョ ン を 参 照 す る こ と 。

−ce, −−cuddle−else

else と そ の 前 の `}´ を 並 べ る 。 「 コ メ ン ト 」 セ ク シ ョ ン を 参 照 す る こ と 。

−cin, −−continuation−indentationn 前 の 行 か ら 継 続 し て い る 場 合 に は 、 n 個 の 空 白 で イ ン デ ン ト す る 。 「 」 セ ク シ ョ ン を 参 照 す る こ と 。
−cli
n, −−case−indentationn

case ラ ベ ル を N 個 の 空 白 で イ ン デ ン ト す る 。 「 」 セ ク シ ョ ン を 参 照 す る こ と 。

−cpn, −−else−endif−columnn

#else 文 と #endif 文 の 右 の カ ラ ム n に コ メ ン ト を 置 く 。 「 コ メ ン ト 」 セ ク シ ョ ン を 参 照 す る こ と 。

−cs, −−space−after−cast キ ャ ス ト 演 算 子 の 後 に 空 白 を 置 く 。 「 」 セ ク シ ョ ン を 参 照 す る こ と 。
−d
n, −−line−comments−indentationn コ ー ド の 右 で な い コ メ ン ト は 空 白 n 個 で イ ン デ ン ト す る よ う に 設 定 す る 。 「 コ メ ン ト 」 セ ク シ ョ ン を 参 照 す る こ と 。
−bfda
, −−break−function−decl−args

(関 数 ) 宣 言 の 全 て の 引 き 数 の 後 で 折 り 返 す 。 「 宣 言 」 セ ク シ ョ ン を 参 照 す る こ と 。

−bfde, −−break−function−decl−args

(関 数 ) 宣 言 の 全 て の 引 き 数 の 前 で 折 り 返 す 。 「 宣 言 」 セ ク シ ョ ン を 参 照 す る こ と 。

−din, −−declaration−indentationn 変 数 を カ ラ ム n に 置 く 。 「 宣 言 」 セ ク シ ョ ン を 参 照 す る こ と 。
−fc1
, −−format−first−column−comments 最 初 の カ ラ ム か ら 始 ま る コ メ ン ト を 整 形 す る 。 「 コ メ ン ト 」 セ ク シ ョ ン を 参 照 す る こ と 。
−fca
, −−format−all−comments コ メ ン ト の 整 形 を 全 て を 無 効 に し な い 。 「 コ メ ン ト 」 セ ク シ ョ ン を 参 照 す る こ と 。
−gnu
, −−gnu−style

GNU コ ー デ ィ ン グ ス タ イ ル を 使 用 す る 。 こ れ は デ フ ォ ル ト の 動 作 で あ る 。 「 一 般 的 な ス タ イ ル 」 セ ク シ ョ ン を 参 照 す る こ と 。

−hnl, −−honour−newlines 入 力 フ ァ イ ル で 改 行 が 入 っ て い る 位 置 で 長 い 行 を 折 り 返 す よ う に す る 。 「 長 い 行 の 折 り 返 し 」 セ ク シ ョ ン を 参 照 す る こ と 。
−i
n, −−indent−leveln イ ン デ ン ト の レ ベ ル を 空 白 n 個 に 設 定 す る 。 「 イ ン デ ン ト 付 け 」 セ ク シ ョ ン を 参 照 す る こ と 。
−ip
n, −−parameter−indentationn 古 い 形 式 の 関 数 定 義 の パ ラ メ ー タ 型 を 空 白 n 個 で イ ン デ ン ト す る 。 「 イ ン デ ン ト 付 け 」 セ ク シ ョ ン を 参 照 す る こ と 。
−kr
, −−k−and−r−style

Kernighan & Ritchie コ ー デ ィ ン グ ス タ イ ル を 使 用 す る 。 「 一 般 的 な ス タ イ ル 」 セ ク シ ョ ン を 参 照 す る こ と 。

−ln, −−line−lengthn コ メ ン ト で な い 行 の 最 大 の 長 さ を n に 設 定 す る 。 「 長 い 行 の 折 り 返 し 」 セ ク シ ョ ン を 参 照 す る こ と 。
−lc
n, −−comment−line−lengthn コ メ ン ト を 整 形 す る 最 大 の 長 さ を n に 設 定 す る 。 「 コ メ ン ト 」 セ ク シ ョ ン を 参 照 す る こ と 。
−lp
, −−continue−at−parentheses 前 の 行 に 続 く 行 を 括 弧 の 位 置 に 揃 え る 。 「 イ ン デ ン ト 付 け 」 セ ク シ ョ ン を 参 照 す る こ と 。
−lps
, −−leave−preprocessor−space

`#´ と プ リ プ ロ セ ッ サ デ ィ レ ク テ ィ ブ の 間 の 空 白 を 残 す 。 「 イ ン デ ン ト 付 け 」 セ ク シ ョ ン を 参 照 す る こ と 。

−nbad, −−no−blank−lines−after−declarations 宣 言 の 後 に 空 行 を 置 か な い 。 「 空 行 」 セ ク シ ョ ン を 参 照 す る こ と 。
−nbap
, −−no−blank−lines−after−procedures 手 続 き 本 体 の 後 に 空 行 を 置 か な い 。 「 空 行 」 セ ク シ ョ ン を 参 照 す る こ と 。
−nbbo
, −−break−after−boolean−operator ブ ー リ ア ン 演 算 子 の 前 で 長 い 行 を 折 り 返 さ な い 。 「 長 い 行 の 折 り 返 し 」 セ ク シ ョ ン を 参 照 す る こ と 。
−nbc
, −−no−blank−lines−after−commas 宣 言 中 の コ ン マ の 後 に 改 行 を 置 か な い 。 「 宣 言 」 セ ク シ ョ ン を 参 照 す る こ と 。
−nbfda
, −−dont−break−function−decl−args 関 数 宣 言 の 各 引 き 数 を 別 々 の 行 に 置 か な い 。 「 宣 言 」 セ ク シ ョ ン を 参 照 す る こ と 。
−ncdb
, −−no−comment−delimiters−on−blank−lines 空 行 に コ メ ン ト 区 切 り 文 字 を 置 か な い 。 「 コ メ ン ト 」 セ ク シ ョ ン を 参 照 す る こ と 。
−ncdw
, −−dont−cuddle−do−while

do {} while;}while を 同 じ 行 に 並 べ な い 。 「 」 セ ク シ ョ ン を 参 照 す る こ と 。

−nce, −−dont−cuddle−else }else を 同 じ 行 に 並 べ な い 。 「 」 セ ク シ ョ ン を 参 照 す る こ と 。
−ncs
, −−no−space−after−casts キ ャ ス ト 演 算 子 の 後 に 空 白 を 置 か な い 。 「 」 セ ク シ ョ ン を 参 照 す る こ と 。
−nfc1
, −−dont−format−first−column−comments 最 初 の カ ラ ム か ら 始 ま る コ メ ン ト を 通 常 の よ う に 整 形 し な い 。 「 コ メ ン ト 」 セ ク シ ョ ン を 参 照 す る こ と 。
−nfca
, −−dont−format−comments ど の よ う な コ メ ン ト も 整 形 し な い 。 「 コ メ ン ト 」 セ ク シ ョ ン を 参 照 す る こ と 。
−nhnl
, −−ignore−newlines 入 力 フ ァ イ ル で 改 行 が 入 っ て い る 位 置 で 長 い 行 を 折 り 返 さ な い よ う に す る 。 「 長 い 行 の 折 り 返 し 」 セ ク シ ョ ン を 参 照 す る こ と 。
−nip
, −−no−parameter−indentation パ ラ メ ー タ の イ ン デ ン ト 幅 を 0 に す る 。 「 イ ン デ ン ト 付 け 」 セ ク シ ョ ン を 参 照 す る こ と 。
−nlp
, −−dont−line−up−parentheses 括 弧 の 位 置 を 揃 え な い 。 「 」 セ ク シ ョ ン を 参 照 す る こ と 。
−npcs
, −−no−space−after−function−call−names 関 数 呼 び 出 し 内 部 の 関 数 の 後 に 空 白 を 置 か な い 。 「 」 セ ク シ ョ ン を 参 照 す る こ と 。
−nprs
, −−no−space−after−parentheses

´(´ の 後 と ´)´ の 前 に 空 白 を 置 か な い 。 「 」 セ ク シ ョ ン を 参 照 す る こ と 。

−npsl, −−dont−break−procedure−type 手 続 き の 型 を 名 前 と 同 じ 行 に 置 く 。 「 宣 言 」 セ ク シ ョ ン を 参 照 す る こ と 。
−nsaf
, −−no−space−after−for

for の 後 に 空 白 を 置 か な い 。 「 」 セ ク シ ョ ン を 参 照 す る こ と 。

−nsai, −−no−space−after−if

if の 後 に 空 白 を 置 か な い 。 「 」 セ ク シ ョ ン を 参 照 す る こ と 。

−nsaw, −−no−space−after−while

while の 後 に 空 白 を 置 か な い 。 「 」 セ ク シ ョ ン を 参 照 す る こ と 。

−nsc, −−dont−star−comments

`*´ 文 字 を コ メ ン ト の 左 に 置 か な い 。 「 コ メ ン ト 」 セ ク シ ョ ン を 参 照 す る こ と 。

−nsob, −−leave−optional−blank−lines 余 計 な 空 行 を 削 除 し な い 。 「 空 行 」 セ ク シ ョ ン を 参 照 す る こ と 。
−nss
, −−dont−space−special−semicolon 特 定 の 文 の 後 の セ ミ コ ロ ン の 前 に 空 白 を 置 か な い 。 `−ss´ を 無 効 に す る 。 「 」 セ ク シ ョ ン を 参 照 す る こ と 。
−nut
, −−no−tabs タ ブ で は な く 空 白 を 使 う 。 「 イ ン デ ン ト 付 け 」 セ ク シ ョ ン を 参 照 す る こ と 。
−nv
, −−no−verbosity 詳 細 表 示 モ ー ド を 無 効 に す る 。 「 そ の 他 の オ プ シ ョ ン 」 セ ク シ ョ ン を 参 照 す る こ と 。
−orig
, −−original オ リ ジ ナ ル の Berkeley コ ー デ ィ ン グ ス タ イ ル を 使 用 す る 。 「 一 般 的 な ス タ イ ル 」 セ ク シ ョ ン を 参 照 す る こ と 。
−npro
, −−ignore−profile

`.indent.pro´ フ ァ イ ル を 読 み 込 ま な い 。 「 indent の 起 動 」 セ ク シ ョ ン を 参 照 す る こ と 。

−pcs, −−space−after−procedure−calls 呼 び 出 さ れ る 手 続 き の 名 前 と ’(’ の 間 に 空 白 を 挿 入 す る 。 「 」 セ ク シ ョ ン を 参 照 す る こ と 。
−pi
n, −−paren−indentationn 文 が 不 完 全 な 場 合 に 使 わ れ る 開 括 弧 ´(´ ご と の 追 加 の イ ン デ ン ト を 指 定 す る 。 「 」 セ ク シ ョ ン を 参 照 す る こ と 。
−pmt
, −−preserve−mtime 出 力 フ ァ イ ル の ア ク セ ス 時 刻 と 修 正 時 刻 を 保 存 す る 。 「 そ の 他 の オ プ シ ョ ン 」 セ ク シ ョ ン を 参 照 す る こ と 。
−prs
, −−space−after−parentheses

´(´ の 後 と ´)´ の 前 に 空 白 を 置 く 。 「 」 セ ク シ ョ ン を 参 照 す る こ と 。

−psl, −−procnames−start−lines 手 続 き の 型 を 名 前 と 同 じ 行 に 置 く 。 「 宣 言 」 セ ク シ ョ ン を 参 照 す る こ と 。
−saf
, −−space−after−for

for の 後 に ス ペ ー ス を 置 く 。 「 」 セ ク シ ョ ン を 参 照 す る こ と 。

−sai, −−space−after−if

if の 後 に ス ペ ー ス を 置 く 。 「 」 セ ク シ ョ ン を 参 照 す る こ と 。

−saw, −−space−after−while

while の 後 に ス ペ ー ス を 置 く 。 「 」 セ ク シ ョ ン を 参 照 す る こ と 。

−sbin, −−struct−brace−indentationn

stract, union, enum の ブ レ ー ス を n 個 の 空 白 で イ ン デ ン ト す る 。 」 セ ク シ ョ ン を 参 照 す る こ と 。

−sc, −−start−left−side−of−comments

`*´ 文 字 を コ メ ン ト の 左 に 置 く 。 「 コ メ ン ト 」 セ ク シ ョ ン を 参 照 す る こ と 。

−sob, −−swallow−optional−blank−lines 余 計 な 空 行 を 取 り 除 く 。 「 空 行 」 セ ク シ ョ ン を 参 照 す る こ と 。
−ss
, −−space−special−semicolon

1 行 で 記 述 し た for 文 と while 文 に お い て 、 セ ミ コ ロ ン の 前 に 空 白 を 置 く 。 「 」 セ ク シ ョ ン を 参 照 す る こ と 。

−st, −−standard−output 標 準 出 力 に 書 き 出 す 。 「 indent の 起 動 」 セ ク シ ョ ン を 参 照 す る こ と 。

−T 型 名 の 名 前 を

indent に 指 定 す る 。

宣 言 」 セ ク シ ョ ン を 参 照 す る こ と 。

−tsn, −−tab−sizen タ ブ の 幅 を 空 白 n 個 に 設 定 す る 。 「 イ ン デ ン ト 付 け 」 セ ク シ ョ ン を 参 照 す る こ と 。
−ut
, −−use−tabs タ ブ を 使 う 。 こ れ が デ フ ォ ル ト で あ る 。 「 イ ン デ ン ト 付 け 」 セ ク シ ョ ン を 参 照 す る こ と 。
−v
, −−verbose 詳 細 表 示 モ ー ド を 有 効 に す る 。 「 そ の 他 の オ プ シ ョ ン 」 セ ク シ ョ ン を 参 照 す る こ と 。
−version

indent の バ ー ジ ョ ン 番 号 を 表 示 す る 。 「 そ の 他 の オ プ シ ョ ン 」 セ ク シ ョ ン を 参 照 す る こ と 。

indent の 起 動

バ ー ジ ョ ン 1.3 か ら は 、 indent コ マ ン ド の 書 式 は 以 下 の よ う に な っ て い る :

indent [options] [input−files]

indent [options] [single−input−file] [−o output−file] こ の 書 式 は 古 い バ ー ジ ョ ン や 他 バ ー ジ ョ ン の indent と 異 な る 。 最 初 の 書 式 で は 1 つ 以 上 の 入 力 フ ァ イ ル を 指 定 す る 。 indent は 、 各 フ ァ イ ル の バ ッ ク ア ッ プ コ ピ ー を 作 成 し て か ら 、 オ リ ジ ナ ル の フ ァ イ ル を イ ン デ ン ト 付 け し た も の に 置 き 換 え る 。 バ ッ ク ア ッ プ の 作 り 方 に つ い て は 、 「 バ ッ ク ア ッ プ フ ァ イ ル 」 セ ク シ ョ ン を 参 照 す る こ と 。

2 番 目 の 書 式 で は 入 力 フ ァ イ ル を 1 つ だ け 指 定 す る 。 こ の 場 合 、 ま た は 標 準 入 力 を 使 う 場 合 に は 、 `−o´ オ プ シ ョ ン の 後 に 出 力 フ ァ イ ル を 指 定 す る こ と が で き る 。

indent に 標 準 出 力 へ 出 力 さ せ る に は `−st´ オ プ シ ョ ン を 使 う 。 こ れ が 許 さ れ る の は 、 入 力 フ ァ イ ル が 1 つ だ け の 場 合 か 、 標 準 入 力 を 使 う 場 合 だ け で あ る 。 入 力 フ ァ イ ル を 指 定 し な け れ ば 入 力 は 標 準 入 力 か ら 読 み 込 ま れ る 。 ま た 、 `−´ と い う フ ァ イ ル 名 が 指 定 さ れ た 場 合 に も 標 準 入 力 が 読 み 込 ま れ る 。 使 用 例 と し て は 、 以 下 の コ マ ン ド は い ず れ も プ ロ グ ラ ム `slithy_toves.c´ を 読 み 込 み 、 イ ン デ ン ト 付 け し た テ キ ス ト を `slithy_toves.out´ に 書 き 込 む :

indent slithy_toves.c −o slithy_toves.out

indent −st slithy_toves.c > slithy_toves.out

cat slithy_toves.c | indent −o slithy_toves.out

indent の 他 の オ プ シ ョ ン の ほ と ん ど は 、 プ ロ グ ラ ム を ど の よ う に 整 形 す る か を 制 御 す る た め の も の で あ る 。 バ ー ジ ョ ン 1.2 か ら は 、 indent は 各 オ プ シ ョ ン 名 と し て 長 い 名 前 も 認 識 す る 。 長 い オ プ シ ョ ン の 前 に は `−−´ か `+´ が 置 か れ る 。 [POSIX 標 準 と 一 貫 性 を 持 た せ る た め 、 現 在 は `+´ を `−−´ に 置 き 換 え よ う と し て い る と こ ろ で あ る 。 ] 本 ド キ ュ メ ン ト の 大 部 分 で は 、 簡 潔 に 表 現 す る た め に 伝 統 的 な 短 い 名 前 を 使 っ て い る 。 長 い オ プ シ ョ ン 名 と 短 い オ プ シ ョ ン 名 の リ ス ト は 、 「 オ プ シ ョ ン の 概 要 」 を 参 照 す る こ と 。 別 の 使 用 例 を 挙 げ る :

indent −br test/metabolism.c −l85 こ れ に よ り 、 プ ロ グ ラ ム `test/metabolism.c´ が `−br´ オ プ シ ョ ン と `−l85´ オ プ シ ョ ン を 用 い て イ ン デ ン ト 付 け さ れ 、 そ の 出 力 が `test/metabolism.c´ に 重 ね 書 き さ れ 、 元 の `test/metabolism.c´ の 内 容 は `test´ デ ィ レ ク ト リ に バ ッ ク ア ッ プ フ ァ イ ル と し て 書 き 込 ま れ る 。 こ の 例 と 同 じ 指 定 を 長 い オ プ シ ョ ン 名 を 用 い て 行 う と 以 下 の よ う に な る :

indent −−braces−on−if−line −−line−length185 test/metabolism.c

indent +braces−on−if−line +line−length185 test/metabolism.c

indent を 頻 繁 に 同 じ オ プ シ ョ ン で 使 う な ら ば 、 こ れ ら を `.indent.pro´ と い う フ ァ イ ル に 書 い て お く と よ い 。 indent は 3 つ の 場 所 で プ ロ フ ァ イ ル フ ァ イ ル を 探 す 。 最 初 に 環 境 変 数 INDENT_PROFILE が あ る か を チ ェ ッ ク す る 。 こ の 環 境 変 数 が あ る 場 合 、 そ の 値 を 使 用 す る フ ァ イ ル の 名 前 と し て 解 釈 す る 。 こ の 環 境 変 数 が な い 場 合 、 indent は カ レ ン ト デ ィ レ ク ト リ の `.indent.pro´ を 探 し 、 も し 存 在 す れ ば こ れ を 使 う 。 indent は 最 後 に ホ ー ム デ ィ レ ク ト リ の `.indent.pro´ を 探 し 、 も し 存 在 す れ ば こ れ を 使 う 。 こ の 動 作 は 従 来 の バ ー ジ ョ ン や 別 バ ー ジ ョ ン の indent と 異 な る 。 こ れ ら は 、 両 方 の デ ィ レ ク ト リ に `.indent.pro´ フ ァ イ ル が あ れ ば 、 両 方 と も 使 用 す る 。

`.indent.pro´ の 書 式 は 、 コ マ ン ド ラ イ ン に 指 定 す る の と 同 じ く 、 空 白 (タ ブ 、 ス ペ ー ス 、 改 行 ) で 区 切 ら れ た 単 な る オ プ シ ョ ン の リ ス ト で あ る 。 `.indent.pro´ の オ プ シ ョ ン は 、 C ま た は C++ の コ メ ン ト で 囲 む こ と が で き る 。 コ メ ン ト で 囲 ん だ オ プ シ ョ ン は 無 視 さ れ る 。 コ マ ン ド ラ イ ン オ プ シ ョ ン が 処 理 さ れ る の は 、 `.indent.pro´ を 処 理 し た で あ る 。 後 か ら 指 定 し た オ プ シ ョ ン は 、 前 に 指 定 し た 引 き 数 を 上 書 き す る 。 こ れ に は 例 外 が 1 つ あ る : 明 示 的 に 指 定 し た オ プ シ ョ ン は 暗 黙 の オ プ シ ョ ン を 必 ず 上 書 き す る (「 一 般 的 な ス タ イ ル 」 を 参 照 )。 `−npro´ オ プ シ ョ ン を 指 定 す る こ と に よ り 、 indent が `.indent.pro´ フ ァ イ ル を 読 み 込 ま な い よ う に す る こ と が で き る 。

バ ッ ク ア ッ プ フ ァ イ ル

バ ー ジ ョ ン 1.3 か ら は 、 GNU indent は GNU 形 式 、 す な わ ち GNU Emacs と 同 様 の 方 法 で バ ッ ク ア ッ プ フ ァ イ ル を 作 成 す る 。 つ ま り 、 単 純 な バ ッ ク ア ッ プ フ ァ イ ル と 番 号 付 き の バ ッ ク ア ッ プ フ ァ イ ル を ど ち ら も 作 成 で き る 。 単 純 な バ ッ ク ア ッ プ フ ァ イ ル の 名 前 は 、 元 の フ ァ イ ル 名 に サ フ ィ ッ ク ス を 追 加 し て 生 成 さ れ る 。 こ の サ フ ィ ッ ク ス の デ フ ォ ル ト 値 は 、 1 文 字 か ら な る 文 字 列 `~´ (チ ル ダ )で あ る 。 し た が っ て 、 `python.c´ の バ ッ ク ア ッ プ フ ァ イ ル は `python.c~´ と な る 。 環 境 変 数 SIMPLE_BACKUP_SUFFIX に 好 き な 文 字 列 を 設 定 す る こ と に よ り 、 デ フ ォ ル ト 値 以 外 の 任 意 の 文 字 列 を サ フ ィ ッ ク ス と し て 使 用 で き る 。 フ ァ イ ル `momeraths.c´ の 番 号 付 き バ ッ ク ア ッ プ は 、 `momeraths.c.~23~´ の よ う に な る 。 こ こ で 、 23 は こ の フ ァ イ ル の バ ッ ク ア ッ プ の バ ー ジ ョ ン で あ る 。 フ ァ イ ル `src/momeraths.c´ の バ ッ ク ア ッ プ を 作 成 す る と き 、 バ ッ ク ア ッ プ フ ァ イ ル の 名 前 は `src/momeraths.c.~V~´ の よ う に な る 。 こ こ で 、 V は デ ィ レ ク ト リ `src´ に 現 在 あ る 最 も 大 き い バ ー ジ ョ ン よ り 1 大 き い 数 字 で あ る 。 環 境 変 数 VERSION_WIDTH は 、 必 要 に 応 じ て 左 側 に 0 を 追 加 す る こ と に よ り 、 数 字 の 桁 数 を 制 御 す る 。 例 え ば こ の 変 数 を "2" に 設 定 す る と 、 バ ッ ク ア ッ プ フ ァ イ ル の 名 前 は `momeraths.c.~04~´ の よ う に な る 。 ど ち ら の 方 法 で バ ッ ク ア ッ プ フ ァ イ ル を 作 る か は 、 環 境 変 数 VERSION_CONTROL で 制 御 す る 。 こ の 文 字 列 が `simple´ な ら ば 、 単 純 な バ ッ ク ア ッ プ だ け が 作 成 さ れ る 。 こ の 値 が `numbered´ な ら ば 、 番 号 付 き バ ッ ク ア ッ プ が 作 成 さ れ る 。 こ の 値 が `numbered−existing´ な ら ば 、 イ ン デ ン ト 付 け す る フ ァ イ ル の 番 号 付 き の バ ッ ク ア ッ プ が 既 に あ る 場 合 に 、 番 号 付 き バ ッ ク ア ッ プ が 作 成 さ れ る 。 そ れ 以 外 の 場 合 に は 、 単 純 な バ ッ ク ア ッ プ が 作 成 さ れ る 。 VERSION_CONTROL が 設 定 さ れ て い な け れ ば 、 indent は `numbered−existing´ が 指 定 さ れ て い る も の と し て 動 作 す る 。 別 バ ー ジ ョ ン の indent は 、 サ フ ィ ッ ク ス `.BAK´ を 使 っ て バ ッ ク ア ッ プ フ ァ イ ル の 名 前 を 生 成 す る 。 こ の 動 作 は 、 SIMPLE_BACKUP_SUFFIX に `.BAK´ を 設 定 す る こ と に よ り エ ミ ュ レ ー ト す る こ と が で き る 。 別 バ ー ジ ョ ン の indent は 、 現 在 の GNU indent が 行 う よ う に ソ ー ス フ ァ イ ル が あ る デ ィ レ ク ト リ に バ ッ ク ア ッ プ を 作 成 す る の で は な く 、 カ レ ン ト デ ィ レ ク ト リ に バ ッ ク ア ッ プ を 作 成 す る 点 に も 注 意 す る こ と 。

一 般 的 な ス タ イ ル

C 言 語 に は 一 般 的 な ス タ イ ル が い く つ か あ る 。 例 え ば 、 GNU ス タ イ ル 、 Kernighan & Ritchie ス タ イ ル 、 オ リ ジ ナ ル の Berkeley ス タ イ ル 等 で あ る 。 ス タ イ ル は バ ッ ク グ ラ ウ ン ド オ プ シ ョ ン 1 つ を 使 っ て 選 択 す る こ と が で き る 。 こ の オ プ シ ョ ン は 、 他 の オ プ シ ョ ン 全 て の 値 を 指 定 す る 。 た だ し 、 明 示 的 に 指 定 し た オ プ シ ョ ン は 、 暗 黙 的 に 指 定 さ れ た オ プ シ ョ ン よ り も 必 ず 優 先 さ れ る 。 バ ー ジ ョ ン 1.2 か ら は 、 GNU indent の デ フ ォ ル ト の ス タ イ ル は GNU ス タ イ ル で あ る 。 し た が っ て 、 こ の フ ォ ー マ ッ ト で 出 力 す る た め に `−gnu´ オ プ シ ョ ン を 指 定 す る 必 要 は な く な っ た 。 た だ し 、 こ の オ プ シ ョ ン を 指 定 し て も エ ラ ー に は な ら な い 。 GNU ス タ イ ル に 対 応 す る オ プ シ ョ ン 設 定 は 以 下 で あ る :

−nbad −bap −nbc −bbo −bl −bli2 −bls −ncdb −nce −cp1 −cs −di2
−ndj −nfc1 −nfca −hnl −i2 −ip5 −lp −pcs −nprs −psl −saf −sai
−saw −nsc −nsob

GNU コ ー デ ィ ン グ ス タ イ ル は GNU プ ロ ジ ェ ク ト で 推 奨 さ れ て い る 。 こ れ は GNU Emacs の C モ ー ド が 適 用 し よ う と す る ス タ イ ル で あ り 、 GNU Emacs の C で 記 述 さ れ た 部 分 で 使 わ れ て い る ス タ イ ル で あ る 。 (GNU プ ロ ジ ェ ク ト の た め に プ ロ グ ラ ム を 書 く こ と に 興 味 が あ る 方 は 、 「 GNU コ ー デ ィ ン グ 規 約 (The GNU Coding Standards)」 を 入 手 さ れ た い 。 こ の 文 書 で は 、 メ モ リ の 使 い 方 や 整 数 の サ イ ズ 等 、 セ マ ン テ ィ ッ ク や 移 植 性 に つ い て も 説 明 さ れ て い る 。 )

Kernighan & Ritchie ス タ イ ル は 有 名 な 書 籍 「 プ ロ グ ラ ミ ン グ 言 語 C (The C Programming Language)」 で 使 わ れ て い る 。 こ れ は `−kr´ オ プ シ ョ ン で 有 効 と な る 。 Kernighan & Ritchie ス タ イ ル は 、 以 下 の オ プ シ ョ ン の 組 合 せ と 同 等 で あ る :

−nbad −bap −bbo −nbc −br −brs −c33 −cd33 −ncdb −ce −ci4 −cli0
−cp33 −cs −d0 −di1 −nfc1 −nfca −hnl −i4 −ip0 −l75 −lp −npcs
−nprs −npsl −saf −sai −saw −nsc −nsob −nss

Kernighan & Ritchie ス タ イ ル で は 、 コ ー ド が あ る 行 の 右 の 部 分 に コ メ ン ト が 入 れ ら れ る こ と は な い (コ ー ド の 右 に 空 白 を 1 つ だ け 入 れ る こ と も な い )。 し た が っ て 、 こ の ス タ イ ル の カ ラ ム 数 33 と い う の は indent が 勝 手 に 決 め た も の で あ る : オ リ ジ ナ ル の Berkeley 版 indent の ス タ イ ル は 、 `−orig´ (ま た は 長 い オ プ シ ョ ン 名 `−−original´)を 指 定 す れ ば 得 ら れ る 。 こ の ス タ イ ル は 、 以 下 の 設 定 と 同 じ 意 味 で あ る :

−nbad −nbap −bbo −bc −br −brs −c33 −cd33 −cdb −ce −ci4 −cli0
−cp33 −di16 −fc1 −fca −hnl −i4 −ip4 −l75 −lp −npcs −nprs −psl
−saf −sai −saw −sc −nsob −nss −ts8

空 行

各 種 プ ロ グ ラ ミ ン グ ス タ イ ル ご と に 、 空 白 は 異 な る 場 所 に 置 か れ る 。 indentに は 、 特 定 の 場 所 に 空 白 行 を 挿 入 ・ 削 除 す る た め の オ プ シ ョ ン が た く さ ん あ る 。

`−bad´ オ プ シ ョ ン を 指 定 す る と 、 indent は 宣 言 ブ ロ ッ ク 全 て の 後 に 必 ず 空 行 を 置 く 。 `−nbad´ オ プ シ ョ ン を 指 定 す る と 、 こ の よ う な 空 白 行 は 置 か れ な い 。

`−bap´ オ プ シ ョ ン を 指 定 す る と 、 手 続 き 本 体 全 て の 後 に 必 ず 空 行 が 置 か れ る 。 `−nbap´ オ プ シ ョ ン を 指 定 す る と 、 こ の よ う な 空 行 は 置 か れ な い 。

`−bbb´ オ プ シ ョ ン を 指 定 す る と 、 箱 形 コ メ ン ト 全 て の 前 に 必 ず 空 行 が 置 か れ る (箱 形 コ メ ン ト に つ い て は 「 コ メ ン ト 」 セ ク シ ョ ン を 参 照 す る こ と )。 `−nbbb´ オ プ シ ョ ン を 指 定 す る と 、 こ の よ う な 空 行 は 置 か れ な い 。

`−sob´ を 指 定 す る と 、 indent は 省 略 で き る 空 行 を 飲 み 込 ん で し ま う (つ ま り 、 入 力 行 に 含 ま れ る 省 略 で き る 空 行 が 出 力 か ら 全 て 削 除 さ れ る )。 `−nsob´ を 指 定 す る と 、 入 力 行 に 含 ま れ る 空 行 は 出 力 フ ァ イ ル に も 全 て コ ピ ー さ れ る 。

−−blank−lines−after−declarations

`−bad´ オ プ シ ョ ン を 指 定 す る と 、 宣 言 ブ ロ ッ ク の 後 に 必 ず 空 行 が 置 か れ る 。 `−nbad´ オ プ シ ョ ン を 指 定 す る と 、 こ の よ う な 空 行 は 追 加 さ れ な い 。 例 え ば 、 以 下 の 入 力 を 与 え る と

char *foo;
char *bar;
/* こ の コ メ ン ト は 宣 言 の ブ ロ ッ ク を 分 け て い る */
int baz;

indent −bad の 出 力 は 以 下 の よ う に な る 。

char *foo;
char *bar;

/* こ の コ メ ン ト は 宣 言 の ブ ロ ッ ク を 分 け て い る */
int baz; ま た 、 indent −nbad の 出 力 は 以 下 の よ う に な る 。

char *foo;
char *bar;
/* こ の コ メ ン ト は 宣 言 の ブ ロ ッ ク を 分 け て い る */
int baz;

−−blank−lines−after−procedures

`−bap´ オ プ シ ョ ン を 指 定 す る と 、 そ れ ぞ れ の 宣 言 本 体 の 後 に 必 ず 空 行 が 置 か れ る 。 例 え ば 、 以 下 の 入 力 を 与 え る と

int
foo ()
{
puts("Hi"); }
/* こ の 手 続 き bar に は 意 味 は な い */
char *
bar ()
{
puts("Hello"); }

indent −bap の 出 力 は 以 下 と な る 。

int
foo ()
{
puts ("Hi"); }

/* こ の 手 続 き bar に は 意 味 は な い */
char *
bar ()
{
puts ("Hello"); } ま た 、 indent −nbap の 出 力 は 以 下 と な る 。

int
foo ()
{
puts ("Hi"); }
/* こ の 手 続 き bar に は 意 味 は な い */
char *
bar ()
{
puts ("Hello"); } 手 続 き foo の 後 に は 空 行 は 追 加 さ れ な い 。

コ メ ン ト

indent は C と C++ の コ メ ン ト を 整 形 す る 。 C の コ メ ン ト は `/*´ で 始 ま っ て `*/´ で 終 り 、 改 行 文 字 を 含 ん で も よ い 。 C++ の コ メ ン ト は 区 切 り 文 字 `//´ で 始 ま り 改 行 で 終 る 。

indent は コ メ ン ト の 文 脈 に よ っ て 別 々 の 扱 い 方 を す る 。 indent は 文 ・ 宣 言 ・ プ リ プ ロ セ ッ サ デ ィ レ ク テ ィ ブ が 後 に 続 く コ メ ン ト と ど の コ ー ド の 前 に も 置 か れ て い な い コ メ ン ト を 区 別 す る 。 ど の コ ー ド の 前 に も 置 か れ て い な い コ メ ン ト と は 、 行 が 開 始 さ れ る コ メ ン ト の こ と で あ る (カ ラ ム 1 か ら 始 ま っ て い る 必 要 は な い )。 さ ら に indent は 手 続 き や 集 合 体 の 外 側 に あ る コ メ ン ト と 内 側 に あ る コ メ ン ト を 区 別 す る 。 特 に 手 続 き の 内 側 で 行 の 最 初 に あ る コ メ ン ト は 、 コ ー ド が 現 在 イ ン デ ン ト さ れ て い る カ ラ ム に イ ン デ ン ト さ れ る 。 最 も 左 側 の カ ラ ム か ら 始 ま る コ メ ン ト は 例 外 で あ り 、 コ メ ン ト は そ の カ ラ ム か ら 出 力 さ れ る 。

indent箱 形 コ メ ン ト を 変 更 し な い 。 `*´ や `−´ で 四 角 形 や 「 箱 形 」 に 囲 ん だ コ メ ン ト は 、 他 か ら 視 覚 的 に 区 別 し た い と い う 一 般 的 な 意 図 が あ る た め で あ る 。 も っ と 正 確 に 言 う と 、 箱 形 コ メ ン ト は 次 の よ う に 定 義 さ れ る 。 最 初 の `/*´ の 直 後 に 文 字 `*´, `=´, `_´, `−´ が 続 い て い る か 、 コ メ ン ト 開 始 区 切 り 文 字 (`/*´) だ け の 行 が あ り 、 以 降 の 行 は コ メ ン ト 開 始 区 切 り 文 字 の `*´ と 同 じ カ ラ ム か ら `*´ で 行 が 開 始 さ れ る 。 箱 形 コ メ ン ト の 例 を 示 す :

/**********************
* 箱 の 中 の コ メ ン ト !! *
**********************/

/*
* 別 な 種 類 の コ メ ン ト に は 、
* 別 な 形 式 を 使 う 。
*/

indent は 箱 形 の コ メ ン ト を ソ ー ス フ ァ イ ル の 中 に 見 つ か っ た 場 所 に 残 し て お く 。 よ っ て コ メ ン ト の イ ン デ ン ト 付 け は 変 わ ら ず 、 そ の 長 さ も ど ち ら に し て も 変 わ ら な い 。 別 な モ ー ド で は 、 埋 め 込 ま れ た タ ブ 文 字 が 適 切 な 数 の 空 白 に 変 換 さ れ る だ け で あ る 。

`−bbb´ オ プ シ ョ ン が 指 定 さ れ た 場 合 、 箱 形 コ メ ン ト が コ ー ド の 前 に 置 か れ て い な い と き は 、 箱 形 コ メ ン ト の 後 に 空 行 を 置 く 。 箱 形 で な い コ メ ン ト は 整 形 さ れ る 。 こ れ は 、 行 が 右 端 に 合 う よ う に 折 り 返 さ れ 、 左 側 は 空 白 で 埋 め ら れ る と い う 意 味 で あ る 。 1 つ の 改 行 文 字 は 空 白 と 同 じ で あ る が 、 (1 行 に 2 つ 以 上 の 改 行 文 字 が あ る ) 空 行 は パ ラ グ ラ フ の 切 れ 目 と し て 解 釈 さ れ る 。 最 初 の カ ラ ム の 後 か ら 始 ま る コ メ ン ト の 整 形 は 、 `−fca´ オ プ シ ョ ン で 有 効 に な る 。 カ ラ ム 1 か ら 始 ま る コ メ ン ト を 整 形 す る に は 、 `−fc1´ を 指 定 す る 。 こ の よ う な 整 形 は 、 デ フ ォ ル ト で は 無 効 に さ れ て い る 。 整 形 す る 際 の 右 端 は 、 デ フ ォ ル ト で は 78 で あ る が 、 `−lc´ オ プ シ ョ ン で 変 更 で き る 。 指 定 さ れ た 右 端 ま で で コ メ ン ト が 表 示 で き な い 場 合 、 コ メ ン ト の 終 り ま で 右 端 が 自 動 的 に 拡 張 さ れ る 。 コ メ ン ト が 整 形 さ れ な い 場 合 、 右 端 の 位 置 は 守 ら れ な い 。 コ メ ン ト で 行 が 開 始 さ れ る 場 合 (つ ま り 、 コ メ ン ト の 左 側 に プ ロ グ ラ ム の 文 字 列 が な い 場 合 )、 コ メ ン ト が コ ー ド の ブ ロ ッ ク 中 に な け れ ば 、 そ の コ メ ン ト が あ っ た カ ラ ム に イ ン デ ン ト さ れ る 。 こ の 場 合 、 (最 初 の カ ラ ム か ら コ メ ン ト が 開 始 さ れ て い な け れ ば ) そ の ブ ロ ッ ク の イ ン デ ン ト さ れ た コ ー ド に コ メ ン ト の 左 端 を 揃 え る 。 揃 え る 位 置 は `−d´ オ プ シ ョ ン で 変 更 可 能 で 、 何 カ ラ ム へ 移 動 す る か を 指 定 す る 。 指 定 さ れ な い 場 合 は 、 イ ン デ ン ト さ れ な い 。 例 え ば 、 `−d2´ で は コ ー ド か ら 左 へ 空 白 2 個 の 位 置 に コ メ ン ト を 置 く 。 デ フ ォ ル ト で は コ ー ド に コ メ ン ト の 左 端 を 揃 え る 。 た だ し 、 コ メ ン ト が 最 初 の カ ラ ム か ら 開 始 さ れ て い る 場 合 、 デ フ ォ ル ト で は イ ン デ ン ト さ れ な い 。 最 初 の カ ラ ム か ら 始 ま る コ メ ン ト を コ ー ド に 左 揃 え し た い 場 合 は 、 `−fc1´ を 指 定 す る こ と 。 コ ー ド の 右 側 に あ る コ メ ン ト は 、 デ フ ォ ル ト で は カ ラ ム 33 に イ ン デ ン ト さ れ る 。 こ れ は 次 の 3 つ の オ プ シ ョ ン の い ず れ か で 変 更 で き る 。 `−c´ は コ ー ド の 後 の コ メ ン ト の カ ラ ム を 指 定 す る 。 `−cd´ は 宣 言 の 後 の コ メ ン ト の カ ラ ム を 指 定 す る 。 `−cp´ は プ リ プ ロ セ ッ サ デ ィ レ ク テ ィ ブ #else#endif の 後 の コ メ ン ト の カ ラ ム を 指 定 す る 。 コ メ ン ト の 左 側 に あ る コ ー ド が 最 初 の カ ラ ム か ら 開 始 さ れ て い な い 場 合 、 コ ー ド の 終 り の 次 の タ ブ ス ト ッ プ の 位 置 か ら コ メ ン ト カ ラ ム が 開 始 さ れ る 。 プ リ プ ロ セ ッ サ デ ィ レ ク テ ィ ブ が 最 初 の カ ラ ム か ら 開 始 さ れ て い な い 場 合 、 デ ィ レ ク テ ィ ブ の 終 り の 1 カ ラ ム 後 か ら コ メ ン ト カ ラ ム が 開 始 さ れ る 。 こ の 拡 張 は こ の よ う な 特 定 の カ ラ ム の 出 力 に 対 し て の み 適 応 さ れ る 。

`−cdb´ オ プ シ ョ ン を 指 定 す る と 、 コ メ ン ト 区 切 り 文 字 を 空 行 に 置 く 。 よ っ て /* Loving hug */ の よ う な 1 行 の コ メ ン ト は 、 以 下 の よ う に 変 換 さ れ る 。

/*
Loving hug
*/

`−sc´ オ プ シ ョ ン を 指 定 す る と 、 複 数 行 コ メ ン ト の 始 め に `*´ を 置 く こ と が で き る 。 上 記 の 1 行 の コ メ ン ト は (`−cdb −sc´ に よ り ) 以 下 の よ う に 変 換 さ れ る 。

/*
* Loving hug
*/

`−br´ ま た は `−bl´ オ プ シ ョ ン は 、 ブ レ ー ス を ど の よ う に 整 形 す る か を 指 定 す る 。

`−br´ オ プ シ ョ ン を 指 定 す る と ブ レ ー ス は 以 下 の よ う に 整 形 さ れ る :

if (x > 0) {
x−−; }

`−bl´ オ プ シ ョ ン を 指 定 す る と ブ レ ー ス は 以 下 の よ う に 整 形 さ れ る :

if (x > 0)
{
x−−; }

`−bl´ オ プ シ ョ ン を 使 う 場 合 に は `−bli´ オ プ シ ョ ン も 使 う と よ い 。 こ の オ プ シ ョ ン は ブ レ ー ス の イ ン デ ン ト 付 け に 使 う 空 白 の 数 を 指 定 す る 。 `−bli2´ (デ フ ォ ル ト 値 )を 指 定 す る と 、 先 に 示 し た 結 果 と な る 。 `−bli0´ を 指 定 し た 場 合 の 結 果 は 以 下 で あ る :

if (x > 0)
{
x−−; }

`−br´ オ プ シ ョ ン を 使 う 場 合 に は 、 多 分 `−ce´ も 使 い た く な る だ ろ う 。 こ の オ プ シ ョ ン は if−then−else 構 文 の else を 直 前 の `}´ に 隣 に 置 く 。 例 え ば `−br −ce´ を 指 定 す る と 、 出 力 は 以 下 の よ う に な る :

if (x > 0) {
x−−; }
else {
fprintf (stderr, "...something wrong?\n"); } 同 じ コ ー ド で `−br −nce´ を 指 定 す る と 以 下 の よ う に な る :

if (x > 0) {
x−−; }
else {
fprintf (stderr, "...something wrong?\n"); } こ れ に よ り do−while ル ー プ の while は 直 前 の `}´ と 同 じ 行 に 置 か れ る 。 例 え ば `−cdw´ に よ り 以 下 の よ う な 出 力 が 得 ら れ る 。

do {
x−−; }
while (x); 同 じ コ ー ド で `−ncdw´ を 指 定 す る と 以 下 の よ う に な る :

do {
x−−; }
while (x);

`−cli´ オ プ シ ョ ン は 、 case 構 文 の ラ ベ ル を switch 文 か ら 右 に イ ン デ ン ト す る 際 に 空 白 を い く つ 入 れ る か を 指 定 す る 。 デ フ ォ ル ト で は 以 下 の よ う な コ ー ド が 得 ら れ る 。

switch (i)
{
case 0:
break;
case 1:
{
++i; }
default:
break; }

`−cli2´ を 使 う と 以 下 の よ う に な る 。

switch (i)
{
case 0:
break;
case 1:
{
++i; }
default:
break; }

case 文 の 後 の ブ レ ー ス の イ ン デ ン ト は 、 `−cbin´ オ プ シ ョ ン で 制 御 で き る 。 例 え ば `−cli2 −cbi0´ を 使 う と 次 の よ う な 結 果 に な る 。

switch (i)
{
case 0:
break;
case 1:
{
++i; }
default:
break; } セ ミ コ ロ ン が for ま た は while 文 と 同 じ 行 に あ る 場 合 に `−ss´ を 指 定 す る と 、 空 白 が セ ミ コ ロ ン の 前 に 置 か れ る 。 こ れ に よ り セ ミ コ ロ ン が 強 調 さ れ 、 forwhile 文 の 本 体 が 空 の 文 で あ る こ と が は っ き り す る 。 `−nss´ を 指 定 す る と 、 こ の 機 能 は 無 効 に な る 。

`−pcs´ オ プ シ ョ ン を 指 定 す る と 、 呼 び 出 さ れ る 手 続 き の 名 前 と `(´ の 間 に 空 白 が 置 か れ る (例 え ば 、 puts ("Hi"); と な る 。 ま た 、 `−npcs´ オ プ シ ョ ン を 指 定 し て い る 場 合 に は puts("Hi");) と な る 。 )

`−cs´ オ プ シ ョ ン を 指 定 す る と 、 indent は キ ャ ス ト 演 算 子 の 後 に 空 白 を 置 く 。

`−bs´ オ プ シ ョ ン を 指 定 す る と 、 キ ー ワ ー ド sizeof と そ の 引 き 数 の 間 に 必 ず 空 白 が 置 か れ る 。 バ ー ジ ョ ン に よ っ て は 、 こ の 機 能 は `Bill_Shannon´ オ プ シ ョ ン と し て 知 ら れ て い る 。

`−saf´ オ プ シ ョ ン は for と そ の 後 の 括 弧 の 間 に 空 白 を 入 れ る 。 こ れ が デ フ ォ ル ト で あ る 。

`−sai´ オ プ シ ョ ン は if と そ の 後 の 括 弧 の 間 に 空 白 を 入 れ る 。 こ れ が デ フ ォ ル ト で あ る 。

`−saw´ オ プ シ ョ ン は while と そ の 後 の 括 弧 の 間 に 空 白 を 入 れ る 。 こ れ が デ フ ォ ル ト で あ る 。

`−prs´ オ プ シ ョ ン は 全 て の 括 弧 と そ の 間 に あ る も の の 間 に 空 白 を 置 く 。 例 え ば `−prs´ を 使 う と 以 下 の よ う な コ ー ド に な る 。

while ( ( e_code − s_code ) < ( dec_ind − 1 ) )
{
set_buf_break ( bb_dec_ind );
*e_code++ = ´ ´; }

宣 言

デ フ ォ ル ト で は 、 indent は `−di´ オ プ シ ョ ン で 指 定 し た カ ラ ム で 識 別 子 を 揃 え る 。 例 え ば 、 `−di16´ を 指 定 す る と 以 下 の よ う に な る :

int foo;
char *bar;

`−di´ オ プ シ ョ ン に 小 さ い 値 (1 や 2 な ど ) を 使 う と 、 置 く こ と が 可 能 な 最 初 の 場 所 に 識 別 子 を 置 く こ と が で き る 。 例 を 以 下 に 示 す :

int foo;
char *bar; こ の 場 合 で も 、 `−di´ オ プ シ ョ ン に 指 定 し た 値 は 型 指 定 と 異 な る 行 に 置 い た 変 数 に は 影 響 を 与 え る 。 例 え ば 、 `−di2´ を 指 定 す る と 以 下 の よ う に な る :

int
foo;

`−bc´ オ プ シ ョ ン を 指 定 す る と 、 宣 言 中 の コ ン マ の 後 に 改 行 が 置 か れ る 。 例 を 以 下 に 示 す :

int a,
b,
c; 同 じ コ ー ド で `−nbc´ オ プ シ ョ ン を 指 定 し た 場 合 は 以 下 の よ う に な る :

int a, b, c;

`−bfda´ オ プ シ ョ ン を 指 定 す る と 、 関 数 宣 言 の 引 き 数 の コ ン マ の 後 で 改 行 を 入 れ る 。 引 き 数 は 関 数 宣 言 よ り 1 段 深 く イ ン デ ン ト さ れ る 。 こ れ は 引 き 数 の リ ス ト が 長 い 場 合 に 特 に 役 立 つ 。 `−bfde´ オ プ シ ョ ン を 指 定 す る と 、 関 数 宣 言 の 閉 括 弧 の 前 に 改 行 を 入 れ る 。 2 つ の オ プ シ ョ ン と も ´n´ を 設 定 し た −nbdfa と −nbdfe が デ フ ォ ル ト に な る 。 例 え ば 、

void foo (int arg1, char arg2, int *arg3, long arg4, char arg5); は 、`−bfda´ オ プ シ ョ ン を 指 定 す る と 次 の よ う に な り 、

void foo (
int arg1,
char arg2,
int *arg3,
long arg4,
char arg5); 更 に`−bfde´ オ プ シ ョ ン を 指 定 す る と 次 の よ う に な る 。

void foo (
int arg1,
char arg2,
int *arg3,
long arg4,
char arg5
);

`−psl´ オ プ シ ョ ン を 指 定 す る と 、 定 義 さ れ る 手 続 き の 型 は 手 続 き の 名 前 の 前 の 行 に 置 か れ る 。 こ の ス タ イ ル は 、 etags プ ロ グ ラ ム や Emacs の c−mode の 一 部 の 機 能 を 正 し く 動 作 さ せ る た め に 必 要 で あ る 。 プ ロ グ ラ ム 中 で typedef で 定 義 さ れ た 型 の 名 前 を 全 て 、 `−T´ オ プ シ ョ ン を 使 っ て indent に 教 え な け れ ば な ら な い 。 `−T´ は 複 数 個 指 定 す る こ と が で き 、 指 定 さ れ た 全 て の 名 前 を 使 う こ と が で き る 。 例 え ば 、 プ ロ グ ラ ム に

typedef unsigned long CODE_ADDR;
typedef enum {red, blue, green} COLOR; と い う 記 述 が あ る 場 合 に は 、 オ プ シ ョ ン `−T CODE_ADDR −T COLOR´ を 使 う こ と に な る だ ろ う 。

`−brs´ や `−bls´ オ プ シ ョ ン は struct 宣 言 の ブ レ ー ス を ど の よ う に 整 形 す る か を 指 定 す る 。 `−brs´ オ プ シ ョ ン は ブ レ ー ス を 次 の よ う に 整 形 す る 。

struct foo {
int x; };

`−bls´ オ プ シ ョ ン は ブ レ ー ス を 次 の よ う に 整 形 す る 。

struct foo
{
int x; };

イ ン デ ン ト 付 け

コ ー ド を 整 形 す る 時 の 問 題 の 1 つ は 、 各 行 を ど れ だ け 左 端 か ら イ ン デ ン ト さ せ る か で あ る 。 iffor 等 の 文 の 先 頭 部 分 が あ る と 、 イ ン デ ン ト の 深 さ は `−i´ オ プ シ ョ ン で 指 定 し た 値 だ け 増 え る 。 例 え ば 、 レ ベ ル ご と に 8 文 字 分 の イ ン デ ン ト さ せ る に は `−i8´ を 使 う 。 文 が 2 行 に 折 り 返 さ れ て い る 場 合 、 2 行 目 は `−ci´ オ プ シ ョ ン で 指 定 し た 追 加 の ス ペ ー ス 分 だ け イ ン デ ン ト さ れ る 。 `−ci´ の デ フ ォ ル ト 値 は 0 で あ る 。 し か し 、 `−lp´ オ プ シ ョ ン が 指 定 さ れ て お り 、 か つ 同 じ 行 で 閉 じ ら れ て い な い 左 括 弧 が あ る 場 合 、 そ の 続 き の 行 が 始 ま る 文 字 は 左 括 弧 の 直 後 の 位 置 に 揃 え ら れ る 。 こ の 処 理 は `[´ お よ び 初 期 化 リ ス ト に 現 わ れ る `{´ に も 適 用 さ れ る 。 例 え ば 、 `−nlp −ci3´ が 有 効 に な っ て い る と 、 行 を ま た が る コ ー ド は 以 下 の よ う に な る :

p1 = first_procedure (second_procedure (p2, p3),
third_procedure (p4, p5));

`−lp´ を 有 効 に す る と 、 コ ー ド は い く ら か 見 や す く な る :

p1 = first_procedure (second_procedure (p2, p3),
third_procedure (p4, p5)); 文 が2 つ 以 上 の 括 弧 の 組 (...) に わ か れ て い る 場 合 、 追 加 さ れ た 括 弧 の 組 ご と に 1 段 深 く イ ン デ ン ト さ れ る 。

if ((((i < 2 &&
k > 0) || p == 0) &&
q == 1) ||
n = 0) オ プ シ ョ ン `−ipN´ は 、 括 弧 ご と の 追 加 オ フ セ ッ ト を 設 定 す る の に 使 う 。 例 え ば `−ip0´ は 上 記 の コ ー ド を 次 の よ う に 整 形 す る 。

if ((((i < 2 &&
k > 0) || p == 0) &&
q == 1) ||
n = 0)

indent は タ ブ が 入 力 と 出 力 の ス ト リ ー ム の 両 方 で 一 定 の 間 隔 で 置 か れ る こ と を 想 定 し て い る 。 こ の 間 隔 は デ フ ォ ル ト で は 8 カ ラ ム 幅 で あ る が 、 (バ ー ジ ョ ン 1.2 か ら は ) `−ts´ オ プ シ ョ ン で 変 更 す る こ と が で き る 。 タ ブ は 複 数 個 の 空 白 と 同 じ 意 味 で あ る 。 古 い 形 式 の 関 数 定 義 に お け る 型 宣 言 の イ ン デ ン ト 付 け は 、 `−ip´ パ ラ メ ー タ で 制 御 す る こ と が で き る 。 こ れ は 、 型 宣 言 で は 空 白 何 個 分 の イ ン デ ン ト を 行 う か を 指 定 す る 数 値 パ ラ メ ー タ で あ る 。 例 え ば デ フ ォ ル ト の `−ip5´ で は 、 定 義 は 以 下 の よ う に 整 形 さ れ る :

char *
create_world (x, y, scale)
int x;
int y;
float scale;
{
. . . } 他 の バ ー ジ ョ ン の indent と の 互 換 性 の た め に オ プ シ ョ ン `−nip´ が 用 意 さ れ て い る 。 こ れ は `−ip0´ と 同 じ で あ る 。

ANSI C で は プ リ プ ロ セ ッ サ コ マ ン ド ラ イ ン の 文 字 `#´ と コ マ ン ド 名 の 間 に 空 白 を 入 れ る こ と が 許 可 さ れ て い る 。 デ フ ォ ル ト で は indent は こ の 空 白 を 削 除 す る が 、 `−lps´ オ プ シ ョ ン を 指 定 す る こ と で indent に こ の 空 白 を 変 更 し な い よ う に 指 示 で き る 。 オ プ シ ョ ン `−ppi´ は `−nlps´ と `−lps´ を 上 書 き す る 。 こ の オ プ シ ョ ン に よ り 、 プ リ プ ロ セ ッ サ 条 件 文 を 指 定 さ れ た 空 白 数 で イ ン デ ン ト で き る 。 例 え ば オ プ シ ョ ン `−ppi 3´ は

#if X
#if Y
#define Z 1
#else
#define Z 0
#endif
#endif を 次 の よ う に 整 形 す る 。
#if X
# if Y
# define Z 1
# else
# define Z 0
# endif
#endif

長 い 行 の 折 り 返 し

オ プ シ ョ ン `−ln´ ま た は `−−line−lengthn´ に よ り 、 C 言 語 コ ー ド の 行 の 最 大 長 を 指 定 す る こ と が で き る 。 た だ し コ ー ド の 後 の コ メ ン ト は 含 ま な い 。 指 定 さ れ た 行 の 長 さ よ り 長 い 場 合 、 GNU indent は 行 を 論 理 的 な 位 置 で 折 り 返 す 。 こ れ は バ ー ジ ョ ン 2.1 の 新 機 能 で あ る が 、 ま だ そ れ ほ ど 賢 く は な く 柔 軟 で も な い 。 ど こ で 行 を 折 り 返 す か を 決 定 す る ア ル ゴ リ ズ ム に 干 渉 す る た め の オ プ シ ョ ン が 、 現 在 の と こ ろ 2 つ あ る 。

`−bbo´ オ プ シ ョ ン を 指 定 す る と 、 GNU indent は 長 い 行 を ブ ー リ ア ン 演 算 子 &&|| の 前 で 折 り 返 す 。 `−nbbo´ オ プ シ ョ ン を 指 定 す る と 、 GNU indent は 長 い 行 を ブ ー リ ア ン 演 算 子 の 前 で 折 り 返 さ な い 。 例 え ば 、 (`−−line−length60´ と `−−ignore−newlines´と 一 緒 に ) デ フ ォ ル ト の オ プ シ ョ ン `−bbo´ を 指 定 す る こ と に よ り 、 コ ー ド は 以 下 の よ う に な る 。

if (mask
&& ((mask[0] == ´\0´)
|| (mask[1] == ´\0´
&& ((mask[0] == ´0´) || (mask[0] == ´*´))))) オ プ シ ョ ン `−nbbo´ を 使 う と 、 次 の よ う に な る 。

if (mask &&
((mask[0] == ´\0´) ||
(mask[1] == ´\0´ &&
((mask[0] == ´0´) || (mask[0] == ´*´))))) し か し デ フ ォ ル ト の `−hnl´ で は 、 入 力 フ ァ イ ル に お け る 改 行 を 重 視 し て 、 そ こ で 改 行 す る よ う に 可 能 な 限 り の 優 先 度 を 与 え る 。 例 え ば 入 力 フ ァ イ ル が 以 下 の よ う な 場 合 、

if (mask
&& ((mask[0] == ´\0´)
|| (mask[1] == ´\0´ && ((mask[0] == ´0´) || (mask[0] == ´*´))))) オ プ シ ョ ン `−hnl´ ま た は `−−honour−newlines´ を 上 述 の `−nbbo´ と `−−line−length60´ と 一 緒 に 使 う と 、 前 の 例 で 示 し た よ う な 出 力 で は な く 、 入 力 フ ァ イ ル の コ ー ド で 改 行 さ れ て い る 位 置 で な る べ く 折 り 返 さ れ る 。

if (mask
&& ((mask[0] == ´\0´)
|| (mask[1] == ´\0´ &&
((mask[0] == ´0´) || (mask[0] == ´*´))))) こ の オ プ シ ョ ン の 背 景 と な る 考 え 方 は 、 既 に 折 り 返 さ れ て い る 長 す ぎ る 行 は GNU indent で 変 更 し な い と い う も の で あ る 。 し か し 本 当 に 汚 い コ ー ド は 、 少 な く と も 1 回 は `−−ignore−newlines´ オ プ シ ョ ン を 付 け て indent に 通 し て お く べ き で あ る 。

整 形 の 無 効 化

特 別 な 制 御 用 コ メ ン ト を プ ロ グ ラ ム に 埋 め 込 む こ と に よ り 、 C 言 語 コ ー ド を 部 分 的 に 整 形 し な い よ う に す る こ と が で き る 。 プ ロ グ ラ ム の あ る セ ク シ ョ ン を 整 形 し な い よ う に す る た め に は 、 無 効 化 制 御 用 コ メ ン ト /* *INDENT−OFF* */ だ け の 行 を セ ク シ ョ ン の 直 前 に 置 け ば よ い 。 こ の 制 御 用 コ メ ン ト の 後 で ス キ ャ ン さ れ た プ ロ グ ラ ム テ キ ス ト は 、 有 効 化 コ メ ン ト だ け の 行 が ス キ ャ ン さ れ る ま で 、 入 力 の 通 り に 変 更 さ れ ず 出 力 さ れ る 。 有 効 化 制 御 コ メ ン ト は /* *INDENT−ON* */ で あ り 、 こ の コ メ ン ト と 同 じ 行 で 後 に 続 く テ キ ス ト も 整 形 さ れ ず に 出 力 さ れ る 。 有 効 化 制 御 コ メ ン ト の 後 に 続 く 行 か ら 整 形 が 再 開 さ れ る 。 も っ と 正 確 に 言 う と 、 indent は C 言 語 コ メ ン ト の 終 了 区 切 り 文 字 (*/) を 検 証 せ ず 、 そ の 行 の 空 白 は 存 在 が 意 識 さ れ な い 。 こ れ ら の 制 御 コ メ ン ト は 、 C++ の 書 式 、 つ ま り // *INDENT−OFF*// *INDENT−ON* で も 機 能 す る 。

indent の 内 部 状 態 は 整 形 し な い セ ク シ ョ ン で も 変 更 さ れ な い 、 と い う 点 に 注 意 す べ き で あ る 。 よ っ て 、 例 え ば 関 数 の 途 中 で 整 形 を 無 効 に し て 関 数 の 終 り ま で 無 効 に し 続 け た 場 合 、 変 な 結 果 に な る 。 し た が っ て 、 コ ー ド を 整 形 し な い こ と を 選 択 す る 場 合 は 、 モ ジ ュ ー ル に し て お く の が よ い 。 歴 史 的 な 注 意 点 : 以 前 の バ ー ジ ョ ン の indent で は *INDENT** で 始 ま る エ ラ ー メ ッ セ ー ジ を 生 成 す る も の が あ っ た 。 こ れ ら の バ ー ジ ョ ン の indent は 、 こ の よ う な エ ラ ー メ ッ セ ー ジ で 始 ま る 入 力 テ キ ス ト 行 を 無 視 す る よ う に 書 か れ て い た 。 私 は こ の 閉 鎖 的 な 機 能 を GNU indent か ら 削 除 し た 。

そ の 他 の オ プ シ ョ ン

使 っ て い る indent の バ ー ジ ョ ン を 知 る に は 、 コ マ ン ド indent −version を 用 い る こ と 。 こ れ を 用 い る と 、 通 常 の 処 理 は 全 く 行 わ れ ず 、 indent の バ ー ジ ョ ン 番 号 が 表 示 さ れ る 。

`−v´ オ プ シ ョ ン を 用 い る と 、 詳 細 表 示 モ ー ド を 有 効 に す る こ と が で き る 。 詳 細 表 示 モ ー ド で は 、 indent は 1 つ の 行 を 出 力 で 複 数 行 に す る 時 に は 報 告 を 行 い 、 実 行 終 了 時 に サ イ ズ に 関 す る 情 報 を 出 力 す る 。

`−pmt´ オ プ シ ョ ン を 指 定 す る と 、 indent は 出 力 フ ァ イ ル の ア ク セ ス 時 刻 と 修 正 時 刻 を 保 存 す る 。 こ の オ プ シ ョ ン を 使 う と 、 全 て の ソ ー ス フ ァ イ ル と ヘ ッ ダ フ ァ イ ル に indent を 実 行 し て も 、 make は タ ー ゲ ッ ト を 再 構 築 し な い 。 こ の オ プ シ ョ ン は POSIX utime(2) 関 数 が あ る オ ペ レ ー テ ィ ン グ シ ス テ ム で の み 利 用 可 能 で あ る 。

バ グ

バ グ は bug−indent [AT] gnu.org に 報 告 し て ほ し い 。 同 じ プ ロ フ ァ イ ル で 1 つ の フ ァ イ ル に indent を 2 回 実 行 し た 場 合 、 2 回 目 は フ ァ イ ル を 全 く 変 更 し な い べ き で あ る 。 indent の 現 在 の 設 計 で は 、 そ れ は 保 証 で き ず 、 詳 細 に は テ ス ト さ れ て い な い 。

indent が C を 理 解 し な い 。 こ の た め 、 行 を 結 合 で き な い 場 合 も あ る 。 指 定 さ れ た プ ロ フ ァ イ ル (`.indent.pro´) で indent を 実 行 し た 結 果 の フ ァ イ ル を 入 力 と し て 使 っ た 場 合 で も 、 indent を 通 し た フ ァ イ ル が 非 可 逆 に な る 。

C++ に 対 し て indent を 動 作 さ せ る こ と を 試 み た が 、 と て も 簡 単 な も の で な い 限 り 、 C++ の ソ ー ス に 対 し て は 良 い 結 果 が 得 ら れ な い 。 出 力 フ ァ イ ル に コ メ ン ト を 書 き 出 し て い る 場 合 、 indent は 指 定 さ れ た `−−line−length´ オ プ シ ョ ン を 参 照 し な い 。 そ の た め 、 た び た び コ メ ン ト が か な り 右 に 置 か れ る 。 コ メ ン ト が 末 尾 に あ る 折 り 返 さ れ た 行 を indent が 結 合 し な い よ う に す る た め 、 コ メ ン ト が 折 り 返 し の 最 初 の 行 か ら 始 ま っ て い る こ と を 確 認 す る こ と 。

/* *INDENT−OFF* */ に よ っ て indent が 無 効 に さ れ て い る 場 合 、 indent は 行 数 や コ メ ン ト 数 を 数 え な い (`−v´ オ プ シ ョ ン を 参 照 )。

/*UPPERCASE*/ と い う 形 式 の コ メ ン ト は 、 コ メ ン ト と し て 扱 わ れ な い が 、 次 の 行 と 結 合 す る 識 別 子 と し て 扱 わ れ る 。 こ の 動 作 に よ っ て 、 コ ー ド の 最 初 に 埋 め 込 ま れ な い 限 り 、 こ の タ イ プ の コ メ ン ト を 無 用 な も の に し て し ま う 。

著 作 権 表 示

以 下 の 著 作 権 表 示 は indent プ ロ グ ラ ム に 適 用 さ れ る 。 こ の マ ニ ュ ア ル に 関 す る 著 作 権 と 複 製 許 可 に つ い て は 、 `indent.texinfo´ と `indent.info´ の 先 頭 近 く と `indent.1´ の 末 尾 近 く に 記 述 さ れ て い る 。

Copyright (c) 2001 David Ingamells.
Copyright (c) 1999 Carlo Wood.
Copyright (c) 1995, 1996 Joseph Arceneaux.
Copyright (c) 1989, 1992, 1993, 1994, 1995, 1996 Free Software Foundation
Copyright (c) 1985 Sun Microsystems, Inc.
Copyright (c) 1980 The Regents of the University of California.
Copyright (c) 1976 Board of Trustees of the University of Illinois.
All rights reserved.

Redistribution and use in source and binary forms are permitted
provided that the above copyright notice and this paragraph are
duplicated in all such forms and that any documentation,
advertising materials, and other materials related to such
distribution and use acknowledge that the software was developed
by the University of California, Berkeley, the University of Illinois,
Urbana, and Sun Microsystems, Inc. The name of either University
or Sun Microsystems may not be used to endorse or promote products
derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED ``AS IS´´ AND WITHOUT ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
PURPOSE.

オ プ シ ョ ン の 相 互 参 照 キ ー

長 い 名 前 に つ い て ア ル フ ァ ベ ッ ト 順 に 並 べ た オ プ シ ョ ン の リ ス ト を 示 す 。 こ れ を 使 え ば 対 応 す る 短 い オ プ シ ョ ン 名 が 簡 単 に 分 か る 。

−−blank−lines−after−commas −bc
−−blank−lines−after−declarations −bad
−−blank−lines−after−procedures −bap
−−blank−lines−before−block−comments −bbb
−−braces−after−if−line −bl
−−brace−indent −bli
−−braces−after−struct−decl−line −bls
−−braces−on−if−line −br
−−braces−on−struct−decl−line −brs
−−break−after−boolean−operator −nbbo
−−break−before−boolean−operator −bbo
−−break−function−decl−args −bfda
−−break−function−decl−args−end −bfde
−−case−indentation −clin
−−case−brace−indentation −cbin
−−comment−delimiters−on−blank−lines −cdb
−−comment−indentation −cn
−−continuation−indentation −cin
−−continue−at−parentheses −lp
−−cuddle−do−while −cdw
−−cuddle−else −ce
−−declaration−comment−column −cdn
−−declaration−indentation −din
−−dont−break−function−decl−args −nbfda
−−dont−break−function−decl−args−end −nbfde
−−dont−break−procedure−type −npsl
−−dont−cuddle−do−while −ncdw
−−dont−cuddle−else −nce
−−dont−format−comments −nfca
−−dont−format−first−column−comments −nfc1
−−dont−line−up−parentheses −nlp
−−dont−space−special−semicolon −nss
−−dont−star−comments −nsc
−−else−endif−column −cpn
−−format−all−comments −fca
−−format−first−column−comments −fc1
−−gnu−style −gnu
−−honour−newlines −hnl
−−ignore−newlines −nhnl
−−ignore−profile −npro
−−indent−level −in
−−k−and−r−style −kr
−−leave−optional−blank−lines −nsob
−−leave−preprocessor−space −lps
−−line−comments−indentation −dn
−−line−length −ln
−−no−blank−lines−after−commas −nbc
−−no−blank−lines−after−declarations −nbad
−−no−blank−lines−after−procedures −nbap
−−no−blank−lines−before−block−comments −nbbb
−−no−comment−delimiters−on−blank−lines −ncdb
−−no−space−after−casts −ncs
−−no−parameter−indentation −nip

−−no−space−after−for

−nsaf

−−no−space−after−function−call−names −npcs

−−no−space−after−if

−nsai

−−no−space−after−parentheses −nprs

−−no−space−after−while

−nsaw

−−no−tabs −nut
−−no−verbosity −nv
−−original −orig
−−parameter−indentation −ipn
−−paren−indentation −pin

−−preserve−mtime

−pmt

−−procnames−start−lines −psl
−−space−after−cast −cs

−−space−after−for

−saf

−−space−after−if

−sai

−−space−after−parentheses −prs
−−space−after−procedure−calls −pcs

−−space−after−while

−saw

−−space−special−semicolon −ss
−−standard−output −st
−−start−left−side−of−comments −sc
−−struct−brace−indentation −sbin
−−swallow−optional−blank−lines −sob
−−tab−size −tsn
−−use−tabs −ut
−−verbose −v

返 り 値

不 明 。

フ ァ イ ル

$HOME/.indent.pro

indent の デ フ ォ ル ト の オ プ シ ョ ン を 設 定 す る

作 者

Carlo Wood
Joseph Arceneaux
Jim Kingdon
David Ingamells

履 歴

UCB の "indent" プ ロ グ ラ ム が 起 源 で あ る 。

著 作 権

Copyright (C) 1989, 1992, 1993, 1994, 1995, 1996 Free Software Foundation, Inc. Copyright (C) 1995, 1996 Joseph Arceneaux. Copyright (C) 1999 Carlo Wood. Copyright (C) 2001 David Ingamells.

Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.