The author of broot explains why they switched from TOML to Hjson as the preferred configuration format. TOML's main problem is its confusing handling of arrays of objects — properties added after an array block silently attach to the last array item instead of the top level, causing users to think the program is buggy. After reviewing INI, JSON, YAML, and TOML, the author concludes Hjson is best suited for human-written config files: it supports comments, allows trailing/omitted commas, avoids mandatory quoting, and has multiline string support. The tradeoff is limited tooling — the author had to write a custom Serde deserializer for Rust. A full broot config example is provided to demonstrate Hjson's readability.
Table of contents
Why I started with TOMLThe problems with TOMLWhat's a configuration file ?Usual Configuration FormatsSort: