Форматирование TOML
Вставьте TOML — пробелы нормализуются, ключи, строки и значения остаются нетронутыми.
Отформатированный TOML
Как пользоваться
- Вставьте TOML в поле — он форматируется по мере ввода, нажимать ничего не нужно.
- Выберите 2 или 4 пробела для многострочных массивов и включите «Выравнивать =», если знаки равенства должны стоять друг под другом; результат обновляется сразу.
- Если что-то не так, сообщение называет строку, столбец и причину. Скопируйте результат или скачайте его файлом .toml.
Пример
Ввод
[package] name="ykit" version = "0.1.0" edition="2021" authors = ["Иван Петров <ivan@example.ru>", "Анна Смирнова <anna@example.ru>"] keywords=["tools", "toml"] [dependencies] serde={version="1.0",features=["derive"]}
Отформатировано
[package] name = "ykit" version = "0.1.0" edition = "2021" authors = ["Иван Петров <ivan@example.ru>", "Анна Смирнова <anna@example.ru>"] keywords = ["tools", "toml"] [dependencies] serde = { version = "1.0", features = ["derive"] }
Только правила по умолчанию: два пробела и без выравнивания. Порядок ключей, содержимое строк и порядок массива не тронуты; в inline-таблице нормализуются только пробелы, а запятая в конце не добавляется.
Правила, ограничения и известные проблемы
- Проверяются только синтаксис и конфликты ключей и таблиц: повторяющиеся ключи, дважды определённые таблицы, столкновения ключей и таблиц, строки и экранирование, числа, даты, массивы и inline-таблицы. Схем, бизнес-семантики и автоматических исправлений нет.
- Переписываются только пробелы вне строк и комментариев. Порядок ключей и таблиц, вид ключа (простой или в кавычках), разделители и экранирование строк, написание чисел, дат и логических значений, текст комментариев копируются символ в символ.
- Однострочные массивы остаются в одной строке; многострочные сохраняют по одному элементу на строке вместе с комментариями и запятой в конце. Inline-таблицы печатаются в одну строку, поэтому массивы внутри них сворачиваются в одну строку; переводы строк внутри многострочной строки — это содержимое, и они остаются как набраны, из-за чего inline-таблица может растянуться на несколько строк.
- Перевод строки или комментарий внутри inline-таблицы — синтаксическая ошибка (сам TOML запрещает и то и другое). Комментарий в конце строки остаётся через один пробел после кода, а пробелы в конце комментария удаляются.
- Серии пустых строк схлопываются в одну, пустые строки в начале и конце отбрасываются, а между таблицами пустая строка никогда не добавляется.
- Незакрытый массив, inline-таблица или многострочная строка в самом конце, обрезанный заголовок таблицы, пустой `key =` или путь ключа, оборванный сразу после точки, — это предупреждение, а не ошибка: результат всё равно будет. Настоящие ошибки (пропущенная запятая, значение без кавычек, неверная дата) дают ошибку со строкой и столбцом. Сообщается только первая ошибка.
- Номера строк и столбцов считают кодовые точки Unicode, поэтому эмодзи занимает один столбец; CRLF считается одним переводом строки. Пробельными в TOML считаются только пробел и табуляция: U+3000 и U+00A0 вне строки — ошибка, а внутри строки — содержимое.
- Простые ключи только в ASCII — китайские и арабские ключи нужно заключать в кавычки, так устроен сам TOML, а не этот инструмент. Числа и даты никогда не переписываются и не переводятся в другую систему цифр.
- Нет минификации, сортировки ключей, нормализации значений, загрузки файлов, параметров URL и истории. Всё выполняется в браузере: ничего не загружается и не сохраняется.
- Свыше 200 000 символов результат обновляется примерно через 0,6 с после того, как вы закончите ввод; текст никогда не обрезается. Вывод использует LF без завершающего перевода строки, а форматирование идемпотентно при тех же настройках выравнивания и отступа.
Похожие инструменты
Что обычно нужно дальше, когда конфигурация стала читаемой.