#cmake #formatter #auto #command #file #enough #parser

bin+lib cmakefmt

足够好(MVP,早期)的 CMake 自动格式化工具

13 个版本

0.1.11 2024 年 1 月 15 日
0.1.10 2024 年 1 月 2 日
0.1.9 2023 年 12 月 31 日

867解析实现

MIT 许可证

99KB
2.5K SLoC

cmakefmt

Crates.io Version


足够好的 CMake 自动格式化工具。无设置,输出到 STDOUT。

安装

cargo install cmakefmt

用法

cmakefmt <file>

状态

  • 基本语法被处理并输出
  • 错误处理会输出友好的错误消息,但它非常冗长,有时真正的解析错误更深
  • 忽略引号字符串字面量后面的逗号,因为这会破坏字符串命令且不是有效的语法
  • 如果二元条件运算符(AND/OR 等)前面有注释,则无法解析条件表达式

规则

  • 语句和命令在一行打印或如果空间不足则拆分成多行
  • 命令参数拆分成一行,除非它们是 uppercase 单词。如果参数是 uppercase 单词,则与所有后续非 uppercase 参数创建一个组。这有助于格式化 key-value 风格的带
  • 类似于组的语句(foreach、if、block、macro)缩进它们的子代

许可证

MIT

依赖

~3–14MB
~122K SLoC