Форматирование TOML

Форматируйте или сожмите подмножество TOML в браузере. Связанные страницы: YAML · INI

Что форматируется

TOML — обычный формат конфигурации. Страница печатает полезное подмножество в устойчивой раскладке либо убирает комментарии и пустые строки. У YAML и INI свои страницы: YAML и INI.

Как пользоваться

  1. Вставьте TOML. Считать по мере ввода включено.
  2. Направление — Форматировать или Сжать.
  3. Преобразовать запускает один раз. Показать пример загружает документ с title = "TOML", enabled = true, таблицей [owner] с именем Ada, таблицей [database] с ports = [8000, 8001] и двумя таблицами [[products]] с именами Hammer и Nail.
  4. Сжать сохраняет те же ключи и убирает комментарии и пустые строки между таблицами.
  5. Очистить всё опустошает оба поля. Копировать результат копирует вывод. Сломанный документ показывает номер строки.

Подмножество, которое читает страница

Комментарии начинаются с #. Ключи бывают голыми, в кавычках или с точками. Таблицы пишутся как [name], массивы таблиц — как [[name]]. Строки бывают базовыми, литеральными или многострочными. Числа бывают целыми, с плавающей точкой, шестнадцатеричными (0x), восьмеричными (0o), двоичными (0b) или с подчёркиваниями в цифрах. Читаются true и false, массивы и встроенные таблицы. Дата или время ISO сохраняется исходным токеном, как и шестнадцатеричное, восьмеричное или двоичное число.

Форматировать пишет сначала простые ключи, затем [tables], потом [[arrays of tables]]. Комментарии удаляются. Литеральная строка записывается обратно как базовая строка в кавычках. Массив объектов пишется через [[name]]. Сжать — тот же текст без пустой строки перед каждой таблицей.

Где это нужно

  • Причесать конфиг Cargo или инструмента перед коммитом.
  • Увидеть, какую строку отверг разбор.
  • Сравнить два конфига, когда комментариев уже нет.

Вопросы

Куда делся комментарий?

Форматировать и Сжать оба убирают комментарии. В разобранном документе это не данные.

Почему 0x10 осталось 0x10?

Шестнадцатеричные, восьмеричные, двоичные и датовые токены печатаются как написаны, без перевода в десятичную систему.