6 ms·
I previously argued that TOML wasn't good enough in this blog post https://dystroy.org/blog/hjson-in-broot/ https://dystroy.org/blog/hjson-in-broot/ where I sho
by dystroy 3y ago
I previously argued that TOML wasn't good enough in this blog post https://dystroy.org/blog/hjson-in-broot/ https://dystroy.org/blog/hjson-in-broot/ where I show an example of problem which frequently hurts my users and leaves them lost without even understanding that the problem is in how they wrote their TOML.
I moved the configuration of several of my programs to Hjson. There are still problems but they're less puzzling. Hjson isn't ideal either but might still be the best configuration format we have today.
- throwawee 3y agoThank you for introducing me to Hjson. I've been using simple colon delimited lists which seem to be, hilariously enough, already valid Hjson.
- dystroy 3y agoA lot of formats are Hjson compatible, notably JSON, and also what users wrote thinking it was JSON but they forgot some quotes or had a trailing comma so the JSON parser refuses it while the Hjson one is perfectly happy.
- eviks 3y agohjson is indeed more H vs json You've mentioned in the blog that ": it's meant to be written by humans, read and modified by other humans, then read by programs", but is it possible for apps to (roundtrip)-edit those configs preserving all the human syntax intact? It's rather common for apps to e.g. have font size changed, but unfortunately also common to destroy human formatting in the process
- dystroy 3y agoThis is theoretically possible, and I actually toyed with the idea. I didn't do it in my deserializer because of the big value you have in Rust in being compatible with serde and that wouldn't be. But this would be interesting, probably as an side library.
- ftrobro 3y agoRoundtrips without destroying comments or formatting is supported in the JavaScript, Go and C++ implementations of Hjson, but not in the other implementations (I think).
- moogly 3y agoHjson is also the format I use for all my things. Strikes a good balance.