これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド ocp-indent です。
プログラム:
NAME
ocp-indent - OCaml ソースファイルの自動インデント
SYNOPSIS
ocp-インデント [オプション] ... [FILE] ...
DESCRIPTION
公式の規則に従って OCaml ソース ファイルをインデントします。
調整可能なパラメータ。
コマンドラインで指定された各ファイルのインデントされたバージョンを標準出力に出力します。
`--inplace' オプションで呼び出さない限り (「 OPTIONS 下に)。 ファイルが指定されていない場合は、
標準入力から読み取ります。
OPTIONS
-c CONFIG, --config=CONFIG
インデントパラメータを設定します。 セクションを参照 CONFIGURATION をご覧ください。
-d, - デバッグ
標準エラー出力へのデバッグ出力を有効にします。
- 助けて[=FMT](デフォルト=ポケットベル)
このヘルプを形式で表示する FMT (ポケットベル、プレーンまたはグロフ)。
-i, - 所定の位置に
ファイルを所定の位置に再インデントします。
--インデント-空
空行の場合もインデントを返します。 特に $(--numeric) を使用すると便利です。
-l RANGE, -行=RANGE (欠席=-)
の行のみを再インデントします RANGE (例: 10-12)、現在のインデントに適応します。
周囲の線。 行は 1 から始まります。
--load-mods=VAL
プラグインをロードします。
--load-pkgs=VAL
プラグインをロードします。
-数値
ファイルを再インデントする代わりに、行ごとに XNUMX つの整数を出力します。
インデントの値。 と一緒に指定した場合 -行、同じ数の値のみを出力します
範囲内の行。
-o FILE, - 出力=FILE
に出力 FILE。 デフォルトでは、stdout に出力されます。
--print-config
現在のパラメータを標準出力に出力して終了します。 (セクションを参照 CONFIGURATION 詳細については、
情報。)
- 構文=VAL
OCaml 構文拡張のために処理される構文を拡張します。
- バージョン
バージョン情報を表示します。
CONFIGURATION
パラメータはコマンドラインで次のように定義できます。 --config オプションとして、または
次のいずれかの構成定義を順番に検索します。 という名前のファイル
現在のディレクトリまたはその親の `.ocp-indent' (プロジェクトごとの
インデント設定)、ファイル `$(HOME)/.ocp/ocp-indent.conf'、または環境
変数 $(OCP_INDENT_CONFIG)。
構成定義は、次の形式のバインディングのリストです。 名前=値 または プリセット,
カンマまたは改行で区切る
構文: [プリセット,]VAR=値[,VAR=値...]
ベース=INT (デフォルト=2)
次のオプションがいずれも適用されない場合に使用されるインデント。
foo = にしましょう
..バー
type=INT (デフォルト=2)
型定義のインデント。
t = と入力します。
..int型
in=INT (デフォルト=0)
別の `let' が続かない限り、`let ... in' の後のインデント。
foo = () にしましょう
..バー
=INT (デフォルト=0)
「match ... with」、「try ... with」、または「function」の後のインデント。
foo と一致する
..| _ -> バー
match_clause=INT (デフォルト=2)
パターン一致内の句のインデント (矢印の後)。
foo と一致する
| _ ->
..バー
ppx_stritem_ext=INT (デフォルト=2)
[%%id ... ] 拡張ノード内の項目のインデント)。
[%% やった
..x = 3 とします]
max_indent= (デフォルト=4)
同じ行に式をネストすると、そのインデントがいくつかの行に重なって表示されます。
ケースを XNUMX 行に XNUMX つずつ閉じても正しいままになるようにします。 ただし、これにより、
複雑なコードでは大きなインデントが発生するため、このパラメータは最大値を設定します。
インデント。 関数の矢印と開始部分の後のインデントにのみ影響することに注意してください。
行末の括弧。
f = g (h (i (fun x ->
....x)
)
)
strict_with= (デフォルト = なし)
「never」の場合、「match with」が一致しない場合は常に、一致バーがインデントされ、「with」に置き換わります。
その行を開始します。 「auto」の場合、「begin match」のような構造には例外があります。
と'。 「always」の場合、「with」は常に厳密に尊重されます。
`strict_with= を使用した例決して,with=0':
f との一致を開始します
..| _ -> バー
end
strict_else= (デフォルト=常に)
「always」の場合は、「then」の後のように、通常は「else」キーワードの後にインデントします。 「自動」の場合、
いくつかの「閉じられない」場合 (「let .... in」、「match」など) を除いて、「else」の後にインデントします。
「never」の場合、「else」キーワードの後に改行が続いてもインデントされません。
`strict_else= を使用した例オート':
条件が整っていれば
foo
ほかに
う x = バーイン
バズ
厳格なコメント=BOOL (デフォルト = false)
コメント内のインデントは、左マージンを尊重する限り、通常は保持されます。
またはコメントが改行で始まる場合。 これを「true」に設定すると、内部での位置合わせが強制されます。
コメント。 `*' で始まる行は常に整列します
align_ops=BOOL (デフォルト = true)
ほとんどの一般的な行のインデントよりも列の配置の優先順位を切り替えます。
演算子と中線の開き括弧の後にあります。
`align_ops= を使用した例true':
fx = x とします
+および
`align_ops= を使用した例false':
fx = x とします
+および
align_params= (デフォルト=自動)
「never」の場合、関数パラメータは関数の行から XNUMX レベルインデントされます。
「always」の場合、関数の列から整列されます。 「自動」の場合、位置合わせは
いくつかの場合、たとえば一致矢印の後など、インデントよりも選択されます。
`align_params= を使用した例決して':
foo と一致する
| _ -> 楽しい
..パラメーター
`align_params= を使用した例常に'または `オート':
foo と一致する
| _ -> 楽しい
..パラメーター
利用可能なプリセットは、デフォルトの「normal」、およびいくつかの側面を作成する「Apprentice」です。
初心者にとってよりわかりやすい構文、および「JaneStreet」。
onworks.net サービスを使用してオンラインで ocp-indent を使用する