Man page - indent(1)

Packages contains this manual

    Package:  indent
    apt-get install indent
    Manuals in package:
    Documentations in package:

Available languages:

en ja

Manual

INDENT

名 前
曞 匏
説 明
オ プ シ ョ ン
indent の 起 動
バ ッ ク ア ッ プ フ ァ ã‚€ ル
侀 般 的 な ス タ ã‚€ ル
空 行
--blank-lines-after-declarations
--blank-lines-after-procedures
コ メ ン ト
文
宣 蚀
ã‚€ ン デ ン ト 付 け
長 い 行 の 折 り 返 し
敎 圢 の 無 効 化
そ の 他 の オ プ シ ョ ン
バ グ
著 䜜 æš© 衚 瀺
オ プ シ ョ ン の 盾 互 参 照 キ ヌ
返 り 倀
フ ァ ã‚€ ル
䜜 者
å±¥ æ­Ž
著 䜜 æš©

名 前

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-indent n

ブ レ ヌ ス を 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 ず そ の 匕 き 数 の 間 に 空 癜 を 眮 く 。
「 文 」 セ ク シ ョ ン を 参 照 す る こ ず 。

-c n , --comment-indentation n

コ メ ン ト を コ ヌ ド の 右 の カ ラ ム n に 眮 く 。
「 コ メ ン ト 」 セ ク シ ョ ン を 参 照 す る こ ず 。

-cbi n , --case-brace-indentation n

case ラ ベ ル の 埌 に 、 ブ レ ヌ ス を n 個 の 空 癜 で ã‚€ ン デ ン ト 付 け す る 。
「 文 」 セ ク シ ョ ン を 参 照 す る こ ず 。

-cd n , --declaration-comment-column n

コ メ ン ト を 宣 蚀 の 右 の カ ラ ム n に 眮 く 。
「 コ メ ン ト 」 セ ク シ ョ ン を 参 照 す る こ ず 。

-cdb , --comment-delimiters-on-blank-lines

空 行 に コ メ ン ト 区 切 り 文 字 を 眮 く 。
「 コ メ ン ト 」 セ ク シ ョ ン を 参 照 す る こ ず 。

-cdw , --cuddle-do-while

do {} while; の while ず そ の 前 の `}ÂŽ を 䞊 べ る 。
「 コ メ ン ト 」 セ ク シ ョ ン を 参 照 す る こ ず 。

-ce , --cuddle-else

else ず そ の 前 の `}ÂŽ を 䞊 べ る 。
「 コ メ ン ト 」 セ ク シ ョ ン を 参 照 す る こ ず 。

-ci n , --continuation-indentation n

前 の 行 か ら 継 続 し お い る å Ž 合 に は 、 n 個 の 空 癜 で ã‚€ ン デ ン ト す る 。
「 文 」 セ ク シ ョ ン を 参 照 す る こ ず 。

-cli n , --case-indentation n

case ラ ベ ル を N 個 の 空 癜 で ã‚€ ン デ ン ト す る 。
「 文 」 セ ク シ ョ ン を 参 照 す る こ ず 。

-cp n , --else-endif-column n

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

-cs , --space-after-cast

キ ャ ス ト 挔 算 子 の 埌 に 空 癜 を 眮 く 。
「 文 」 セ ク シ ョ ン を 参 照 す る こ ず 。

-d n , --line-comments-indentation n

コ ヌ ド の 右 で な い コ メ ン ト は 空 癜 n 個 で ã‚€ ン デ ン ト す る よ う に èš­ 定 す る 。
「 コ メ ン ト 」 セ ク シ ョ ン を 参 照 す る こ ず 。

-bfda , --break-function-decl-args

(関 数 ) 宣 蚀 の å…š お の 匕 き 数 の 埌 で 折 り 返 す 。
「 宣 蚀 」 セ ク シ ョ ン を 参 照 す る こ ず 。

-bfde , --break-function-decl-args

(関 数 ) 宣 蚀 の å…š お の 匕 き 数 の 前 で 折 り 返 す 。
「 宣 蚀 」 セ ク シ ョ ン を 参 照 す る こ ず 。

-di n , --declaration-indentation n

倉 数 を カ ラ ム n に 眮 く 。
「 宣 蚀 」 セ ク シ ョ ン を 参 照 す る こ ず 。

-fc1 , --format-first-column-comments

最 初 の カ ラ ム か ら 始 た る コ メ ン ト を 敎 圢 す る 。
「 コ メ ン ト 」 セ ク シ ョ ン を 参 照 す る こ ず 。

-fca , --format-all-comments

コ メ ン ト の 敎 圢 を å…š お を 無 効 に し な い 。
「 コ メ ン ト 」 セ ク シ ョ ン を 参 照 す る こ ず 。

-gnu , --gnu-style

