Skip to content

YaoXiang コードフォーマット仕様

このドキュメントは yaoxiang fmt コードフォーマットツールの動作仕様を定義します。すべてのフォーマット動作は本仕様に従う必要があります。


目次


原則

原則 1:フォーマットはべき等である。 すでにフォーマットされたコードに再度フォーマットを適用しても、出力は入力と完全に同一である必要がある。

rust
// ルール: format(format(code)) == format(code)
assert_eq!(format_source(input, &opts), format_source(&format_source(input, &opts).unwrap(), &opts).unwrap());

原則 2:フォーマットは意味を変更しない。 フォーマット前後のコードは同一の AST(抽象構文木)を持たなければならない。

原則 3:フォーマットはすべてのコメントを保持する。 単一行コメント、ブロックコメント、ドキュメントコメントは保持され、削除も変更もしてはならない。

原則 4:設定優先順位。 設定優先順位は以下のように規定する:CLI 引数 > プロジェクトレベル設定(yaoxiang.toml)> ユーザーレベル設定(~/.config/yaoxiang/config.toml)> デフォルト値。

適用範囲

本仕様はすべての .yx ソースファイルのフォーマットに適用される。