TOML 格式化

在浏览器里格式化或压缩一份 TOML 子集。相关页面: YAML · INI

格式化的是什么

TOML 是常见的配置格式。这一页把一个有用的子集排成稳定的版式,或去掉注释和空行。YAML 和 INI 各有自己的页面:YAML 和 INI。

怎么用

  1. 把 TOML 贴进来。边输入边更新开着。
  2. 方向是格式化或压缩。
  3. 转换只做一次。显示示例载入一份文档,里面有 title = "TOML"、enabled = true、一张 name 为 Ada 的 [owner] 表、一张带 ports = [8000, 8001] 的 [database] 表,以及两张名为 Hammer 和 Nail 的 [[products]] 表。
  4. 压缩保留同样的键,并去掉注释和表与表之间的空行。
  5. 全部清除清空两个框。复制结果复制输出。文档坏了会显示行号。

这一页读的子集

注释以 # 开头。键可以是裸写、加引号或带点号。表用 [name],表数组用 [[name]]。字符串可以是基本、字面或多行。数字可以是整数、浮点、十六进制(0x)、八进制(0o)、二进制(0b),或带下划线的数字。true 和 false、数组和内联表都会读入。ISO 日期或时间按原来的记号保留,十六进制、八进制和二进制数字也一样。

格式化先写简单键,再写 [tables],然后写 [[arrays of tables]]。注释会去掉。字面字符串写回时变成基本的引号字符串。对象数组用 [[name]] 写出。压缩是同一段文字,只是每张表前面不再留空行。

用在哪

  • 提交前整理一份 Cargo 或工具配置。
  • 看解析器拒绝的是哪一行。
  • 注释去掉之后比较两份配置。

常见问题

注释去哪了?

格式化和压缩都会丢掉注释。它们不是解析后文档里的数据。

为什么 0x10 还是 0x10?

十六进制、八进制、二进制和日期记号按原文重印,不会转成十进制。