GNU コ ヌ デ ィ ン グ ス タ ã‚€ ル を 䜿 甹 す る 。 こ れ は デ フ ォ ル ト の 動 䜜 で あ る 。
「 侀 般 的 な ス タ ã‚€ ル 」 セ ク シ ョ ン を 参 照 す る こ ず 。

-hnl , --honour-newlines

入 力 フ ァ ã‚€ ル で 改 行 が 入 っ お い る 䜍 眮 で 長 い 行 を 折 り 返 す よ う に す る 。
「 長 い 行 の 折 り 返 し 」 セ ク シ ョ ン を 参 照 す る こ ず 。

-i n , --indent-level n

ã‚€ ン デ ン ト の レ ベ ル を 空 癜 n 個 に èš­ 定 す る 。
「 ã‚€ ン デ ン ト 付 け 」 セ ク シ ョ ン を 参 照 す る こ ず 。

-ip n , --parameter-indentation n

叀 い 圢 匏 の 関 数 定 矩 の パ ラ メ ヌ タ 型 を 空 癜 n 個 で ã‚€ ン デ ン ト す る 。
「 ã‚€ ン デ ン ト 付 け 」 セ ク シ ョ ン を 参 照 す る こ ず 。

-kr , --k-and-r-style

Kernighan & Ritchie コ ヌ デ ィ ン グ ス タ ã‚€ ル を 䜿 甹 す る 。
「 侀 般 的 な ス タ ã‚€ ル 」 セ ク シ ョ ン を 参 照 す る こ ず 。

-l n , --line-length n

コ メ ン ト で な い 行 の 最 倧 の 長 さ を n に èš­ 定 す る 。
「 長 い 行 の 折 り 返 し 」 セ ク シ ョ ン を 参 照 す る こ ず 。

-lc n , --comment-line-length n

コ メ ン ト を 敎 圢 す る 最 倧 の 長 さ を 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-indentation n

文 が 䞍 完 å…š な å Ž 合 に 䜿 わ れ る 開 括 匧 ÂŽ(ÂŽ ご ず の 远 加 の ã‚€ ン デ ン ト を 指 定 す る 。 「 文 」 セ ク シ ョ ン を 参 照 す る こ ず 。

-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 の 埌 に ス ペ ヌ ス を 眮 く 。
「 文 」 セ ク シ ョ ン を 参 照 す る こ ず 。

-sbi n , --struct-brace-indentation n

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 に 指 定 す る 。

「 宣 蚀 」 セ ク シ ョ ン を 参 照 す る こ ず 。

-ts n , --tab-size n

タ ブ の 幅 を 空 癜 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 文 の 埌 の ブ レ ヌ ス の ã‚€ ン デ ン ト は 、 `-cbi n ÂŽ オ プ シ ョ ン で 制 埡 で き る 。 䟋 え ば `-cli2 -cbi0ÂŽ を 䜿 う ず 次 の よ う な 結 果 に な る 。

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

セ ミ コ ロ ン が for た た は while 文 ず 同 じ 行 に あ る å Ž 合 に `-ssÂŽ を 指 定 す る ず 、 空 癜 が セ ミ コ ロ ン の 前 に 眮 か れ る 。 こ れ に よ り セ ミ コ ロ ン が 匷 調 さ れ 、 for や while 文 の 本 䜓 が 空 の 文 で あ る こ ず が は っ き り す る 。 `-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 ぀ は 、 各 行 を ど れ だ け å·Š 端 か ら ã‚€ ン デ ン ト さ せ る か で あ る 。 if や for 等 の 文 の 先 é ­ 郚 分 が あ る ず 、 ã‚€ ン デ ン ト の æ·± さ は `-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)

オ プ シ ョ ン `-ip N ÂŽ は 、 括 匧 ご ず の 远 加 オ フ セ ッ ト を èš­ 定 す る の に 䜿 う 。 䟋 え ば `-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

長 い 行 の 折 り 返 し

オ プ シ ョ ン `-l n ÂŽ た た は `--line-length n ÂŽ に よ り 、 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@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 -cli n
--case-brace-indentation -cbi n
--comment-delimiters-on-blank-lines -cdb
--comment-indentation -c n
--continuation-indentation -ci n
--continue-at-parentheses -lp
--cuddle-do-while -cdw
--cuddle-else -ce
--declaration-comment-column -cd n
--declaration-indentation -di n
--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 -cp n
--format-all-comments -fca
--format-first-column-comments -fc1
--gnu-style -gnu
--honour-newlines -hnl
--ignore-newlines -nhnl
--ignore-profile -npro
--indent-level -i n
--k-and-r-style -kr
--leave-optional-blank-lines -nsob
--leave-preprocessor-space -lps
--line-comments-indentation -d n
--line-length -l n
--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 -ip n
--paren-indentation -pi n

--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 -sbi n
--swallow-optional-blank-lines -sob
--tab-size -ts n
--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.