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 源文件的格式化。