モード
default モード
Section titled “default モード”{・}・;・行末の , を右端へ移動します。ソースの意味は一切変わりません — フォーマット済みファイルの動作はオリジナルと完全に同一です。
// 入力function greet(name) { if (!name) { return "hello"; } return `hi, ${name}`;}// default モード 出力function greet(name) { if (!name) { return "hello"; } return `hi, ${name}`; }ruby モード
Section titled “ruby モード”default の処理に加えて:
- 各閉じ括弧の後ろに、対応するブロックのインデントに揃えた擬似
end行を挿入します。 - 最初の
{の直後に変数宣言を注入します(ファイルをそのまま実行できる状態に保つため)。
// ruby モード 出力function greet(name) { let end=null; if (!name) { return "hello"; } end return `hi, ${name}`; }endsmartEnd
Section titled “smartEnd”ruby.smartEnd が true(デフォルト)のとき、以下のキーワードの直前では end を挿入しません:
elsecatchfinallywhile(do…while)
variableName
Section titled “variableName”注入する識別子を変更できます:
{ "ruby": { "variableName": "_end" } }injectDeclaration
Section titled “injectDeclaration”false にすると変数宣言の注入をスキップします(スタンドアロンファイルでないスニペットをフォーマットする場合などに便利)。
プラグインの ruby モード
Section titled “プラグインの ruby モード”各プラグインが ruby モード対応を宣言しています。対応プラグインでは言語に合った宣言テンプレートが使われます:
| プラグイン | 宣言 |
|---|---|
| (コア) | let end=null; |
@indentier/plugin-rust | const end:()=(); |
@indentier/plugin-go | var end any=nil |
@indentier/plugin-c | void*end=0; |
@indentier/plugin-php | $end=null; |