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